This document is intended for committers who are packaging a release. It likely won't be of much use to anyone else.

If this is the first time you're doing a release you'll need to perform some setup.

  1. Configure your SourceForge username in ~/.m2/settings.xml (see Security and Deployment Settings ). As an example, my settings.xml looks like:
    
    <settings>
      ...
      <servers>
        <server>
          <id>htmlunit-website</id>
          <username>mguillem,htmlunit</username>
          <!-- optional element:
            <password>my_login_password</password>
          -->
        </server>
        <server>
          <id>htmlunit-m2-repo</id>
          <username>mguillem,htmlunit</username>
          <!-- optional element:
            <password>my_login_password</password>
          -->
        </server>
        <server>
          <id>htmlunit-m2-repo-snapshots</id>
          <username>mguillem,htmlunit</username>
          <!-- optional element:
            <password>my_login_password</password>
          -->
        </server>
      </servers>
      ...
    </settings>
    
    

Now do this for each release:

  1. Update the version number in pom.xml
  2. Update the version number and release date in src/site/xdoc/index.xml
  3. Update the version number and release date in src/changes/changes.xml
  4. Remove pom.xml reference to any snapshot repository (needed for Maven upload request).
  5. Increase Java heap space by setting the environment variable
    MAVEN_OPTS="-Xms256m -Xmx512m"
    Then build the zip files
    mvn -up clean site assembly:assembly
  6. Upload the two zip files to SourceForge following these instructions
  7. Add a new Group in SourceForge tracker system.
  8. Assuming that everything has gone smoothly so far, make sure everything is checked in and tag the repository (to https://htmlunit.svn.sourceforge.net/svnroot/htmlunit/tags/) with a name like this "HtmlUnit-2.0" that reflects the current build version.
  9. Deploy the release to HtmlUnit Maven repository (which is synchronized with the main repository)
    mvn deploy
  10. Delete online website javadoc.
  11. Deploy the site documentation.
    mvn site:deploy
  12. Add pom.xml reference to previously removed snapshot repository.