Build

For development purposes

  1. To install to local maven repository and build war/ear files

    mvn clean install
    
  2. To install to local maven repository and prepare war/ear files with proper signing by owned certificate (You should have certificate file).

    mvn clean install -P sign
    

    Note

    For sign you need define properties in the ./webstart/certificate.properties and VALID certificate

For production and proper releases

  1. Perform required actions at CVS(Github)

    If there are uncommitted changes:

    git status
    

    And if there are uncommitted changes:

    git push origin develop
    

    Create a new git branch for the release preparations:

    git checkout -b release-<version> develop
    

    Note

    For patch releases draw the the release branch from master!

    git checkout -b release-<version> master
    

    and you might need to change the pom version from a feature version to a patch version ( Optional ) After check validity of changed poms and if right.

    If you made any changes to pom’s you need

    git commit -a -m "Bumped version number to x.x.x-SNAPSHOT"
    

    Note

    If you are working on a patch release don’t forget to set the new development version to the version the develop branch is in! (Prevents merge conflicts after the release!)

    If the release build breaks before checking in the changed poms, just re-run it. The release.properties file keeps track of where it was.

  2. Prepare codesign storage

    Note

    Signing code is only used for swing web start client. So you can freely build and use server part only.

  3. Deploy build to repository

    • To /snapshots repository. You should have SNAPSHOT version:

      mvn clean deploy -P sign
      

      or if you want to define custom settings.xml:

      mvn -s ../setings.xml clean deploy -P sign
      

      Note

      ../settings.xml there is a path to settings.xml file.

      For example like this:

      <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                                http://maven.apache.org/xsd/settings-1.0.0.xsd">
          <servers>
              <server>
                  <id>repositoryId</id>
                  <username>username</username>
                  <password>password</password>
              </server>
          </servers>
      </settings>
      
    • To /pre-releases repository the same way as for /snapshots.

      You should pre release stable version (alpha, beta, M, RC).

    • To /releases repository. You should have tested release stable version:

      mvn clean deploy -P sign,release
      
  4. Finish release at CVS(Github)

    After the successful release build we have to push the last changes to the release branch and merge the results into both master and develop branch.

    git push origin release-<version>
    
    git checkout master
    
    git pull origin master
    
    git merge release-<version>
    
    git tag -a streamflow-<version>
    
    git push origin master
    
    git checkout develop
    
    git pull origin develop
    
    git merge release-<version>
    
    git push origin develop
    

    Important

    Be sure that there are no .StreamflowServer* folders before deploying, in another case you will get lock error, in case of them remove and restart server.

Building WebForms

If you are releasing Streamflow WebForms you have to do the assembly your self

cd /target/checkout
mvn assembly:assembly

The zip-fil is located in the target folder.