While gomake by and large solves the issues I set out to solve there are some new ideas I have that I would like to explore.
- The
.gomake folder name in some cases (IDEs / gopls) tends to cause issues because of it's "hidden" name
- Starting a brand new project it would be nice to create just 2 files,
go.mod & makefile.go in the root of the project.
- Instead of using the
main package we have the user create their makefile with whatever package seems relevant. It could be makefile or projectfoo, or microservicea, etc... this has the added benefit of allowing any exported members to be used in other "makefiles" and no errors returned from IDEs when makefile_generated.go does not exist.
- Now instead of having one big
.gomake folder that does everything for an entire monorepo we have many smaller makefile.go files
- Similar to mage we will store
makefile_generated.go and the built binary in the users home directory out of the way somewhere
While gomake by and large solves the issues I set out to solve there are some new ideas I have that I would like to explore.
.gomakefolder name in some cases (IDEs / gopls) tends to cause issues because of it's "hidden" namego.mod&makefile.goin the root of the project.mainpackage we have the user create their makefile with whatever package seems relevant. It could bemakefileorprojectfoo, ormicroservicea, etc... this has the added benefit of allowing any exported members to be used in other "makefiles" and no errors returned from IDEs whenmakefile_generated.godoes not exist..gomakefolder that does everything for an entire monorepo we have many smallermakefile.gofilesmakefile_generated.goand the built binary in the users home directory out of the way somewhere