<html><head>
      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
   <title>Releasing Jetty</title><link rel="stylesheet" type="text/css" href="css/docbook.css"><meta name="generator" content="DocBook XSL Stylesheets V1.79.1"><meta name="keywords" content="jetty, servlet, servlet-api, cometd, http, websocket, eclipse, maven, java, server, software"><link rel="home" href="index.html" title="Jetty"><link rel="up" href="advanced-contributing.html" title="Chapter&nbsp;35.&nbsp;Contributing to Jetty"><link rel="prev" href="security-reporting.html" title="Reporting Security Issues"><link rel="next" href="release-testing.html" title="Testing a Jetty Release"><link xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" rel="shortcut icon" href="images/favicon.ico"><link rel="stylesheet" href="css/highlighter/foundation.css"><script src="js/highlight.pack.js"></script><script>
      hljs.initHighlightingOnLoad();
    </script><link type="text/css" rel="stylesheet" href="css/font-awesome/font-awesome.min.css"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><tr><td style="width: 25%"><a href="http://www.eclipse.org/jetty"><img src="images/jetty-header-logo.png" alt="Jetty Logo"></a><br><span style="font-size: small">
            Version: 9.3.28.v20191105</span></td><td style="width: 50%"></td></tr></table><div xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Releasing Jetty</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="security-reporting.html"><i class="fa fa-chevron-left" aria-hidden="true"></i> Previous</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;35.&nbsp;Contributing to Jetty<br><a accesskey="p" href="index.html"><i class="fa fa-home" aria-hidden="true"></i> Home</a></th><td width="20%" align="right">&nbsp;<a accesskey="n" href="release-testing.html">Next <i class="fa fa-chevron-right" aria-hidden="true"></i></a></td></tr></table><hr></div><div xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" class="jetty-callout"><h5 class="callout"><a href="http://www.webtide.com/">Contact the core Jetty developers at
          <span class="website">www.webtide.com</span></a></h5><p>
 private support for your internal/customer projects ... custom extensions and distributions ... versioned snapshots for indefinite support ...
 scalability guidance for your apps and Ajax/Comet projects ... development services for sponsored feature development
      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="releasing-jetty"></a>Releasing Jetty</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="releasing-jetty.html#releasing-process">Building and Staging a Releasable Version</a></span></dt><dt><span class="section"><a href="releasing-jetty.html#releasing-aggregates">Building and Deploying Aggregate Javadoc and Xref</a></span></dt><dt><span class="section"><a href="releasing-jetty.html#releasing-distributions">Deploying Distribution Files</a></span></dt><dt><span class="section"><a href="releasing-jetty.html#releasing-stable-links">Updating Stable Links</a></span></dt><dt><span class="section"><a href="releasing-jetty.html#_building_an_osgi_p2_repository">Building an OSGi P2 Repository</a></span></dt><dt><span class="section"><a href="releasing-jetty.html#releasing-documentation">Release Documentation</a></span></dt></dl></div><p>There are a number of steps to releasing jetty.
