Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Your GPG passphrase may not be masked in terminal.

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
titleHave more than one GPG key. Click here to expand...

 If you have more than one personal key on your GPG keyring, you can specify the correct key by adding

Code Block
-Darguments=-Dgpg.keyname=<Your Key ID>

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.

Expand
titleHave more than one GPG key. Click here to expand...

 If you have more than one personal key on your GPG keyring, you can specify the correct key by adding

Code Block
-Darguments=-Dgpg.keyname=<Your Key ID>

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.

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
titleVitro - release.properties
linenumberstrue
#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.

Expand
titleHave more than one GPG key. Click here to expand...

 If you have more than one personal key on your GPG keyring, you can specify the correct key by adding

Code Block
-Darguments=-Dgpg.keyname=<Your LONG FORM Key ID>

to the above mvn command.


...

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. 

  1. Changing from SNAPSHOT version to release version. Something like [maven-release-plugin] prepare release $REPO-$CURR
  2. 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.

...