All,

I've been chatting on and off over the last few weeks with some folks at
$work that make extensive use of Tomcat embedded and for whom any issues
with the JAR references in the Maven POM (such as [1]) are a real pain.

The root cause of the issue is that the small (~2MB) Eclipse compiler
(JDT) JAR we use is not officially released to Maven Central by Eclipse.
One or more volunteers upload the JAR and it typically appears 2-4 weeks
after the Eclipse release.

There is a larger JAR (5.3MB) with contains the same functionality that
is officially uploaded by Eclipse. It usually appears in Maven Central
sooner that the smaller JAR.

Having discussed the pros and cons of various options I would like to
propose the following approach to be used when updating our dependency
on JDT.

1. Tomcat releases will always package the 'small' JDT JAR as they do
   today.

2. The POMs that we use when we upload a release to Maven Central will
   always include references to valid JARs that are known to already
   exist in Maven central.

3. We will not normally update Tomcat's dependency on JDT until the
   'small' JAR is available in Maven Central.

4. If we need to update the JDT dependency before the 'small' JAR is
   available in Maven central (e.g. security issue, access new features
   such as Java 9 support for testing etc.) then we will use the
   following fallback options for the POM references:
   - if the 'small' JDT JAR is not available, use the 'large' one
   - if neither the 'small' nor the 'large' JDT JARs are available
     continue to reference the pre-upadte version of the 'small' JDT
     JAR

5. The changelog should make clear which dependencies have been updated
   and which have not.

6. The tomcat-embedded-jasper.pom will continue to reference the
   'small' Eclipse JAR as a non-optional dependency by default.

I'll add this to a wiki page so we can reference it in the
build.properties.default file etc. Obviously this is only a proposal at
this stage. Feedback, questions alternative approaches etc. welcome.

Mark

[1] https://issues.apache.org/bugzilla/show_bug.cgi?id=50604

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to