Release a new version

with Maven's [ release plugin] to [ Maven Central] via [ Sonatype OSS Repository Hosting]:

  • note: these steps were used to release Pustefix 0.15.19, using Maven 3.0.2

  • optional: save sites pustefix@pustefixhp.schlund.de/var/www/pustefix-docs/trunk to a release directory
  • Trac roadmap: mark the current milestone as finished and move all open tickets to the next milestone.
  • set the pustefix username (to upload the site), a gpg.passphrase (to sign artifacts) and your sonatype stuff (to upload artifacts) in your .m2/settings.xml:
    <settings>
      <servers>
        <server>
          <id>pustefix</id>
          <username>pustefix</username>
        </server>
        <server>
          <id>sonatype-nexus-snapshots</id>
          <username>sonatype-user</username>
          <password>sonatype-pwd</password>
        </server>
        <server>
          <id>sonatype-nexus-staging</id>
          <username>sonatype-user</username>
          <password>sonatype-pwd</password>
        </server>
      </servers>
      <profiles>
        <profile>
          <id>release-properties</id>
          <activation>
            <property>
              <name>performRelease</name>
              <value>true</value>
            </property>
          </activation>
          <properties>                                                   
            <gpg.passphrase>gpg-passphrase</gpg.passphrase>
          </properties>
        </profile>
      </profiles>
    </settings>
    
  • make sure that all modules have the correct version: mvn clean && grep -r 0\\.15\\. . | grep -v \\.svn | grep -v 0\.15\.19-SNAPSHOT
  • make sure your checkout is committed
  • run svn up to work-around an release:prepare problem
  • mvn -B release:prepare
  • mvn release:perform

Configure Editor for your Application

  • in your application
    • add a dependency to the Editor backend to your application
    • adjust the elements in /project/editor in your project.xml to point to the editor; specify a secret.
  • in a separate editor directory
    • download and unpackadd the Editor war
    • add your application's URL (with the secret specified in the step before) to WEB-INF/editor-locations.xml
  • start both the application and the editor in a servlet container