Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: converted to 1.6 markup

...

ATM we've got a problem with releases. They take too long to cut and check since there's lots and lots of little things that good Jakarta Commons releases should have that maven Maven 1 doesn't do by default. This is the shopping list. Please help to fill it up.

...

Consistent Line Endings

Having windoz Windows line endings in the zip and *nix in the tar.gz would make many windoz Windows users happy.

Status: Maven 2's assembly plugin lets you group filesets with a particular line ending and file mode, but these are not treated differently between zip and tar.gz without recreating the descriptor. I prefer this operation - making the main text files and batch files CRLF, shell scripts LF, and everything else untouched. Modern editors on both systems work with either, so all we need is for notepad to be able to read the .txt files, really.

The maven 1 dist plugin has been patched (in svn, pending 1.7 release) to support configurable filters for both crlf and lf conversion. CRLF is applied only in zip archives, lf (if present) afterwards. See http://jira.codehaus.org/browse/MPDIST-28.

Accurate Building Against 1.3

...

(More Info) It feels like the 'maven way' would be to specify the target JVM in the POM. Of course, it's not that easy. One of the wrinkles is that it may be that the way I've always done targetted targeted releases (using a JVM of the current vintage) is not actually the right way. The problem is that older compilers may have bugs which have been addressed in later releases. So, AFAIK the best advice is to use -bootclasspath set and then use a modern JVM with the correct flags set.

Alternatively, in m1, maven.compile.executable can be set to force compilation on a specific jdk. The jar plugin (or comparable m2 thingy) should be able to record the correct jdk version in the manifest (m1 cannot do this currently).

IDE Friendly Source And Javadoc Jars

...

Status: releases can be put in the repository, possibly an apache plugin should symlink these together.

Response: an Apache plugin sounds like a very good idea (if you're suggesting what I think you are) - would the Apache plugin handle the details of the Apache distribution layout (all those symlinks and so on down into binary and source directories)? If so, would it be possible to make this all a single operation?

Comment: If deployment is to be automatic, it needs to remove the old deployed version.

Versioned Release Documentation

Given that we keep a large number of old releases around and there are a lot of old commons releases in circulation, we like to upload the documentation as it was at the state of the release to a versioned directory on the site. So, for example, commons/collections/3.0/ might contain the documentation that was shipped with collections-3.0.

Comment: Or put the javadoc in a separate location to the site.

Multiproject Site problems

Brett has written on a solution to improve the multiproject site: http://maven.apache.org/plugins/maven-assembly-plugin/descriptor.html (above link looks misplaced - not clear what this has to do with site generation)

  • Individual commons component sites must be able to be built independently and fully from svn and source distributions
  • Commons component sites need to share a common look and feel, which may not be the same as the maven-supplied default
  • Commons component sites need to share common navigation elements
  • Site generation must include support for versioned javadocs
  • It would be great not to have to include all of the images with all of the component sites and to reduce the size (incredible amounts of needless white space) of the generated html.

Common Release Configuration

At the moment, there's a lot of duplication in the maven.xml. Ideally, we should be able to feed any improvements made in centrally. This is becoming increasingly important as the number of components rises.

Accurate, Specification Compliant Manifests

Suspect Maven does a reasonable job on this ATM but thought it probably needs including for completeness.

It looks like implementation-vendor-id and specification-version seem to be the main problems (http://jira.codehaus.org/browse/MPJAR-51). It's becoming increasingly important that we set these attributes correctly since users are starting to want to use the extension mechanism.

Automatically generated, complete release notes

The maven 1 changelog report generates passable release notes, but needs to be customized to be complete and still lacks svn integration. We need a way to automatically generate full release notes from changes.xml or a similar store, together with additional text describing the release.