tycho-packaging:build-qualifier-aggregator

Full name:

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

Description:

This mojo calculates build timestamp as the latest timestamp of the project itself and timestamps of bundles and features directly included in the project. This is meant to work with custom timestamp providers and generate build qualifier based on build contents, i.e. the source code, and not the time the build was started; rebuilding the same source code will result in the same version qualifier.

Timestamp of included bundles and features is determined by parsing their respective version qualifiers. Qualifiers that cannot be parsed are silently ignored, which can result in old version qualifier used even when aggregator project contents actually changed. In this case aggregator project timestamp will have to be increased manually, using artificial SCM commit for example.

Qualifier aggregation is enabled only for projects with custom timestamp provider, i.e. <timestampProvider> is set in pom.xml to a value other than "default". The default build timestamp provider uses build start time as build timestamp, which should be newer or equal than timestamp of any included bundle/feature project, which makes qualifier aggregation redundant.

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