Skip to content

Building an OSATE Release

Lutz Wrage edited this page Oct 16, 2024 · 28 revisions

Needs to be updated

Update additional repositories to correct versions!

ocarina parent pom needs to be updated manually

Update maven dependencies before building the release!

NEW_VERSION_NO=2.15.0
NEW_VERSION=$NEW_VERSION_NO.vfinal
NEXT_VERSION=2.16.0-SNAPSHOT

GIT_ROOT=$HOME/git/osate_$NEW_VERSION_NO-build

mkdir -p $GIT_ROOT
cd $GIT_ROOT

# clone repo
git clone [email protected]:osate/osate2

# create release branch
cd $GIT_ROOT/osate2
git checkout -b $NEW_VERSION_NO

# update OSATE version
mvn org.eclipse.tycho:tycho-versions-plugin:set-version -Dartifacts=osate2.main-pom -Dtycho.mode=maven -DnewVersion=$NEW_VERSION -Dproperties=osate.version

#################
# MANUAL STEP !!!
#
# set version in help and product plugin to $NEW_VERSION
# pom, manifest, product files
#################

# commit new version
cd $GIT_ROOT/osate2
git add .
git commit -m"Set OSATE version to $NEW_VERSION"

# new stable update site URL
cd $GIT_ROOT/osate2/releng/org.osate.build.product
sed -i "s/osate\/testing\/updates/osate\/stable\/${NEW_VERSION_NO}\/updates/" osate.product

# and commit the change
git add osate.product
git commit -m"Set update site to new version"

# build for all platforms
# note: passwords are encrypted here
cd $GIT_ROOT/osate2
mvn clean verify -Pfull -U -Dtycho.localArtifacts=ignore -Djgit.dirtyWorkingTree=error \
    -Djavadoc=true \
    -Dsign=true -Djarsigner.keystore=file:///home/lw/.pki/codesign.pkcs12 \
    -Djarsigner.storepass=wis18{n824hiOUTfUHUZUWe0HAyDPG3P6ZoL4/FqdUvgnk+j8=} \
    -Djarsigner.keypass=sus{lZIkq0wYx48HZrHdsUI4mc7z9RB9NdoafG8UgdFAgU8=} \
    -Djarsigner.tsa=http://timestamp.digicert.com

========== BUILD DONE ===

# copy build result to osate-build.sei.cmu.edu

========== TEST ==========

# add git tag
cd $GIT_ROOT/osate2
git tag $NEW_VERSION_NO-RELEASE

# push
cd $GIT_ROOT/osate2
git push --set-upstream origin $NEW_VERSION_NO
git push --tags

#################################
# PREPARE MASTER FOR NEXT VERSION
#################################

# switch to master branch
cd $GIT_ROOT/osate2
git checkout master && git pull

# update product version
# in parent poms and product files
cd $GIT_ROOT/osate2
mvn org.eclipse.tycho:tycho-versions-plugin:set-version -Dartifacts=osate2.main-pom -Dtycho.mode=maven -DnewVersion=$NEXT_VERSION -Dproperties=osate.version

# CAUTION: Make sure that this didn't unintentionally increase a plugin or feature version. 
# for now: manually revert the change to the help plugin version

#################
# MANUAL STEP !!!
#
# set version in help and product plugin to 2.x.90-SNAPSHOT
# pom, manifest, product files
#################

# commit new version
cd $GIT_ROOT/osate2
git add .
git commit -m"Set OSATE version to $NEXT_VERSION"

# push
cd $GIT_ROOT/osate2
git push --follow-tags

Then

  1. update API version in setup
  2. create new release for oomph version management
  • delete releng/version-management/ release.digest and release.xml