diff --git a/mage_helpers/build.go b/mage_helpers/build.go index b27588798f936041ba7f7474134877977382a120..0a29383070a70489d039d314f6dcd97d201cfdc0 100644 --- a/mage_helpers/build.go +++ b/mage_helpers/build.go @@ -55,7 +55,7 @@ func Build(dir string, module string, isDebug bool) error { } // Copy files in handler folder - err = copyFilesToBuildDir(fullPath, outputDir) + err = copyFilesToBuildDir(fullPath, outputDir, false) if err != nil { return err } @@ -64,7 +64,16 @@ func Build(dir string, module string, isDebug bool) error { sharedDir := currentDir + "/core/utils" _, err = os.Stat(sharedDir) if err == nil { - err = copyFilesToBuildDir(sharedDir, outputDir) + err = copyFilesToBuildDir(sharedDir, outputDir, false) + if err != nil { + return err + } + } + + wkhtmltopdfDir := currentDir + "/cdk/src/lambda/wkhtmltopdf" + _, err = os.Stat(wkhtmltopdfDir) + if err == nil { + err = copyFilesToBuildDir(wkhtmltopdfDir, outputDir+"/wkhtmltopdf", true) if err != nil { return err } @@ -72,7 +81,7 @@ func Build(dir string, module string, isDebug bool) error { if isDebug { // copy env file - err = copyFilesToBuildDir(currentDir+"/.env.debug", outputDir) + err = copyFilesToBuildDir(currentDir+"/.env.debug", outputDir, false) if err != nil { return err } diff --git a/mage_helpers/file_system.go b/mage_helpers/file_system.go index b45122a72110f20cdb1ef1b55f992302f01e1195..95ed0eba7a444d36dd1cc118d1fead14fe48ac2b 100644 --- a/mage_helpers/file_system.go +++ b/mage_helpers/file_system.go @@ -36,7 +36,7 @@ func GetDirs(path string) []os.FileInfo { return dirs } -func copyFilesToBuildDir(currentDir string, buildDir string) error { +func copyFilesToBuildDir(currentDir string, buildDir string, maintainSubfolders bool) error { files, err := AllFiles(currentDir) if err != nil { return err @@ -48,7 +48,11 @@ func copyFilesToBuildDir(currentDir string, buildDir string) error { } // Copy files to build DIR - err := Copy(file, buildDir+"/"+path.Base(file)) + if maintainSubfolders { + err = Copy(file, buildDir+strings.TrimPrefix(file, currentDir)) + } else { + err = Copy(file, buildDir+"/"+path.Base(file)) + } if err != nil { return err } @@ -90,6 +94,11 @@ func Copy(src, dst string) error { } } + err = os.MkdirAll(strings.TrimSuffix(dst, path.Base(dst)), os.ModePerm) + if err != nil { + return err + } + in, err := os.Open(src) if err != nil { return err