I have a small Java/Gradle project. I’m using the Application plugin to create a zip distribution (using the distZip task). Using the standard configuration I get the following directories in my zip file:
/bin – The scripts to start the application go in here
/lib – Contains my project code in a JAR file and all dependency JAR files.
The trouble is that I would like a third directory: /conf where I can put my configuration files (instead of having them packaged inside my application JAR file.
I imagine that this is a pretty common requirement because things like log4j.xml and hibernate.properties would be better placed outside the JAR file. I just can’t figure out how I can customise the behavior of the Application plugin to do this however.
I revisited this problem several months later and I finally have an elegant solution. The following code should be added to the gradle file:
This adds an additional include to the distZip task. This copies the “conf” directory (including contents) into the Zip distribution.
The generated zip file contains a single directory which is the same as the project name. This is why the “into” part is required.