...
Code Block | ||
---|---|---|
#For vivo languages, vitro languages, jenatools, and orcid-api-client mvn release:prepare -DreleaseVersion=$CURR -DdevelopmentVersion=$NEXT -DautoVersionSubmodules=true -DpushChanges=false #For vivo, vitro ./update-versions.sh "${CURR}" mvn -Dmessage="[maven-scm-plugin] prepare release vivovitro-${CURR}" scm:checkin -DpushChanges=false mvn -Dtag="vivovitro-${CURR}" scm:tag -DpushChanges=false ./update-versions.sh "${NEXT}" mvn -Dmessage="[maven-scm-plugin] prepare development vivovitro-${NEXT}-SNAPSHOT" scm:checkin -DpushChanges=false | ||
Note |
Expand | ||
---|---|---|
| ||
If you have more than one personal key on your GPG keyring, you can specify the correct key by adding
to the above mvn command. |
Inspect/Verify local updates:
Code Block |
---|
git diff HEAD~1
git diff HEAD~2 HEAD~1 |
These diffs should only contain changes of version numbers (from ${CURR}-SNAPSHOT to $CURR or $CURR to $NEXT) or occasionally HEAD to the current tag name ($REPO-$CURR)
Remove your local copies of VIVO artifacts to be sure of a clean build, and build the release.
#For vivo
./update-versions.sh "${CURR}"
mvn -Dmessage="[maven-scm-plugin] prepare release vivo-${CURR}" scm:checkin -DpushChanges=false
mvn -Dtag="vivo-${CURR}" scm:tag -DpushChanges=false
./update-versions.sh "${NEXT}"
mvn -Dmessage="[maven-scm-plugin] prepare development vivo-${NEXT}-SNAPSHOT" scm:checkin -DpushChanges=false |
Note | |||||||
---|---|---|---|---|---|---|---|
Your GPG passphrase may not be masked in terminal.
|
Inspect/Verify local updates:
Code Block |
---|
git diff HEAD~1
git diff HEAD~2 HEAD~1 |
These diffs should only contain changes of version numbers (from ${CURR}-SNAPSHOT to $CURR or $CURR to $NEXT) or occasionally HEAD to the current tag name ($REPO-$CURR)
Remove your local copies of VIVO artifacts to be sure of a clean build, and build the release.
Code Block |
---|
rm -rf ~/.m2/repository/org/vivoweb
# for VIVO-languages use
git checkout vivo-languages-$CURR # detached head state
# for Vitro-languages use
git checkout vitro-languages-$CURR # detached head state
# for VIVO use
git checkout vivo-$CURR # detached head state
# for Vitro use
git checkout vitro |
Code Block |
rm -rf ~/.m2/repository/org/vivoweb
git checkout $REPO-$CURR # detached head state
mvn clean install |
...
Code Block | ||||
---|---|---|---|---|
| ||||
#release configuration projectVersionPolicyId=default project.rel.org.vivoweb\:vitro-installer-home=1.1112.1 project.rel.org.vivoweb\:checkstyle=1.11.1 project.dev.org.vivoweb\:vitro-home=1.1112.2-SNAPSHOT project.dev.org.vivoweb\:vitro-webapp=1.1112.2-SNAPSHOT pushChanges=false project.rel.org.vivoweb\:vitro-project=1.1112.1 project.rel.org.vivoweb\:vitro-api=1.1112.1 project.dev.org.vivoweb\:vitro-installer=1.1112.2-SNAPSHOT remoteTagging=true scm.commentPrefix=[maven-release-plugin] project.dev.org.vivoweb\:vitro-installer-webapp=1.1112.2-SNAPSHOT project.dev.org.vivoweb\:checkstyle=1.11.2-SNAPSHOT project.dev.org.vivoweb\:vitro-api=1.1112.2-SNAPSHOT project.rel.org.vivoweb\:vitro-dependencies=1.1112.1 project.dev.org.vivoweb\:vitro-project=1.1112.2-SNAPSHOT scm.url=scm\:git\:git@github.com\:vivo-project/Vitro.git scm.tagNameFormat=@{project.artifactId}-@{project.version} project.rel.org.vivoweb\:vitro-installer-webapp=1.1112.1 project.rel.org.vivoweb\:vitro-home=1.1112.1 scm.tag=vitro-1.1112.1 project.rel.org.vivoweb\:vitro-webapp=1.1112.1 project.dev.org.vivoweb\:vitro-installer-home=1.1112.2-SNAPSHOT project.dev.org.vivoweb\:vitro-dependencies=1.1112.2-SNAPSHOT exec.snapshotReleasePluginAllowed=false project.rel.org.vivoweb\:vitro-installer=1.1112.1 |
Currently the remaining projects can start with this step. While gpg.keyname isn't required if you have a global key setup it is recommended. You must skip checkstyle during a deploy.
Code Block |
---|
mvn release:perform -DperformRelease -Dgoals=deploy -e -Darguments="-Dgpg.keyname=XXXXYYYYXXXXYYYY -Dcheckstyle.skip=true"
or
mvn release:perform -DperformRelease -Dgoals=deploy -e -Darguments="-Dcheckstyle.skip=true" |
Note | |||||||
---|---|---|---|---|---|---|---|
As before, your GPG passphrase may not be masked in terminal.
|
...
Push Release Branch to develop and Maintenance
The release branch has changes made since code freeze. It also contains the update to the version numbers for future development.
...
Ensure that your commit history matches the release branch's commit history, except for the two additional commits.
- Changing from SNAPSHOT version to release version. Something like [maven-release-plugin] prepare release $REPO-$CURR
- Changing from release version to next development version. Something like [maven-release-plugin] prepare for next development iteration
If this appears correct, you can push your release branch on to the maintenance branch.
...