@@ -899,89 +899,85 @@ func CreateAssetsData(assetsFS embed.FS, permissions map[string]int) (assetsPath
899
899
// Return the absolute version of existing asset paths.
900
900
tempPath , err = filepath .Abs (TempPath )
901
901
if err != nil {
902
- logrus .Errorf ("Unable to make the temporary directory path %q absolute. Error: %q" , tempPath , err )
903
- return "" , "" , "" , err
902
+ return "" , "" , "" , fmt .Errorf ("failed to make the temporary directory path '%s' absolute. Error: %w" , TempPath , err )
904
903
}
905
904
remoteTempPath , err = filepath .Abs (RemoteTempPath )
906
905
if err != nil {
907
- logrus .Errorf ("Unable to make the temporary directory path %q absolute. Error: %q" , tempPath , err )
908
- return "" , "" , "" , err
906
+ return "" , "" , "" , fmt .Errorf ("failed to make the remote temporary directory path '%s' absolute. Error: %w" , RemoteTempPath , err )
909
907
}
910
908
assetsPath , err = filepath .Abs (AssetsPath )
911
909
if err != nil {
912
- logrus .Errorf ("Unable to make the assets path %q absolute. Error: %q" , assetsPath , err )
913
- return "" , "" , "" , err
910
+ return "" , "" , "" , fmt .Errorf ("failed to make the assets path '%s' absolute. Error: %w" , AssetsPath , err )
914
911
}
915
912
916
913
// Try to create a new temporary directory for the assets.
917
914
if newTempPath , err := os .MkdirTemp ("" , types .AppName + "*" ); err != nil {
918
- logrus .Errorf ("Unable to create temp dir . Defaulting to local path." )
915
+ logrus .Errorf ("failed to create a temporary directory for the assets . Defaulting to the local path '%s' . Error: %q" , tempPath , err )
919
916
} else {
920
917
tempPath = newTempPath
921
918
assetsPath = filepath .Join (newTempPath , AssetsDir )
922
919
}
923
920
924
921
// Try to create a new temporary directory for the remote source folders.
925
922
if newTempPath , err := os .MkdirTemp ("" , types .AppName + "*" ); err != nil {
926
- logrus .Errorf ("Unable to create temp dir . Defaulting to local path." )
923
+ logrus .Errorf ("failed to create a temporary directory for the remote sources . Defaulting to the local path '%s' . Error: %q" , remoteTempPath , err )
927
924
} else {
928
925
remoteTempPath = newTempPath
929
926
}
930
927
931
928
// Either way create the subdirectory and untar the assets into it.
932
929
if err := os .MkdirAll (assetsPath , DefaultDirectoryPermission ); err != nil {
933
- logrus .Errorf ("Unable to create the assets directory at path %q Error: %q" , assetsPath , err )
934
- return "" , "" , "" , err
930
+ return "" , "" , "" , fmt .Errorf ("failed to create the assets directory at path '%s' . Error: %w" , assetsPath , err )
935
931
}
936
932
if err := CopyEmbedFSToDir (assetsFS , "." , assetsPath , permissions ); err != nil {
937
- logrus .Errorf ("Unable to untar the assets into the assets directory at path %q Error: %q" , assetsPath , err )
938
- return "" , "" , "" , err
933
+ return "" , "" , "" , fmt .Errorf ("failed to untar the assets into the assets directory at path '%s' . Error: %w" , assetsPath , err )
939
934
}
940
935
return assetsPath , tempPath , remoteTempPath , nil
941
936
}
942
937
943
938
// CopyEmbedFSToDir converts a string into a directory
944
939
func CopyEmbedFSToDir (embedFS embed.FS , source , dest string , permissions map [string ]int ) (err error ) {
945
- f , err := embedFS .Open (GetUnixPath (source ))
940
+ sourceUnixPath := GetUnixPath (source )
941
+ f , err := embedFS .Open (sourceUnixPath )
946
942
if err != nil {
947
- logrus .Errorf ("Error while reading embedded file : %s" , err )
948
- return err
943
+ return fmt .Errorf ("failed to open the embedded source file '%s' . Error: %w" , sourceUnixPath , err )
949
944
}
950
945
finfo , err := f .Stat ()
951
946
if err != nil {
952
- logrus .Errorf ("Error while reading stat of embedded file : %s" , err )
953
- return err
947
+ return fmt .Errorf ("failed to stat the embedded source file '%s' . Error: %w" , sourceUnixPath , err )
954
948
}
955
949
if finfo != nil && ! finfo .Mode ().IsDir () {
956
- permission , ok := permissions [GetUnixPath ( source ) ]
950
+ permission , ok := permissions [sourceUnixPath ]
957
951
if ! ok {
958
- logrus .Errorf ("Permission missing for file %s . Do `make generate` to update permissions file." , dest )
952
+ logrus .Errorf ("permissions missing for the file '%s' . Do `make generate` to update permissions file." , dest )
959
953
}
960
954
df , err := os .OpenFile (dest , os .O_RDWR | os .O_CREATE | os .O_TRUNC , os .FileMode (permission ))
961
955
if err != nil {
962
- logrus .Errorf ("Error while opening temp dest assets file : %s" , err )
963
- return err
956
+ return fmt .Errorf ("failed to open the temporary dest assets file '%s' . Error: %w" , dest , err )
964
957
}
965
958
defer df .Close ()
966
959
size , err := io .Copy (df , f )
967
960
if err != nil {
968
- logrus .Errorf ("Error while copying embedded file : %s" , err )
969
- return err
961
+ return fmt .Errorf ("failed to copy the embedded file. Error: %w" , err )
970
962
}
971
963
if size != finfo .Size () {
972
964
return fmt .Errorf ("size mismatch: Wrote %d, Expected %d" , size , finfo .Size ())
973
965
}
974
966
return nil
975
967
}
976
968
if err := os .MkdirAll (dest , DefaultDirectoryPermission ); err != nil {
977
- return err
969
+ return fmt . Errorf ( "failed to create the destination directory at '%s' . Error: %w" , dest , err )
978
970
}
979
- dirEntries , err := embedFS .ReadDir (GetUnixPath ( source ) )
971
+ dirEntries , err := embedFS .ReadDir (sourceUnixPath )
980
972
if err != nil {
981
- return err
973
+ return fmt . Errorf ( "failed to read the destination directory at '%s' . Error: %w" , dest , err )
982
974
}
983
975
for _ , de := range dirEntries {
984
- CopyEmbedFSToDir (embedFS , filepath .Join (source , de .Name ()), filepath .Join (dest , removeDollarPrefixFromHiddenDir (de .Name ())), permissions )
976
+ t1Src := filepath .Join (source , de .Name ())
977
+ t1Dest := filepath .Join (dest , removeDollarPrefixFromHiddenDir (de .Name ()))
978
+ if err := CopyEmbedFSToDir (embedFS , t1Src , t1Dest , permissions ); err != nil {
979
+ logrus .Errorf ("failed to copy the embedded directory from '%s' to '%s' . Skipping. Error: %q" , t1Src , t1Dest , err )
980
+ }
985
981
}
986
982
return nil
987
983
}
0 commit comments