Jump to: navigation, search

Difference between revisions of "Jetty/Contributor/Releasing"

Line 6: Line 6:
== Update Eclipse Project Plan ==
== Update Eclipse Project Plan ==
Do this in CVS before any release.
Do this in the git admin repository before any release.
== Releasing Artifacts ==
== Releasing Artifacts ==

Revision as of 12:09, 16 August 2011

The Jetty project uses Apache Maven to build and release its software artifacts. This terminology is oft confused with the release process of projects within Eclipse so we are endeavoring to bridge these differences. We are still working out the process for releasing Jetty in the Eclipse definition of the word; this will be documented once we are there.

Maven Related Instructions

Update Eclipse Project Plan

Do this in the git admin repository before any release.

Releasing Artifacts

COMMITTER_ID=<committer id>
mvn -Dusername=$COMMITTER_ID -DautoVersionSubmodules=true release:prepare
mvn release:perform

The released artifacts will be staged to oss.sonatype.org where they await promotion when they will be released to the maven central repository. More on this later.

Building and Deploying Aggregate Docs

Define the jetty.eclipse.website server entry in your .m2/settings.xml file. You'll need to have access to the dev.eclipse.org machine to perform these actions. If you don't know if you have access to this then you probably don't and will need to ask a project leader for help.

To build and deploy the aggregate javadoc and jxr bits:

cd target/checkout
mvn -Paggregate-site javadoc:aggregate jxr:jxr
mvn -N site:deploy

This will generate the aggregate docs and deploy them to the /home/www/jetty/<project version>/jetty-project directory on download.eclipse.org. The last step is to ssh to that machine and adjust the placement of the apidocs and xref directories to remove the jetty-project folder from the url so that we maintain a clean and consistent api url scheme.

ssh $COMMITTER_ID@dev.eclipse.org
cd /home/data/httpd/download.eclipse.org/jetty/<VERSION>
mv jetty-project/apidocs .
mv jetty-project/xref .
rmdir jetty-project

End result should be api documents accessible from http://download.eclipse.org/jetty/<project version>/api-docs and http://download.eclipse.org/jetty/<project version>/xref

Deploying distribution files to download.eclipse.org

  • download the files in http://repo2.maven.org/maven2/org/eclipse/jetty/jetty-distribution/VERSION into a directory called 'dist':
   mkdir /tmp/dist
   cd /tmp/dist
   wget -nd -nH -r -l1 https://oss.sonatype.org/content/groups/jetty-with-staging/org/eclipse/jetty/jetty-distribution/<VERSION>
   rm Sonatype-content.css* index.html
   cd ..
   scp -r dist <user>@dev.eclipse.org:/home/data/httpd/download.eclipse.org/jetty<VERSION>
  • update website links

Do a Codehaus release ASAP

Make sure a codehaus release is built and staged before the jetty release is promoted.


Test jetty, hightide and the plugin. A good test line to run is:

 java -Dcom.sun.management.jmxremote -jar start.jar \
 OPTIONS=ajp,rewrite \
 --pre=etc/jetty-jmx.xml \
 --pre=etc/jetty-logging.xml \
 etc/jetty-ajp.xml \
 etc/jetty-bio.xml \
 etc/jetty-bio-ssl.xml \
 etc/jetty-debug.xml \
 etc/jetty-ipaccess.xml \
 etc/jetty-rewrite.xml \
 etc/jetty-ssl.xml \

Updating the stable links

Since we are not allowed to have symbolic links on the download site we have to log into the machine manually and remove the previous stable directory and 'cp -r <verison> stable-7' to get it updated. Maintaining the conventions we use on the site will allow all 'stable' links to be stable and not needed to update to the latest major Jetty build version:

ssh <user>@dev.eclipse.org
cd /home/www/jetty/
rm -fr stable-7
cp -r <version> stable-7

Updating the Eclipse websites downloads page

The Eclipse website is in CVS, viewable from http://dev.eclipse.org/viewcvs/index.cgi/www/jetty/?root=Eclipse_Website. Access details are:

Repository Path 
(committer username)
(committer password)
Connection Type 

Any commits you make will automatically show up live after a few minutes.

Set up in Eclipse

  1. import projects from CVS
  2. create a new repository location
  3. use an existing module (www/jetty)

Then you can simply edit the page, and commit your changes.

Preview locally (optional)

If you want to be able to preview your changes locally, you need to have Apache running, and check out an additional module, eclipse.org-common:

Repository Path 
(leave blank)
Connection Type 
  1. cd /var/www
  2. ln -s /path/to/eclipse.org-common eclipse.org-common
  3. ln -s /path/to/www/jetty jetty

Then you'll be able to see the website on http://localhost/jetty, pre-commits.

Adding a Link to the Index on the Wiki

Update Jetty/Reference/Index of Generated Release Documents; add the newest version to the top of the page. Use the Jetty Release Document template