Skip to content

Creating a new release

Emanuele Tajariol edited this page Oct 28, 2020 · 2 revisions
  • Update all pom files to the new release.
    You can use this command line, provided you have the xmlstarlet program installed. Also, edit the FROM and TO variables:

    FROM=3.4-SNAPSHOT;TO=3.4.5; for pom in $(find -name pom.xml); do xmlstarlet ed --inplace -P -N m=http://maven.apache.org/POM/4.0.0 --var FROM "'$FROM'"  -u '/m:project/m:version[text()=$FROM]' -v ${TO} -u '/m:project/m:parent/m:version[text()=$FROM]' -v "$TO" -u '/m:project/m:properties/m:geofence-version[text()=$FROM]' -v "$TO" $pom ; done
    
  • Make sure the new version has been properly updated by building the project

    mvn clean install
    
  • Add and commit the new poms:

    git add .
    git commit -m "Release 3.4.5"
    
  • Create a new tag:

    git tag v3.4.5
    
  • Revert to the SNAPSHOT status.
    You can use the first line, setting the proper FROM and TO vars:

     FROM=3.4.5;TO=3.4-SNAPSHOT; .....
    
  • Add and commit the updated poms:

    git add .
    git commit -m "Version 3.4-SNAPSHOT"
    
  • Push everything

    git push
    git push --tags
    
  • On the build server, build the new release

  • Retrieve the deployed war file (e.g.: https://repo.osgeo.org/repository/Geoserver-releases/org/geoserver/geofence/geofence-gui-web/3.4.5/geofence-gui-web-3.4.5.war)

  • Create a new release (https://github.com/geoserver/geofence/releases/new)

  • On the master branch, update the README with the new info (updated version, link to the binary, ...)