docker-gradle icon indicating copy to clipboard operation
docker-gradle copied to clipboard

It's possible to include GNU Make in the docker images?

Open reinielherrera opened this issue 4 years ago • 6 comments

Make is shipped with almost every linux distributions, so would be really great if we can use it here

reinielherrera avatar Jun 18 '20 01:06 reinielherrera

Would you mind describing your use case a bit? I ask this anytime someone asks for a new package so we don't end up with a giant image and have good rationale around any additions.

keeganwitt avatar Jun 18 '20 02:06 keeganwitt

Thanks for replying, the idea would be use GNU Make like a layer of abstraction and standardization. I've used this tool in almost every project i've working on, and provides pretty good results in the terms mentioned before, also in our line of work is something widely know so people wont get stuck when working on the project for the first time. Is a pretty small package (https://packages.debian.org/stretch/make), maybe would be a good asset to add. We can ask around to see if is widely used or not...

Thanks for your consideration

reinielherrera avatar Jun 18 '20 13:06 reinielherrera

Yea, I wasn't concerned about the size of any particular one package ask, just more to make sure we make sane choices so we don't end up with dozens of little packages over time.

Just to make sure I understand your use case, you use Make to invoke Gradle to provide a standard set of Make tasks so your users didn't have to be aware of whether it's Gradle or some other build system underneath?

keeganwitt avatar Jun 19 '20 02:06 keeganwitt

Yes, I have been using the Make commands when I have programmed with Maven, Gradle and basically any other tool, in this way I guarantee that all projects keep the same ways of execution

reinielherrera avatar Jun 19 '20 14:06 reinielherrera

I'm still thinking about where the line should be drawn. One could imagine requests for similar use cases, but with Bazel, Scons, Ant, Ninja, Pants, Buck, or other tools I'm not thinking of rather than Make. This request doesn't seem completely unreasonable, but it also doesn't seem appropriate to include every possible tool. And of course it's possible low level tools like Make might require other commands for their execution that are also not currently installed (jq, etc).

This use case kind of reminds me of a talk I saw about Netflix's Newt tool, which configures Docker and runs whatever image and command is appropriate for the language being built. It makes me wonder if it'd work equally well to have the wrapper run outside the context of the image containing the build tool (though I'm not sure how your environments are configured).

keeganwitt avatar Jun 21 '20 01:06 keeganwitt

Would it work for your use case to use this image as a base image? Or run Make outside the context of Docker?

keeganwitt avatar Jun 30 '20 17:06 keeganwitt