This repository was archived by the owner on Jun 26, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
How to Build a Release
gregjan edited this page Jan 7, 2013
·
9 revisions
This procedure covers both major and minor releases. Major releases generally come from the master branch, though we have the option of branching for release. Minor releases are performed on a release maintenance branch, such as 3.1.x.
- Go to the master project folder, aka workbench:
cd workbench
- or if no workbench folder has been cloned:
git clone [email protected]:UNC-Libraries/Curators-Workbench.git workbench
cd workbench
- Make sure you are on the correct branch and have no outgoing/incoming changes
- Do
git checkout <branch>
, where branch is master or a minor release branch like 3.1.x - Do
git pull
- Do
git status
- Set the email and user name for the local git repository, if not already set
git config -l
git config user.email <your eclipse commiter email address>
git config user.name <your name>
- Check license headers
mvn license:check
-
vim pom.xml
- edit parent POM until license exclusions are up to date -
mvn license:format
- apply license header to remaining files git commit
- Update branding:
- splash image: workbench_plugin/splash.bmp from splash.xcf
- about text: workbench_plugin/plugin.xml
- about dialog text: eclipse-repository/workbench.product
- Create a local release branch (just creating it, not checking it out yet)
git branch workbench-<version>
- This local branch will not be pushed to the remote repository. It is just a local branch used for this release process.
- Update the checked out branch pom files to the next -SNAPSHOT version.
-
mvn versions:set -DnewVersion=<version+1>-SNAPSHOT -DgenerateBackupPoms=false
(inserts new version into POMs. increment the proper version digit) - Use
sed
to update MANIFEST.MF to the next version: sed -i "s/<release version>.qualifier/<version+1>.qualifier/g" */META-INF/MANIFEST.MF
- Update version in workbench_feature/feature.xml
git commit -s -a -m "new version <version+1>-SNAPSHOT"
git push
- checkout the local release branch you created above
git checkout workbench-<version>
- update checked out release branch pom files to the release version.
-
mvn versions:set -DnewVersion=<version> -DgenerateBackupPoms=false
- insert release version into POMs - Use
sed
to update MANIFEST.MF to the release version without a qualifier: sed -i "s/<release version>.qualifier/<release version>/g" */META-INF/MANIFEST.MF
- Update version in workbench_feature/feature.xml
- deploy the release artifacts to Artifactory
mvn clean deploy
- commit and tag your changes
git commit -s -a -m "new release <release version>"
git tag <release version>
- push the release tag
git push origin <release version>
- remove release branch if you intend to keep the local git repository
-
git checkout <working-branch>
- switch back to master or preferred branch (you cannot delete the current branch) git branch -D workbench-<version>