Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

The issue we are aiming to resolve here is primarily how to releae multi-module products.

This includes:

  • management of parent version references
  • inheritence of the version from a parent
  • implications for source control

Management of Parent Version References

The current thinking on this is that in general the parent version will not be specified in the POM and that it will be located using the current search algorithm:

  • found inside reactor
  • found using USD
  • found using the RELEASE version mechanism (as for plugins)

This prevents the need to make changes consistently to that when the parent increments its version. At the point of release, the version will be populated with what was found at the time to make the build reproducible.

...

The planned approach is to:

  • version each component
  • set the product version on the project producing the actual assembly
  • release individually (ceonceptually, the tool can actually do them at the same time as a series of individual releases)
  • assist in syncing name using the release tool if that is the desired approach of the product (eg some products like geronimo want to keep the product version in all the JARs to be able to recognise where they belong)

Implications for Source Control

While making each module independant it has implications for tagging releases, and how checking out from source control works.

Desired outcomes:

  • checking out an individual module on its own will build correctly
  • being able to check out the entire source tree for a particular release and build in one
  • tagging an entire release correctly
  • tagging an individual module is possible
  • branching an individual module is possible

Checking out an individual module

...