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: [email protected]
For additional commands, e-mail: [email protected]