My application requires that a config
directory be available on the classpath when it looks for configurations files under the directory. I currently have dependencies configured like so, though this is probably not the correct way to make a directory available to my application:
dependencies { ... //runtime, compile dependencies pulled from repositories runtime files('config') }
I am using the application
plugin to create a standalone zip for my project. If my config
directory has configsubdir
, file1
, file2
, then the plugin produces a buildinstall
directory with the following structure:
| build | --|install | ----|bin | ------ projectName | ------ projectName.bat | ----|lib | ------ dependency1.jar | ------ dependency2.jar | ------|subdir | ------ file1 | ------ file2
This does not work for my application because it explicitly expects a config
directory
However, this is the directory structure that I need:
| build | --|install | ----|bin | ------ projectName | ------ projectName.bat | ----|lib | ------ dependency1.jar | ------ dependency2.jar | ----|config | ------|subdir | ------ file1 | ------ file2
How can I make gradle add another directory to the build and specify it as part of the classpath for the generated startup scripts?
Advertisement
Answer
The application plugin documentation says:
Static files to be added to the distribution can be simply added to src/dist
I would try putting your config directory into src/dist/lib
and continue adding it to your classpath with runtime files('src/dist/lib/config')
Note: working around this defect means that config has to go into /lib
under src/dist