It is not just limited to running a couple of maven commands and then moving onto bigger and better things.
There are a number of process related issues once the fun maven bits have been completed.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="releasing-process"></a>Building and Staging a Releasable Version</h3></div></div></div><p>This release script is for jetty-9 (to release jetty-7 or jetty-8 see older documentation).</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p class="simpara">Pick your version identification strings.</p><p class="simpara">These follow a strict format and will be used when prompted during step listitem_title below.</p><pre class="literallayout">Release Version                : 9.0.0.v20130322  (v[year][month][day])
Next Development Version       : 9.0.1-SNAPSHOT
Tag Name                       : jetty-9.9.0.v20130322</pre></li><li class="listitem"><p class="simpara">We use the <span class="emphasis"><em>release-9</em></span> branch to avoid problems with other developers actively working on the master branch.</p><div class="screenexample"><pre class="screen">// Get all of the remotes
$ git pull origin
// Create a local tracking branch (if you haven't already)
$ git branch --track release-9 refs/remotes/origin/release-9
// Check out your local tracking branch.
$ git checkout release-9
// Merge from master into the branch (this becomes your point in time
// from master that you will be releasing from)
$ git merge --no-ff master</pre></div></li><li class="listitem"><p class="simpara">Update the VERSION.txt with changes from the git logs, this populates the resolves issues since the last release.</p><div class="screenexample"><pre class="screen">$ mvn -N -Pupdate-version</pre></div></li><li class="listitem"><p class="simpara">Edit the VERSION.txt file to set the <span class="emphasis"><em>Release Version</em></span> at the top alongside the Date of this release.</p><div class="screenexample"><pre class="screen">$ vi VERSION.txt</pre></div></li><li class="listitem"><p class="simpara">Make sure everything is commit&#8217;d and pushed to github.com/eclipse/jetty.project</p><div class="screenexample"><pre class="screen">$ git commit -m "Updating VERSION.txt top section" VERSION.txt
$ git push origin release-9</pre></div></li><li class="listitem"><p class="simpara">Prepare the Release</p><div xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"><i class="fa fa-asterisk" aria-hidden="true"></i> Note</h3><p>This step updates the &lt;version&gt; elements in the pom.xml files, does a test build with these new versions, and then commits the pom.xml changes to your local git repo.
The <code class="literal">eclipse-release</code> profile is required on the prepare in order to bring in the jetty aggregates as that profile defines a module which is ignored otherwise.</p></div><div class="screenexample"><pre class="screen">$ mvn release:prepare -DreleaseVersion=9.0.0.v20130322 \
                      -DdevelopmentVersion=9.0.1-SNAPSHOT \
                      -Dtag=jetty-9.0.0.v20130322 \
                      -Peclipse-release</pre></div></li><li class="listitem"><p class="simpara">Perform the Release</p><div xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"><i class="fa fa-asterisk" aria-hidden="true"></i> Note</h3><p>This step performs the release and deploys it to a oss.sonatype.org staging repository.</p></div><div class="screenexample"><pre class="screen">$ mvn release:perform</pre></div></li><li class="listitem"><p class="simpara">Set up files for next development versions.</p><p class="simpara">Edit <code class="literal">VERSION.txt</code> for <span class="emphasis"><em>Next Development Version</em></span> at the top.
