Skip to content
This repository has been archived by the owner on Oct 20, 2018. It is now read-only.

Standard Repository Build

hmalphettes edited this page Jun 16, 2011 · 8 revisions

A standard repository build generates a p2 repository that contains artifacts and metadata. The tycho-p2-scripts invoke http://eclipse.org/tycho/ maven-tycho and deploy the generated repositories on the file system.

Environment Variables; build number.

tycho-p2-scripts expects a few elements in the root pom.xml to be present in order to support its operations.

Build number

The build number is stored inside the pom.xml as the commented property ‘forceContextQualifier’:

<properties>
  <!-- the commented forceContextQualifier is in fact the build number
  It is required in this format for the scripts to find it -->
  <!--forceContextQualifier>024</forceContextQualifier-->

The complete version number is

completeVersion=${version}.${forceContextQualifier}

Note that it is a best practice to pad the build numbers with ‘0s’.

Where ‘version’ is computed from the <version> element in the root pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0"..>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.intalio.my.group.id</groupId>
  <version>1.0.0-SNAPSHOT</version>

The ‘-SNAPSHOT’ is removed and that is the value of the version. So in this example:

completeVersion=1.0.0.024

Location of the deployed repositories

The repositories are deployed on the file system on this path:

${HTTPD_ROOT_PATH}/{$groupId_path}${optional_suffix}/${BRANCH}/${completeVersion}

Where groupId_path is defined in the root pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0"..>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.intalio.my.group.id</groupId>

And transformed into a path by replacing the ‘.’ by ‘/’. For example:

org/intalio/my/group/id

The ((optional_suffix))