EAR plugin feature-incomplete?


(HR) #1

I am attempting a POC to migrate from Maven to Gradle, and everything is working properly except building of the final EAR.

My EAR consists of:

  • 2 project WARs
  • 2 externals WARs (in our internal Nexus)
  • 3 EJB jars

What I want is:

  1. All 4 wars and 3 ejb-jars in the root, registered in application.xml
  2. Each war must have a real context-path (not the same as the module name)
  3. The 4 wars share lots of the same jars, I want them skinny with jars moved outside of the WARs to /lib
  4. The classpath of the WARs (in manifest) updated to reference the jars in /lib

With the maven-ear-plugin this was easy to do, set skinnyWars=true

I’ve spent 2 days trying to get it working with gradle-ear-plugin and am very stuck, the ear-plugin doesn’t support it, and nothing is documented to get it working.

Am I out of luck? Must I stick to Maven because of poor EAR support in Gradle?