...
None.
Performing the release
Backup https://source.sakaiproject.org/maven2/org/sakaiproject/kernel/
Be conservative. Back up the target until we are sure that Maven properly pushes the new release to the repo.
No Format |
---|
cd /var/www/html/maven2/org/sakaiproject
tar -czvf kernel-[YEARMONTHDAYHOURMINSEC].tgz kernel
|
ACHTUNG! BASE POM <distributionManagement> RELEASE REPO TARGET HAS NOT BEEN UPDATED
David: the release repo target still points to file:///tmp/maven2. Unless, the pom is updated to automate this step you must copy the Maven2 the contents of org/sakaiproject/kernel
locally to /tmp/maven2/org/sakaiproject/kernel
.
...
Backup Sakai Maven2 Repo /kernel
Create a backup copy of /kernel.
No Format |
---|
cd /var/www/html/maven2/org/sakaiproject sudo cp -R kernel kernel-[current version] |
Remove old 1.0.X SNAPSHOTS and <version> references in maven-metadata.xml files
\
bash deletesakaiartifact.bash 1.0.6-SNAPSHOT /tmp/maven2/org/sakaiproject/kernel
|
Checkout the kernel project
...
No Format |
---|
svn co https://source.sakaiproject.org/svn/kernel/branches/kernel-1.0.x/ kernel-1.0.x |
Avoid opening it 1.0.x in Eclipse; otherwise you will pollute the projects with Eclipse metadata files that will have to be deleted before performing the release. Checkout with svn (not git)
...
Note: check for Eclipse metadata files (.classpath, .project) and remove. Uncommitted versions of these files will cause mvn release:prepare
to fail.
Run integration tests
Note: not sure if we are ready for this step.
See integration test set up instructions at https://source.sakaiproject.org/svn/test-harness/trunk/xdocs/README-INTEGRATION-TESTING.txt
...
Issue the following release plugin goals:. Do a dry run first.
No Format |
---|
mvn release:prepare -DdryRun=true mvn release:clean release:prepare release:perform |
...
#set the released version to 1.0.8
#set the tag to kernel-1.0.8
#set the the new version to 1.0.69-SNAPSHOT
Should the build fail rerun the following mvn goals to restart the build:
No Format |
---|
mvn clean install mvn release:prepare |
to restart the build.
...
Trunk vs Branch releases
Not applicable for this release.
When releasing from trunk, issue the branch goal to create a new branch:
...
The release plugin will generate a 1.0.8 tag. Check it out and make sure it works, binding it against a local working copy of 2.6.x.
Refresh Maven Repo with 1.0.8, 1.0.
...
9-SNAPSHOT and 1.1-SNAPSHOT artifacts
Each new release will require placement of corresponding kernel artifacts in the Maven2 repo.
Steps:
1. Check out 1.0.x branch (1.0.69-SNAPSHOT) and perform
No Format |
---|
mvn deploy |
...
mvn -Prelease clean install deploy -DupdateReleaseInfo=true
if a SNAPSHOT:
mvn deploy
Maven will populate /tmp/maven2/org/sakaiproject/kernel with updated artifacts
SNAPSHOT refreshes
When refreshing SNAPSHOT artifacts, delete the existing artifact folder and contents before running mvn deploy
.
bash deletesakaiartifact.bash 1.1-SNAPSHOT /tmp/maven2/org/sakaiproject/kernel
No Format |
---|
#!/bin/sh
# Delete artifact folders prior to deploying Maven snapshot artifacts.
# This is necessary as Maven does not update it's metadata files correctly when an old artifact exists in the repo.
# bash deletesakaiartifact.bash [TARGET FOLDER NAME] (e.g., 1.1-SNAPSHOT) [LOCATION] (e.g. /tmp/maven2/org/sakaiproject/kernel)
# author=Anthony Whyte, arwhyte@umich.edu
TARGET=$1
LOCATION=$2
cd $LOCATION
echo "Removing ${TARGET} folders and content recursively from ${LOCATION}"
rm -rf `find . -type d -name ${TARGET}`
|
Populate Maven Repo
deploy the new artifacts to the Sakai Maven2 SNAPSHOT Repo automatically.
Populate Maven Repo
This step may be rendered obsolete if Maven can push kernel-1.0.8 to the repo target as part of the release process.
Tar up kernel artifacts. Copy to https://source.sakaiproject.org/maven2/org/sakaiproject/. Make sure backup of existing /kernel directory is in place. Explode tar fileDelete existing /kernel for a clean refresh. Unpack kernel-1.0.8.tgz.
No Format |
---|
tar -cvzf kernelrepo.tgz /tmpcd /var/www/html/maven2/org/sakaiproject/kernel}} copy tar -czvf kernel-[YEARMONTHDAYHOURMINSEC].tgz kernel |
copy kernelrepo.tgz
...
to
...
Maven2
...
repo
No Format |
---|
cd /var/www/maven2/org/sakaiproject rm -rf kernel tar xvzf kernelrepo-xzvf kernel-1.0.8.tgz |
Repo permissions
Make sure repo permissions are correct
...
Update 2.6.x and 2.6.0 branch poms to bind to kernel-1.0.8. File a Jira on this in order to document.
Jira Kernel project
Set 1.0.8 version to released; add 1.0.8 (tentative).
...
Update home page and Kernel page.
Inform community with email.
Example:
References
Maven Release Plugin
Maven mini-guide
J. Ferguson, "Using the Maven Release Plugin"