atc0005 / learn

Various topics that I want to learn more about, either for professional development or for my own use
0 stars 0 forks source link

Make(file) alternatives #58

Open atc0005 opened 4 years ago

atc0005 commented 4 years ago

I've seen a number of developers suggest using Makefiles to handle Go project builds (I'm learning to do this as well):

I've also seen a number of suggestions for alternative (even Go-based) tooling.

Here are some of the tools I want to look more into:

atc0005 commented 4 years ago

Mixed results. So far none of the options I've tried seem to handle cross-compiling multiple cmd/app path binaries well, but I'll keep at it.

atc0005 commented 4 years ago

https://sahilm.com/makefiles-for-golang/

Might just stick with make after all.

atc0005 commented 4 years ago

Might give this another look as well.

atc0005 commented 4 years ago

FWIW, the Terraform project uses a Makefile as the entry point and a shell script to perform the actual build:

atc0005 commented 4 years ago

I've already gone through and tested multiple packages and I thought, created a test branch for them where I recorded the work done thus far. Digging around now I'm not finding the files; kuddos to me for stuffing them into a closest and forgetting which cobwebs they're hiding behind.

atc0005 commented 4 years ago

See also atc0005/bridge#45

atc0005 commented 4 years ago

I've already gone through and tested multiple packages and I thought, created a test branch for them where I recorded the work done thus far. Digging around now I'm not finding the files; kuddos to me for stuffing them into a closest and forgetting which cobwebs they're hiding behind.

Found it:

https://github.com/atc0005/bridge/tree/test-makefile-alternatives

atc0005 commented 4 years ago

Relevant:


atc0005 commented 4 years ago

Note: I'm using atc0005/bridge for further tinkering with this idea, specifically atc0005/bridge#45.

As of this writing, I used the i45-further-makefile-replacement-testing branch to do further testing with https://github.com/taskctl/taskctl (putting it on hold for now) and am just beginning to tinker with https://github.com/goreleaser/goreleaser.

Will test further in that direction, as the project is active and the lead developer seemed approachable in the past.