Do not date this line.</p><p class="simpara">Make sure everything is commit&#8217;d and pushed to github.com/eclipse/jetty.project</p><div class="screenexample"><pre class="screen">$ vi VERSION.txt
$ git commit -m "Updating VERSION.txt top section" VERSION.txt
$ git push origin release-9</pre></div></li><li class="listitem">Close the staging repository on oss.sonatype.org</li><li class="listitem">Announce stage to the mailing list for testing.</li><li class="listitem"><p class="simpara">Once the staged repository has been approved by the rest of the committers.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">Release the staging repository to maven central on oss.sonatype.org</li><li class="listitem"><p class="simpara">Merge back the changes in release-9 to master</p><div class="screenexample"><pre class="screen">$ git checkout master
$ git merge --no-ff release-9
$ git push origin master</pre></div></li></ul></div></li></ol></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="releasing-aggregates"></a>Building and Deploying Aggregate Javadoc and Xref</h3></div></div></div><p>Define the jetty.eclipse.website server entry in your .m2/settings.xml file.
You&#8217;ll need to have access to the dev.eclipse.org machine to perform these actions.
If you don&#8217;t know if you have access to this then you probably don&#8217;t and will need to ask a project leader for help.</p><p>To build and deploy the aggregate javadoc and jxr bits:</p><div class="screenexample"><pre class="screen">$ cd target/checkout
$ mvn -Paggregate-site javadoc:aggregate jxr:jxr
$ mvn -N site:deploy</pre></div><p>This will generate the aggregate docs and deploy them to the <code class="literal">/home/www/jetty/&lt;project version&gt;/jetty-project</code> directory on download.eclipse.org.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="releasing-distributions"></a>Deploying Distribution Files</h3></div></div></div><p>Since we also provide alternative locations to download jetty distributions we need to copy these into place.
There are a couple of scripts that will take care of this although they need to be localized to your particular execution environment and you need to have authorization to put stuff where it needs to go.
These scripts are located at:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><a class="link" href="http://git.eclipse.org/c/jetty/org.eclipse.jetty.admin.git/tree/release-scripts" target="_top">http://git.eclipse.org/c/jetty/org.eclipse.jetty.admin.git/tree/release-scripts</a>.</li></ul></div><p>To localize the scripts to your environment:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">ensure you have "curl" installed</li><li class="listitem">edit the scripts and replace all ssh login lines with your own login id</li></ul></div><p>Once these are setup you can deploy a release to eclipse with the following incantation:</p><div class="screenexample"><pre class="screen">$ ./promote-to-eclipse.sh 9.0.0.v20130322</pre></div><p>Each of these scripts will download all of the relevant files from maven central and then copy them into the correct location on eclipse infrastructure.
On the eclipse side of it they will also adjust the xref and javadoc documentation links if they remain broken as well as regenerate all of the html files on the eclipse download site.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="releasing-stable-links"></a>Updating Stable Links</h3></div></div></div><p>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 update it with a new release.
Maintaining the conventions we use on the site will allow all <span class="emphasis"><em>stable</em></span> links to be stable and not needed to update to the latest major Jetty build version:</p><div class="screenexample"><pre class="screen">$ ssh &lt;user&gt;@build.eclipse.org
$ cd ~downloads/jetty/
$ rm -Rf stable-9
$ cp -r &lt;version&gt; stable-9
$ ./index.sh</pre></div><p>This needs to be done for all Eclipse Jetty releases (regardless of version). In addition we have to work to reduce the footprint of jetty on the primary eclipse download resources so we want to move older releases to the eclipse archive site.</p><div class="screenexample"><pre class="screen">$ cd ~/downloads/jetty
$ mv &lt;old release&gt; /home/data/httpd/archive.eclipse.org/jetty/
$ ./index.sh</pre></div><p>Periodically we need to do the same for the osgi P2 repositories to keep the size of our downloads directory at a reasonable size.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="_building_an_osgi_p2_repository"></a>Building an OSGi P2 Repository</h3></div></div></div><p>Most of the jetty jars are also osgi bundles, plus we release some specific bundles that <a class="link" href="framework-jetty-osgi.html" title="OSGI">integrate jetty closely with osgi</a>.
To do this, we use a Hudson job on the eclipse infrastructure. You will need to have permission to access <a class="link" href="https://hudson.eclipse.org/hudson/view/Jetty-RT/" target="_top">https://hudson.eclipse.org/hudson/view/Jetty-RT/</a></p><p>There are Hudson jobs that build osgi p2 repos for each of the major releases of jetty:7 (jetty-rt-bundles-7), 8 (jetty-rt-bundles-8) and 9 (jetty-rt-bundles-9).
You will need to start a manual build of the job that matches the version of jetty that you are releasing.
You will be prompted to supply some parameters to the build:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">pack_and_sign</span></dt><dd>By default, this is ticked. Leave it ticked.</dd><dt><span class="term">jetty_release-version</span></dt><dd>Enter the version number of the release, eg 9.2.6.v20141205</dd><dt><span class="term">force_context_qualifier</span></dt><dd>Leave this blank.</dd><dt><span class="term">set_pom_version</span></dt><dd>Enter the major.minor.point release number, eg 9.2.6</dd><dt><span class="term">delete_tycho_meta</span></dt><dd>This is ticked by default. Leave it ticked</dd><dt><span class="term">BRANCH_NAME</span></dt><dd>This is not the branch of the jetty release. Rather it refers to the branch structure of the project that drives the jetty p2 release.
It will already be set correctly for the selected job, so don&#8217;t change it unless you have an extremely good reason.</dd></dl></div><p>Once you have supplied the necessary parameters, the build job will commence and the bundles and update site zips will generated and automatically placed in the <code class="literal">/home/data/httpd/downlaod.eclipse.org/jetty/updates/jetty-bundles-[MAJOR.VERSION].x</code>, where [MAJOR.VERSION] matches the major version number of the jetty release you are doing.
These files will then be visible from <a class="link" href="http://download.eclipse.org/jetty/updates/jetty-bundles-" target="_top">MAJOR.VERSION</a>.x, where [MAJOR.VERSION] corresponds to the major version of the jetty release you are doing.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="releasing-documentation"></a>Release Documentation</h3></div></div></div><p>There are two git repositories you need to be aware of for releasing jetty-documentation. The jetty-documentation is located in our github repository and the jetty-website is located at eclipse.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">jetty-documentation</span></dt><dd><a class="link" href="https://github.com/jetty-project/jetty-documentation" target="_top">https://github.com/jetty-project/jetty-documentation</a></dd><dt><span class="term">jetty-website</span></dt><dd><a class="link" href="http://git.eclipse.org/c/www.eclipse.org/jetty.git" target="_top">http://git.eclipse.org/c/www.eclipse.org/jetty.git</a></dd></dl></div><p>Do the following steps to publish documentation for the release:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">Checkout the jetty-documentation repository.</li><li class="listitem">Edit the &lt;version&gt; of the jetty-documentation pom.xml and change it <span class="emphasis"><em>locally</em></span> to be the release number, eg 9.2.6.v20141205</li><li class="listitem">Build the documentation with mvn clean install</li><li class="listitem">Checkout the jetty-website</li><li class="listitem">Inside the documentation/ directory, make a directory named the same as the release number, eg 9.2.6.v20141205/</li><li class="listitem">Copy the built <code class="literal">documentation</code> from jetty-documentation/target/docbkx/html/jetty into the new directory</li><li class="listitem">Edit the <code class="literal">index.html</code> file in the <code class="literal">documentation</code> directory and add the newly released documentation url.
Make sure you follow the other examples and include the <code class="literal">rel="nofollow"</code> attribute on the link so that search engines do not crawl newly created documentation, otherwise we are subject to duplicate content penalties in SEO.</li><li class="listitem">Commit the changes to the jetty-website project</li></ol></div><div class="blockquote"><blockquote class="blockquote"><div xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"><i class="fa fa-asterisk" aria-hidden="true"></i> Note</h3><p>There is a separate Jenkins build job that publishes documentation to <a class="link" href="http://www.eclipse.org/jetty/documentation/current" target="_top">http://www.eclipse.org/jetty/documentation/current</a> triggered by a push of changed files to the jetty-documentation project.
If you commit your change to the &lt;version&gt; number from step 2, then these builds will use the same release version number.
It is preferable if you <span class="emphasis"><em>don&#8217;t</em></span> commit that version number change, or better yet, ensure that it is set to the next -SNAPSHOT version number for your jetty major release number.</p></div></blockquote></div></div></div><script type="text/javascript">
      SyntaxHighlighter.all()
    </script><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="security-reporting.html"><i class="fa fa-chevron-left" aria-hidden="true"></i> Previous</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="advanced-contributing.html"><i class="fa fa-chevron-up" aria-hidden="true"></i> Top</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="release-testing.html">Next <i class="fa fa-chevron-right" aria-hidden="true"></i></a></td></tr><tr><td width="40%" align="left" valign="top">Reporting Security Issues&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html"><i class="fa fa-home" aria-hidden="true"></i> Home</a></td><td width="40%" align="right" valign="top">&nbsp;Testing a Jetty Release</td></tr></table></div><p xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><div class="jetty-callout">
            See an error or something missing?
            <span class="callout"><a href="http://github.com/eclipse/jetty.project">Contribute to this documentation at
                <span class="website"><i class="fa fa-github" aria-hidden="true"></i> Github!</span></a></span><span style="float: right"><i>(Generated: 2019-11-05)</i></span></div></p></body></html>