RSS
An RSS feed is available.
News
Dear Codehaus Cargo enthusiasts
As most of us are getting ready to say goodbye to 2020, we are happy to announce our last Codehaus Cargo release for 2020, version 1.8.3. This new version comes with many improvements and some bug fixes:
General
[CARGO-1535] -
AbstractInstalledLocalContainer#addMemoryArguments
is inconsistent with the boolean server parameter fromAbstractInstalledLocalContainer#createJvmLauncher
Containers - Jetty
[CARGO-1536] - Add support for Jetty 10.x.
Jetty 10 has changed the “inner workings” of certain portions of Jetty, we hence have a new version of the Jetty Remote Deployer WAR only for Jetty 10.[CARGO-1537] - Add support for Jetty 11.x.
Jetty 11 marks the switch from to Jakarta EE, which implies that the primary package for all implemented APIs has changed fromjavax.
tojakarta.
, we hence have a new version of the Jetty Remote Deployer WAR for Jetty 11 (onwards).
Containers - GlassFish
[CARGO-1532] - Add support for GlassFish 6.x.
Containers - Tomcat
[CARGO-1534] - Tomcat 8.x and onwards embedded local containers show a No global
web.xml
found error when starting
Containers - WildFly
[CARGO-1531] - Add support for WildFly 21.x.
[CARGO-1538] - Add support for WildFly 22.x.
Extensions - Maven 2 / Maven 3 plugin
[CARGO-1533] - Maven plug in ignores/erases proxy settings specified as system properties on the command line
To try out this latest version:
Users of the Maven 2 / Maven 3 plugin simply need to use the Codehaus Cargo plugin version 1.8.3
Users of the Java API can download the new Uberjar from https://repo.maven.apache.org/maven2/org/codehaus/cargo/cargo-core-uberjar/1.8.3/cargo-core-uberjar-1.8.3.jar
Similarly, users of the ANT tasks can download the new ANT tasks from https://repo.maven.apache.org/maven2/org/codehaus/cargo/cargo-ant/1.8.3/cargo-ant-1.8.3.jar
Finally, the ones who want to see the Cargo Daemon can get it from https://repo.maven.apache.org/maven2/org/codehaus/cargo/cargo-daemon-webapp/1.8.3/cargo-daemon-webapp-1.8.3.war and either use the WAR directly as an executable JAR or as a WAR file deployed on another Web container
And, of course, with this we also wish you a great start to the new year - Stay safe!
Dear Codehaus Cargo enthusiasts
Shortly after our 1.8.0 and 1.8.1 releases, please welcome Codehaus Cargo 1.8.2. This new version comes with many changes under the hood:
We updated our code standards to Java 8 (actually, some were long due since Java 7), including:
Conversion to the easier to read constructs such as
switch
overString
s, the beautifultry-with-resources
, the simplifiedfor-each
loops and compact multi-catch
statements.Switching to the better behaving
Collection.addAll
(instead of manual population ofList
s /Set
s) andString.join
(instead of manually createdfor
loops with booleans checking if it the first element).Please note that we didn't go crazy with Lambda expressions: they bring very little benefit in the case of a very procedural process like Codehaus Cargo's (except perhaps for the XML-related parts where we do a lot of filtering), and in case something goes wrong the stack trace is very difficult to read...
While we did these updates, we also revised the Codehaus Cargo CI and enabled Java 6-based container tests. That implied further changes under the hood, for example changes in the version compatibility for the Cargo Samples Test Data modules. These obviously do not have much "visible" impact, yet enabled us to catch some long hidden bugs! See below...
Containers - Resin:
[CARGO-1530] We fixed the bug where the Resin 3.x container didn't work:
ResinRun
was being compiled to work with Java 7 onwards (since October 2018), yet due to incompatibilities betweencom.caucho.log.EnvironmentLogger
and the behaviour described in JDK-8015098, Resin 3.x doesn't run on Java 7 and above! We hence also build the Codehaus Cargo Resin container with Java 6 as the minimum version, while Java 8 remains the standard for all others.
Lesson learnt from this release? Well, if something is not tested, one should assume it is broken...
To try out this latest version:
Users of the Maven 2 / Maven 3 plugin simply need to use the Codehaus Cargo plugin version 1.8.2
Users of the Java API can download the new Uberjar from https://repo.maven.apache.org/maven2/org/codehaus/cargo/cargo-core-uberjar/1.8.2/cargo-core-uberjar-1.8.2.jar
Similarly, users of the ANT tasks can download the new ANT tasks from https://repo.maven.apache.org/maven2/org/codehaus/cargo/cargo-ant/1.8.2/cargo-ant-1.8.2.jar
Finally, the ones who want to see the Cargo Daemon can get it from https://repo.maven.apache.org/maven2/org/codehaus/cargo/cargo-daemon-webapp/1.8.2/cargo-daemon-webapp-1.8.2.war and either use the WAR directly as an executable JAR or as a WAR file deployed on another Web container
Enjoy!
Dear Codehaus Cargo enthusiasts
As announced on our mailing list a couple days back, Apache Ant versions Codehaus Cargo heavily relies on have some security issues, potentially leaking sensitive information or even allow an attacker to inject modified source files into the Codehaus Cargo container configuration generation process.
To ease the upgrade of the Apache Ant version used, we are happy to announce Codehaus Cargo 1.8.1, which has one improvement: [CARGO-1528] - Upgrade to Apache Ant 1.9.15.
To switch to this latest version:
Users of the Maven 2 / Maven 3 plugin simply need to use the Codehaus Cargo plugin version 1.8.1
Users of the Java API can download the new Uberjar from https://repo.maven.apache.org/maven2/org/codehaus/cargo/cargo-core-uberjar/1.8.1/cargo-core-uberjar-1.8.1.jar
Similarly, users of the ANT tasks can download the new ANT tasks from https://repo.maven.apache.org/maven2/org/codehaus/cargo/cargo-ant/1.8.1/cargo-ant-1.8.1.jar
Finally, the ones who want to see the Cargo Daemon can get it from https://repo.maven.apache.org/maven2/org/codehaus/cargo/cargo-daemon-webapp/1.8.1/cargo-daemon-webapp-1.8.1.war and either use the WAR directly as an executable JAR or as a WAR file deployed on another Web container
Please also do pass this message to any projects you know of, and ensure they upgrade their Codehaus Cargo, and if require Apache Ant, dependencies.
Enjoy!
Dear Codehaus Cargo enthusiasts
We are happy to announce another jump in Codehaus Cargo’s history, version 1.8.0.
As with other such jumps, this comes with the change in the minimum Java version for Codehaus Cargo: our minimum requirement is now Java 8 (of course, you can still set the JAVA_HOME
of the container executions to “any” Java version). Differently from other times, though, the motivations for this change are different:
Contrarily to previous times, Java 7 itself is not “fully EOL” yet: Java 7’s extended support will actually last until July 2022, on the other hand the last public release of Java 7 lacks the support for the TLS 1.2 protocol - which is used by most HTTPS-based Web servers (and hence many Maven2/Maven3 repositories) today - while the “only” way to have such “modern” versions of Java 7 is to have an Oracle Extended Support subscription. That hence made Java 7 very difficult to justify for a free of charge, open source project.
In addition, some parts of Codehaus Cargo which have been backwards compatible to the level where it would be considered “ancient” finally ended up failing us: yes, I’m talking about our various WARs, used for testing and for the Cargo Ping Component, which so far had been using the DTD-based servlet 2.3 definitions. TomEE 9.x has been the first container to drop the support for such ancient servlet versions, we hence have “upgraded” these to servlet 2.4 (which dates back to 2003!), which in turn implies Codehaus Cargo’s support for the “antique” Jetty 4.x and Resin 2.x containers is now gone.
As you know, though, there are many other “old” Java containers that do not work with Java 8. For all these, our Continous Integration system takes advantage of Codehaus Cargo’s flexible JAVA_HOME
definition abilities, and hence runs these containers with Java 7 even though the core build itself (including the tests we execute) are on Java 8. For more details, have a look at how we run our Java samples and the non JDK 8 containers section of our CI configuration.
Here come the full details of what’s new with Codehaus Cargo 1.8.0:
Core
[CARGO-1520] - Upgrade various dependencies to the latest versions compatible with Java 8
[CARGO-1526] - Change the minimum servlet requirement to version 2.4
Containers - Jetty
[CARGO-1527] - Remove Jetty 4.x (as it doesn't support servlet 2.4)
Containers - Resin
[CARGO-1527] - Remove Resin 2.x (as it doesn't support servlet 2.4)
Containers - TomEE
[CARGO-1525] - Add support for TomEE 9.x
To try it out:
Users of the Maven 2 / Maven 3 plugin simply need to use the Codehaus Cargo plugin version 1.8.0
Users of the Java API can download the new Uberjar from https://repo.maven.apache.org/maven2/org/codehaus/cargo/cargo-core-uberjar/1.8.0/cargo-core-uberjar-1.8.0.jar
Similarly, users of the ANT tasks can download the new ANT tasks from https://repo.maven.apache.org/maven2/org/codehaus/cargo/cargo-ant/1.8.0/cargo-ant-1.8.0.jar
Finally, the ones who want to see the Cargo Daemon can get it from https://repo.maven.apache.org/maven2/org/codehaus/cargo/cargo-daemon-webapp/1.8.0/cargo-daemon-webapp-1.8.0.war and either use the WAR directly as an executable JAR or as a WAR file deployed on another Web container
Enjoy!
Dear Codehaus Cargo enthusiasts
The ones who follow our Web site closely most likely noticed two “silent” releases, I decided perhaps it is worthwhile to do a quick blog post and news on our mailing list so we do keep a level of transparency.
Improvement with Codehaus Cargo 1.7.15 in the Tomcat containers:
[CARGO-1522] - Support customizing the tomcat connector protocol with more classes
Improvement with Codehaus Cargo 1.7.16 in the Glassfish and Payara containers:
[CARGO-1524] - Add support for EAR name to Glassfish 3.x onwards and Payara
To try out this latest version:
Users of the Maven 2 / Maven 3 plugin simply need to use the Codehaus Cargo plugin version 1.7.16
Users of the Java API can download the new Uberjar from https://repo.maven.apache.org/maven2/org/codehaus/cargo/cargo-core-uberjar/1.7.16/cargo-core-uberjar-1.7.16.jar
Similarly, users of the ANT tasks can download the new ANT tasks from https://repo.maven.apache.org/maven2/org/codehaus/cargo/cargo-ant/1.7.16/cargo-ant-1.7.16.jar
Finally, the ones who want to see the Cargo Daemon can get it from https://repo.maven.apache.org/maven2/org/codehaus/cargo/cargo-daemon-webapp/1.7.16/cargo-daemon-webapp-1.7.16.war and either use the WAR directly as an executable JAR or as a WAR file deployed on another Web container
Enjoy!