Is there/shouldn't there be a way of running Gradle from a production location?


(Mike Rodent) #1

This follows on from my previous question.

Scenario: I’ve done an installDist, which sets up the /lib and /bin directories in what I’ll call a “production directory”.

But since this is on the same machine as the one where GRADLE_USER_HOME is located, wouldn’t it be “nice” to use the .jars already present there, and not have to duplicate them?

One of the things that makes *nix so superior to another, proprietary, OS is package management. Shouldn’t Gradle be able to offer something analagous? Otherwise, each time you installDist to a “production location” you are sending a whole load of executable .jars which are being duplicated.

I’m suggesting, instead, that there should be a distribution Task which instead just sends the executable .jar of your actual app (with any other specific resources) … and also a build.gradle file (or maybe it might be called run.gradle). This would then contain a single Task, runProduction maybe, which unlike the application plugin’s run would not be dependent on build. But, because Gradle would be handling things it would be able to use the executable .jars in GRADLE_USER_HOME.

Am I the only person who finds the present setup a little bit inelegant? Or maybe such an option does in fact exist???