@thankful-library-32113
At 4sq, we have
- a scala_library that holds the service code and resources as dependencies.
- a jvm_binary that depends on that library, any runtime deps, and sets the main
- a jvm_app that has one dependency - the above jvm_binary.
We have some internal tasks that bundle loose resources, but that is not quite best practice and is something we are close to removing.
By default running `bundle `on a jvm_app creates a "slim jar" instead of a deployjar. 🙂
With a slim jar, your $service jar would be empty except for a classpath, and all the dependencies (including the resources) are jars found under
libs
.
If you prefer a "fatjar" you can set an 'archive' in the jvm_app BUILD file and it will create one for you (grep
Archive.TYPE_NAMES
for allowable archives)