Specify a File Bundle
Problem
You're create a jvm_app
target definition for bundling a Scala or Java project and you want to include assets such as config files or shell scripts in the bundle.
Solution
Add a bundles
list to your jvm_app
target definition (more info on jvm_app
definitions can be found in Define a Scala or Java Bundle Target).
Discussion
Here is an example jvm_app
definition that shows different possibilities for defining file bundles (and explains them below):
jvm_app(name='bundle', bundle(fileset=rglobs('src/main/resources/*')), # 1 bundle(fileset=globs('config/*') - globs('*.xml'), # 2 bundle(relative_to='src', fileset=globs('src/scripts/*.sh')) # 3 )
- The
rglobs
definition will recursively include all files in thesrc/main/resources
directory, including all sub-directories. More info can be found in Use globs and rglobs to group files. - All files in the
config
directory are included except any.xml
files. - All
.sh
files in thesrc/scripts
directory will be included. Therelative_to
effectively strips away the specified directory, in this casesrc
, which means that all files insrc/scripts
would end up in the root of the bundle. If you specifiedrelative_to='src/scripts'
instead, for example, all files would end up in the root directory.
See Also
Generated by publish_docs
from dist/markdown/html/src/docs/common_tasks/file_bundles.html 2018-05-03T17:02:32.371935