@@ -18,14 +18,14 @@ type EmbeddedFiles struct {
18
18
19
19
func NewEmbeddedFiles (embedFs fs.FS , name string ) (* EmbeddedFiles , error ) {
20
20
tmpDir := filepath .Join (os .TempDir (), fmt .Sprintf ("go-embedded-%s" , name ))
21
- return NewEmbeddedFilesWithTmpDir (embedFs , tmpDir )
21
+ return NewEmbeddedFilesWithTmpDir (embedFs , tmpDir , true )
22
22
}
23
23
24
- func NewEmbeddedFilesWithTmpDir (embedFs fs.FS , tmpDir string ) (* EmbeddedFiles , error ) {
24
+ func NewEmbeddedFilesWithTmpDir (embedFs fs.FS , tmpDir string , withHashInDir bool ) (* EmbeddedFiles , error ) {
25
25
e := & EmbeddedFiles {
26
26
tmpDir : tmpDir ,
27
27
}
28
- err := e .extract (embedFs )
28
+ err := e .extract (embedFs , withHashInDir )
29
29
if err != nil {
30
30
return nil , err
31
31
}
@@ -45,16 +45,19 @@ func (e *EmbeddedFiles) GetExtractedPath() string {
45
45
return e .extractedPath
46
46
}
47
47
48
- func (e * EmbeddedFiles ) extract (embedFs fs.FS ) error {
48
+ func (e * EmbeddedFiles ) extract (embedFs fs.FS , withHashInDir bool ) error {
49
49
fl , err := e .readOrBuildFileList (embedFs )
50
50
if err != nil {
51
51
return err
52
52
}
53
53
54
54
flHash := fl .Hash ()
55
55
56
- e .extractedPath = fmt .Sprintf ("%s-%s" , e .tmpDir , flHash [:16 ])
57
-
56
+ if withHashInDir {
57
+ e .extractedPath = fmt .Sprintf ("%s-%s" , e .tmpDir , flHash [:16 ])
58
+ } else {
59
+ e .extractedPath = e .tmpDir
60
+ }
58
61
err = os .MkdirAll (filepath .Dir (e .extractedPath ), 0o755 )
59
62
if err != nil {
60
63
return err
0 commit comments