blob: 929f3dc5c43c033b0baba8af35051c3d224ef9c3 [file] [log] [blame]
jetty-repo
----------
Goal: shortest path to publishing the jetty jars in a p2-repository.
No external dependency in the produced repository, no mirroring of any jars unrelated to jetty.
During the build tycho requires that all dependencies be resolved transitively.
We depend on orbit and the platform repositories for this.
Using maven-tycho as it can publish artifacts located in maven repositories into p2-repositories.
Single feature that contains all the jetty jars. That feature is only useful to be able to have tycho publish the jetty-jars.
Building
--------
Steps:
1. Update the version number
Use the set-version.sh script. This accepts an argument of the new version number, eg:
> set-version.sh 9.1.0.RC0
Alternatively, you can set the variable NEW_VERSION to be the new version number, eg:
> export NEW_VERSION=9.1.0.RC0
> set-version.sh
You can set the variable OLD_VERSION to override the old version number. If you don't set it,
then the script will parse the pom.xml to extract the <version> instead. Leaving the OLD_VERSION
unset and letting the script determine it is the safest course of action.
2. Do the maven/tycho build:
Here's an example with all options set:
> mvn -DBRANCH_NAME=jetty-9 -Dset_pom_version=9.1.0.RC0 -Djetty_release_version=9.1.0.RC0 -Ddelete_tycho_meta=true -Dforce_context_qualifier= -Dpack_and_sign=true -Dmaven.repo.local=/tmp/jetty-builds/jetty7/localRepo -DforceContextQualifier= -Djetty-release-version=9.1.0.RC0 clean verify -X -U
3. Do the post build:
> post-tycho.sh
Hudson Builds on Eclipse
------------------------
There are jobs set up on the Hudson instance on build.eclipse.org that will start a build:
jetty-rt-bundles-9.1 (for jetty-9.1)
jetty-rt-bundles (for jetty-9)
jetty-rt-bundles-8 (for jetty-8)
jetty-rt-bundles-7 (for jetty-7)
When using these jobs, you will need to manually start a build. You will be presented with a form asking you to fill in build parameters,
which are the source of the values you see in Step 2 maven build above.
It is ESSENTIAL that you supply values for the following:
set_pom_version
jetty_release_version
Generally, the values for both of these will be identical, ie the latest jetty release number. If you don't provide a value for the set_pom_version,
then the p2 feature that is generated will default to the values contained in the pom.xml and feature.xml files that were last checked in. For jetty-9.1
this is version 9.1.0. set_pom_version controls the version number of the p2 feature, whilst jetty_release_version controls the version number of
the jetty jars used.