WAR deploy to Eclipse Tomcat server is different from WAR build with Gradle

Trouble is - I’m finding it really hard to work out what’s reported already and what isn’t - I haven’t got all of the terminology right (in Gradle, Buildship, or Eclipse) so I’m finding it hard to search for reported bugs.

  1. I believe there is a limitation in Eclipse that a project’s Deployment Assembly cannot reference folders/files that are outside of the project. What I mean is, the source-path attribute in <wb-resource> tags in .settings/org.eclipse.wst.common.component is only relative to the project. That appears to be something that will add difficulty to making snippet of code I started this thread with work.

  2. As a workaround I made a Gradle create link in the Eclipse project. That exposed the issue I described here: Eclipse linked folder added with extra '_' after every Gradle refresh - which Donát has already kindly made into a bug report.

  3. And while implementing that workaround I found that the making Gradle make the source-path attribute in <wb-resource> refer to a linked folder did not work. So after searching around I had to implement another work-around in order to make the first work-around work: which is to tinker with the XML using eclipse.wtp.component.file.withXml instead of using the more logical/simple eclipse.wtp.component.resource.

Other people have documented this set of issues, and documented the workarounds - I claim no credit for that.

All in all - using a resource in one project in an Eclipse managed Tomcat of another project is exposing quite a few limitations and bugs - and my build.gradle has is getting close to having more comments saying why each workaround is necessary than actual code :-/

Hopefully this post brings together a group of related limitations and issues into one thread.