Apache Isis consists of a number of separately releasable modules; see the main release process documentation for full details. All the non-core components depend on the core, and use the core's parent pom.xml as their parent pom.

Unless otherwise stated, you should assume that the steps described here are performed in the base directory of the module being released.

Prerequisites

Before you start, make sure you've defined the snapshots repo in your local ~/.m2/settings.xml file:

<settings>
  <servers>
    <!-- To publish a snapshot of some part of Maven -->
    <server>
      <id>apache.snapshots.https</id>
      <username>xxxxxxx</username>
      <password>yyyyyyy</password>
    </server>
    ...
  </servers>
  ...
</settings>

where xxxxxxx and yyyyyyy are your Apache LDAP username and password. For more information, see these ASF docs.

It is also possible to configure to use .ssh secure keys, and thereby avoid hardcoding your Apache LDAP password into your .m2/settings.xml file. A description of how to do this can be found, for example, here.

Sanity Check

Before deploying the snapshot, perform a quick sanity check.

First, delete all Isis artifacts from your local Maven repo:

rm -rf ~/.m2/repository/org/apache/isis

Next, check that the releasable module builds independently. The build process depends on whether the artifact is of Isis core or of one of its components:

Deploy All Modules

Deploy all modules using:

mvn -D deploy=snapshot deploy

This will deploy all the modules that make up a release.

To confirm that they are present, browse to Apache's Nexus repository manager and search for "isis".

Depending on the module being released, the deploy process could take a long time. Go grab a bite of lunch.