@Mojo(name="build-qualifier", defaultPhase=VALIDATE) public class BuildQualifierMojo extends AbstractVersionMojo
This mojo generates the build qualifier according to the rules described in the PDE documentation:
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> ...
Modifier and Type | Field and Description |
---|---|
protected File |
baseDir
Deprecated.
This parameter is deprecated and may be removed in future versions of Tycho.
|
static String |
BUILD_QUALIFIER_PROPERTY |
protected BuildPropertiesParser |
buildPropertiesParser |
protected org.apache.maven.plugin.MojoExecution |
execution |
protected String |
forceContextQualifier |
protected SimpleDateFormat |
format
Specify a date format as specified by java.text.SimpleDateFormat.
|
static String |
QUALIFIED_VERSION_PROPERTY |
protected org.apache.maven.execution.MavenSession |
session |
protected String |
timestampProvider
Role hint of a custom build timestamp provider.
|
protected Map<String,BuildTimestampProvider> |
timestampProviders |
static String |
UNQUALIFIED_VERSION_PROPERTY |
packaging, project, projectTypes
Constructor and Description |
---|
BuildQualifierMojo() |
Modifier and Type | Method and Description |
---|---|
void |
execute() |
protected Date |
getBuildTimestamp() |
void |
setFormat(String formatString) |
getOSGiId, getOSGiVersion
public static final String BUILD_QUALIFIER_PROPERTY
public static final String UNQUALIFIED_VERSION_PROPERTY
public static final String QUALIFIED_VERSION_PROPERTY
@Parameter(property="session", readonly=true) protected org.apache.maven.execution.MavenSession session
@Parameter(defaultValue="yyyyMMddHHmm") protected SimpleDateFormat format
Specify a date format as specified by java.text.SimpleDateFormat. Timezone used is UTC.
@Deprecated @Parameter(property="project.basedir") protected File baseDir
@Parameter(property="forceContextQualifier") protected String forceContextQualifier
@Parameter protected String timestampProvider
Role hint of a custom build timestamp provider.
@Parameter(property="mojoExecution", readonly=true) protected org.apache.maven.plugin.MojoExecution execution
@Component protected BuildPropertiesParser buildPropertiesParser
@Component(role=BuildTimestampProvider.class) protected Map<String,BuildTimestampProvider> timestampProviders
public void setFormat(String formatString)
public void execute() throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException
org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoFailureException
protected Date getBuildTimestamp() throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
Copyright © 2008-2016 Eclipse Foundation. All Rights Reserved.