I have a multi-project build with two libraries and many war projects.
All of the war projects depend on two library projects.
I have implemented a custom task (which does jar signing) called “signature”* that depends on java plugin “jar” task, and that is a dependency of the “assemble” task:
signature.dependsOn(jar) assemble.dependsOn(signature)
The war projects refer to the libraries with this syntax:
compile project(‘:libraryA’)
compile project(':libraryB)
When the wars are built, they run the libraryA and libraryB projects build up to the “jar” task but does not perform the “signature” task.
I can force the war task in the war projects to depend of the signature task:
war.dependsOn(‘:libraryA:signature’)
war.dependsOn(‘:libraryB:signature’)
But this seems inelegant.
Is there a better way to do this?
* the gradle jar signer plugin won’t work for me because I am not using an OpenPGP signature