- Documentation (2.0.0)
- Release Notes
- Tutorials
- Reference
- Developer doc
Updating the updatesite
Once a release have been build for Ivy or IvyDE, they should be pushed to the Eclipse updatesite so that Eclipse users will be able to update automatically their installed version of Ivy or IvyDE.
This doc is in two parts, the setup of the updatesite which will be the candidate for the vote of the Ivy or IvyDE release, and the final deployment once the release is accepted.
Important note: in this doc, the released version is denoted as $VERSION (and have to be replaced accordingly in every commands), but this is the OSGi one, not the usually shown one, in particular for release candidate versions. For instance an Ivy version can be 2.0.0-RC1 but the OSGi one, and the one to use here is 2.0.0.cr1.
Build the updatesite
Push the new version
The update site svn location is there: https://svn.apache.org/repos/asf/ant/ivy/updatesite/trunk . You will update it so it will contain the new artifacts.- For an Ivy release:
The new ivy bundle have to be placed in the plugins directory of the updatesite. So you should do something like:cp ..../ivy.jar dist/plugins/org.apache.ivy_$VERSION.jar
Then Eclipse needs a feature, which will be generated at the right place with an ant target:ant generate-ivy-feature -Divy.version=$VERSION
-
For an IvyDE release:
The zip distribution needs to be unpacked into the updatesite directory:cd dist
unzip ..../org.apache.ivyde.feature-$VERSION.zip
Update the site.xml
The site.xml file in the dist directory should be edited so it will reference the new artifacts. You should just change the version number accordingly to the release.Prepare the update site
The update site is optimized: the metadata of the features are aggregated into the digest.zip, and the jar of the plugins are compressed with a better algorithm.To accomplish this task, just run at the root of your working copy of the updatesite:
- For an Ivy release:
ant optimize-ivy
-
For an IvyDE release:
ant optimize-ivyde
ant checksumAnd sign the binaries:
- For an Ivy release:
./signIvyArtifacts.sh
-
For an IvyDE release:
./signIvyDEArtifacts.sh
And finally commit your changes.
Test the updatesite
The updatesite is ready to be tested. You can deploy it where ever you want with the command:svn export https://svn.apache.org/repos/asf/ant/ivy/updatesite/trunk/dist updatesiteFor both local and remote testing, as the new jars are not yet deployed on Apache mirrors, the updatesite mirroring have to be disable.
Basically it is just about modifying the site.xml and remove the reference to the eclipse-update--xml files: remove the attribute mirrorsURL.
To let the developper community test the updatesite, you can setup a staging updatesite in your public_html directory on people.apache.org. So if you deploy it on people.apache.org, in the directory ~/public_html/staging, then the developpers should setup the updatesite with the URL http://people.apache.org/~LOGIN/staging/updatesite .
Deployment of a release
The release is accepted, so we can tag the updatesite:svn cp https://svn.apache.org/repos/asf/ant/ivy/updatesite/trunk https://svn.apache.org/repos/asf/ant/ivy/updatesite/tags/$TAGNAMEwith $TAGNAME the name of the release, so it would be either ivy-$VERSION or ivyde-$VERSION.
Then backup and deploy. On people.apache.org:
cd /www/www.apache.org/dist/ant/ivyde/
mv updatesite ~/updatesite.backup
svn export https://svn.apache.org/repos/asf/ant/ivy/updatesite/tags/$TAGNAME/dist updatesite
Deprecated updatesite
The updatesite needs to be also deployed in its deprecated location, in the IvyDE website.In your local svn working copy do:
cp updatesite/trunk/dist/digest.zip* site/ivyde/updatesiteAnd commit the changes of the website.
cp updatesite/trunk/dist/site.xml site/ivyde/updatesite
Next is the usual IvyDE website deployment:
ant generate-site-ivydeAnd on people.apache.org:
svn ci target/ivyde/updatesite
svn up /www/ant.apache.org/ivy/ivyde/updatesite