| <!DOCTYPE html> |
| <!-- |
| | Generated by Apache Maven Doxia at 2014-12-01 |
| | Rendered using Apache Maven Fluido Skin 1.3.0 |
| --> |
| <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
| <head> |
| <meta charset="UTF-8" /> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
| <meta name="Date-Revision-yyyymmdd" content="20141201" /> |
| <meta http-equiv="Content-Language" content="en" /> |
| <title>Tycho OSGi Packaging Plugin (Incubation) - Plugin Documentation</title> |
| <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" /> |
| <link rel="stylesheet" href="./css/site.css" /> |
| <link rel="stylesheet" href="./css/print.css" media="print" /> |
| |
| |
| <script type="text/javascript" src="./js/apache-maven-fluido-1.3.0.min.js"></script> |
| |
| |
| </head> |
| <body class="topBarDisabled"> |
| |
| |
| |
| <div class="container-fluid"> |
| <div id="banner"> |
| <div class="pull-left"> |
| <div id="bannerLeft"> |
| <h2>Tycho OSGi Packaging Plugin (Incubation)</h2> |
| </div> |
| </div> |
| <div class="pull-right"> </div> |
| <div class="clear"><hr/></div> |
| </div> |
| |
| <div id="breadcrumbs"> |
| <ul class="breadcrumb"> |
| |
| |
| <li id="publishDate">Last Published: 2014-12-01</li> |
| <li class="divider">|</li> <li id="projectVersion">Version: 0.22.0</li> |
| |
| |
| |
| |
| |
| <li class="pull-right"> <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change"> |
| This content is PRELIMINARY API and still subject to change</a> |
| </li> |
| |
| </ul> |
| </div> |
| |
| |
| <div class="row-fluid"> |
| <div id="leftColumn" class="span3"> |
| <div class="well sidebar-nav"> |
| |
| |
| <ul class="nav nav-list"> |
| <li class="nav-header">Tycho</li> |
| |
| <li> |
| |
| <a href="../index.html" title="Introduction"> |
| <i class="none"></i> |
| Introduction</a> |
| </li> |
| |
| <li> |
| |
| <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin"> |
| <i class="none"></i> |
| Compiler Plugin</a> |
| </li> |
| |
| <li> |
| |
| <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin"> |
| <i class="none"></i> |
| Packaging Plugin</a> |
| </li> |
| |
| <li> |
| |
| <a href="../BuildProperties.html" title="Build Properties"> |
| <i class="none"></i> |
| Build Properties</a> |
| </li> |
| |
| <li> |
| |
| <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin"> |
| <i class="none"></i> |
| Surefire Plugin</a> |
| </li> |
| |
| <li> |
| |
| <a href="../tycho-p2/tycho-p2-publisher-plugin/plugin-info.html" title="p2 Publisher Plugin"> |
| <i class="none"></i> |
| p2 Publisher Plugin</a> |
| </li> |
| |
| <li> |
| |
| <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="p2 Repository Plugin"> |
| <i class="none"></i> |
| p2 Repository Plugin</a> |
| </li> |
| |
| <li> |
| |
| <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="p2 Director Plugin"> |
| <i class="none"></i> |
| p2 Director Plugin</a> |
| </li> |
| |
| <li> |
| |
| <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin"> |
| <i class="none"></i> |
| Source Plugin</a> |
| </li> |
| |
| <li> |
| |
| <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin"> |
| <i class="none"></i> |
| Versions Plugin</a> |
| </li> |
| |
| <li> |
| |
| <a href="../tycho-pomgenerator-plugin/plugin-info.html" title="POM Generator Plugin"> |
| <i class="none"></i> |
| POM Generator Plugin</a> |
| </li> |
| |
| <li> |
| |
| <a href="../TychoProperties.html" title="Tycho Properties"> |
| <i class="none"></i> |
| Tycho Properties</a> |
| </li> |
| </ul> |
| |
| |
| |
| <hr class="divider" /> |
| |
| <div id="poweredBy"> |
| <div class="clear"></div> |
| <div class="clear"></div> |
| <div class="clear"></div> |
| <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> |
| <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> |
| </a> |
| </div> |
| </div> |
| </div> |
| |
| |
| <div id="bodyColumn" class="span9" > |
| |
| <div class="section">
|
| <h2>Plugin Documentation<a name="Plugin_Documentation"></a></h2><a name="Plugin_Documentation"></a>
|
| <p>Goals available for this plugin:</p>
|
| <table border="0" class="table table-striped">
|
| <tr class="a">
|
| <th>Goal</th>
|
| <th>Description</th></tr>
|
| <tr class="b">
|
| <td><a href="build-qualifier-mojo.html">tycho-packaging:build-qualifier</a></td>
|
| <td><p>This mojo generates the build qualifier according to the <a
|
| href="http://help.eclipse.org/kepler/topic/org.eclipse.pde.doc.user/tasks/pde_version_qualifiers.htm">rules
|
| described in the PDE documentation</a>:</p>
|
| <ol>
|
| <li>Explicit -DforceContextQualifier command line parameter</li>
|
| <li>forceContextQualifier from
|
| ${project.baseDir}/build.properties</li>
|
| <li>A time stamp in the form YYYYMMDDHHMM (e.g. 200605121600)</li>
|
| </ol>
|
| <br />
|
| <br />
|
|
|
| <p>The generated qualifier is assigned to
|
| <code>buildQualifier</code> project property. The unqualified
|
| project version is assigned to <code>unqualifiedVersion</code>
|
| project property. The unqualified version is calculated based on
|
| <code>${project.version}</code> 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 <code>${unqualifiedVersion}</code> and
|
| <code>${buildQualifier}</code>, if not empty, is assigned to the
|
| project property <code>qualifiedVersion</code>.</p>
|
| <p>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</p>
|
| <pre>
|
| ...
|
| <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>
|
| ...
|
|
|
| </pre></td></tr>
|
| <tr class="a">
|
| <td><a href="build-qualifier-aggregator-mojo.html">tycho-packaging:build-qualifier-aggregator</a></td>
|
| <td><p>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.</p>
|
| <p>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.</p>
|
| <p>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.</p></td></tr>
|
| <tr class="b">
|
| <td><a href="package-feature-mojo.html">tycho-packaging:package-feature</a></td>
|
| <td>Copyright (c) 2008, 2011 Sonatype Inc. and others. All rights
|
| reserved. This program and the accompanying materials are made
|
| available under the terms of the Eclipse Public License v1.0 which
|
| accompanies this distribution, and is available at
|
| http://www.eclipse.org/legal/epl-v10.html Contributors: Sonatype
|
| Inc. - initial API and implementation</td></tr>
|
| <tr class="a">
|
| <td><a href="package-plugin-mojo.html">tycho-packaging:package-plugin</a></td>
|
| <td>Creates a jar-based plugin and attaches it as an artifact</td></tr>
|
| <tr class="b">
|
| <td><a href="package-target-definition-mojo.html">tycho-packaging:package-target-definition</a></td>
|
| <td>Registers the target definition file <artifactId>.target
|
| expected in the basedir of a project as maven artifact.</td></tr>
|
| <tr class="a">
|
| <td><a href="product-export-mojo.html">tycho-packaging:product-export</a></td>
|
| <td>Copyright (c) 2008, 2012 Sonatype Inc. and others. All rights
|
| reserved. This program and the accompanying materials are made
|
| available under the terms of the Eclipse Public License v1.0 which
|
| accompanies this distribution, and is available at
|
| http://www.eclipse.org/legal/epl-v10.html Contributors: Sonatype
|
| Inc. - initial API and implementation</td></tr>
|
| <tr class="b">
|
| <td><a href="update-site-mojo.html">tycho-packaging:update-site</a></td>
|
| <td>Copyright (c) 2008, 2011 Sonatype Inc. and others. All rights
|
| reserved. This program and the accompanying materials are made
|
| available under the terms of the Eclipse Public License v1.0 which
|
| accompanies this distribution, and is available at
|
| http://www.eclipse.org/legal/epl-v10.html Contributors: Sonatype
|
| Inc. - initial API and implementation</td></tr>
|
| <tr class="a">
|
| <td><a href="update-site-packaging-mojo.html">tycho-packaging:update-site-packaging</a></td>
|
| <td>Copyright (c) 2010, 2011 SAP AG and others. All rights reserved.
|
| This program and the accompanying materials are made available
|
| under the terms of the Eclipse Public License v1.0 which
|
| accompanies this distribution, and is available at
|
| http://www.eclipse.org/legal/epl-v10.html Contributors: SAP AG -
|
| initial API and implementation</td></tr>
|
| <tr class="b">
|
| <td><a href="validate-id-mojo.html">tycho-packaging:validate-id</a></td>
|
| <td>Validates that project Maven and OSGi ids match.</td></tr>
|
| <tr class="a">
|
| <td><a href="validate-version-mojo.html">tycho-packaging:validate-version</a></td>
|
| <td>Validates project Maven and OSGi versions. For SNAPSHOT versions,
|
| OSGi version qualifier must be ".qualifier" and unqualified Maven
|
| and OSGi versions must be equal. For RELEASE versions, OSGi and
|
| Maven versions must be equal.</td></tr></table>
|
| <div class="section">
|
| <h3>System Requirements<a name="System_Requirements"></a></h3><a name="System_Requirements"></a>
|
| <p>The following specifies the minimum requirements to run this Maven plugin:</p>
|
| <table border="0" class="table table-striped">
|
| <tr class="a">
|
| <td>Maven</td>
|
| <td>3.0</td></tr>
|
| <tr class="b">
|
| <td>JDK</td>
|
| <td>1.6</td></tr>
|
| <tr class="a">
|
| <td>Memory</td>
|
| <td>No minimum requirement.</td></tr>
|
| <tr class="b">
|
| <td>Disk Space</td>
|
| <td>No minimum requirement.</td></tr></table></div>
|
| <div class="section">
|
| <h3>Usage<a name="Usage"></a></h3><a name="Usage"></a>
|
| <p>You should specify the version in your project's plugin configuration:</p>
|
| <div class="source">
|
| <pre><project>
|
| ...
|
| <build>
|
| <!-- To define the plugin version in your parent POM -->
|
| <pluginManagement>
|
| <plugins>
|
| <plugin>
|
| <groupId>org.eclipse.tycho</groupId>
|
| <artifactId>tycho-packaging-plugin</artifactId>
|
| <version>0.22.0</version>
|
| </plugin>
|
| ...
|
| </plugins>
|
| </pluginManagement>
|
| <!-- To use the plugin goals in your POM or parent POM -->
|
| <plugins>
|
| <plugin>
|
| <groupId>org.eclipse.tycho</groupId>
|
| <artifactId>tycho-packaging-plugin</artifactId>
|
| <version>0.22.0</version>
|
| </plugin>
|
| ...
|
| </plugins>
|
| </build>
|
| ...
|
| </project>
|
| </pre></div>
|
| <p>For more information, see <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-configuring-plugins.html">"Guide to Configuring Plug-ins"</a></p></div></div> |
| </div> |
| </div> |
| </div> |
| |
| <hr/> |
| |
| <footer> |
| <div class="container-fluid"> |
| <div class="row span12">Copyright © 2008-2014 |
| <a href="http://www.eclipse.org/">Eclipse Foundation</a>. |
| All Rights Reserved. |
| |
| </div> |
| |
| |
| |
| </div> |
| </footer> |
| </body> |
| </html> |