tycho-packaging:build-qualifier

Full name:

org.eclipse.tycho:tycho-packaging-plugin:5.0.0-SNAPSHOT:build-qualifier

Description:

This mojo generates the build qualifier according to the rules described in the PDE documentation:

  1. Explicit -DforceContextQualifier command line parameter
  2. forceContextQualifier from ${project.baseDir}/build.properties
  3. A time stamp in the form YYYYMMDDHHMM (e.g. 200605121600)

The generated qualifier is assigned to buildQualifier project property. The unqualified project version is assigned to unqualifiedVersion project property. The unqualified version is calculated based on ${project.version} and can be used for any Tycho project and regular Maven project. Different projects can use different formats to expand the timestamp (not recommended). The concatenation of ${unqualifiedVersion} and ${buildQualifier}, if not empty, is assigned to the project property qualifiedVersion.

The timestamp generation logic is extensible. The primary use case is to generate build version qualifier based on the timestamp of the last project commit. Here is example pom.xml snippet that enables custom timestamp generation logic

...
<plugin>
   <groupId>org.eclipse.tycho</groupId>
   <artifactId>tycho-packaging-plugin</artifactId>
   <version>${tycho-version}</version>
   <dependencies>
     <dependency>
       <groupId>timestamp-provider-groupid</groupId>
       <artifactId>timestamp-provider-artifactid</artifactId>
       <version>timestamp-provider-version</version>
     </dependency>
   </dependencies>
   <configuration>
     <timestampProvider>custom</timestampProvider>
   </configuration>
</plugin>
...

Attributes:

  • Requires a Maven project to be executed.
  • The goal is thread-safe and supports parallel builds.
  • Binds by default to the lifecycle phase: validate.

Optional Parameters

Name Type Since Description
<dummy1> String - This is only a dummy parameter used to prevent maven from complaining about "unknown" parameters when using the jgit extension
Alias: jgit.dirtyWorkingTree
<dummy2> String - This is only a dummy parameter used to prevent maven from complaining about "unknown" parameters when using the jgit extension
Alias: jgit.ignore
<forceContextQualifier> String - No description.
User Property: forceContextQualifier
<format> SimpleDateFormat -

Specify a date format as specified by java.text.SimpleDateFormat. Timezone used is UTC.


Default: yyyyMMddHHmm
User Property: tycho.buildqualifier.format
<timestampProvider> String 0.16.0

Role hint of a custom build timestamp provider.


User Property: tycho.buildqualifier.provider

Parameter Details

<dummy1>

This is only a dummy parameter used to prevent maven from complaining about "unknown" parameters when using the jgit extension
  • Type: java.lang.String
  • Required: No
  • Alias: jgit.dirtyWorkingTree

<dummy2>

This is only a dummy parameter used to prevent maven from complaining about "unknown" parameters when using the jgit extension
  • Type: java.lang.String
  • Required: No
  • Alias: jgit.ignore

<forceContextQualifier>

No description.
  • Type: java.lang.String
  • Required: No
  • User Property: forceContextQualifier

<format>

Specify a date format as specified by java.text.SimpleDateFormat. Timezone used is UTC.

  • Type: java.text.SimpleDateFormat
  • Required: No
  • User Property: tycho.buildqualifier.format
  • Default: yyyyMMddHHmm

<timestampProvider>

Role hint of a custom build timestamp provider.

  • Type: java.lang.String
  • Since: 0.16.0
  • Required: No
  • User Property: tycho.buildqualifier.provider