| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |
| <!-- Generated by Apache Maven Doxia at Oct 15, 2012 --> | |
| <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> | |
| <head> | |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | |
| <title>Plugin Documentation</title> | |
| <style type="text/css" media="all"> | |
| @import url("./css/maven-base.css"); | |
| @import url("./css/maven-theme.css"); | |
| @import url("./css/site.css"); | |
| </style> | |
| <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> | |
| <meta name="Date-Revision-yyyymmdd" content="20121015" /> | |
| <meta http-equiv="Content-Language" content="en" /> | |
| </head> | |
| <body class="composite"> | |
| <div id="banner"> | |
| <div id="bannerLeft"> | |
| Tycho OSGi Packaging Plugin (Incubation) | |
| </div> | |
| <div class="clear"> | |
| <hr/> | |
| </div> | |
| </div> | |
| <div id="breadcrumbs"> | |
| <div class="xleft"> | |
| <span id="publishDate">Last Published: 2012-10-15</span> | |
| | <span id="projectVersion">Version: 0.16.0</span> | |
| </div> | |
| <div class="xright"> <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> | |
| </div> | |
| <div class="clear"> | |
| <hr/> | |
| </div> | |
| </div> | |
| <div id="leftColumn"> | |
| <div id="navcolumn"> | |
| <h5>Tycho</h5> | |
| <ul> | |
| <li class="none"> | |
| <a href="../index.html" title="Introduction">Introduction</a> | |
| </li> | |
| <li class="none"> | |
| <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a> | |
| </li> | |
| <li class="none"> | |
| <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a> | |
| </li> | |
| <li class="none"> | |
| <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a> | |
| </li> | |
| <li class="none"> | |
| <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a> | |
| </li> | |
| <li class="none"> | |
| <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a> | |
| </li> | |
| <li class="none"> | |
| <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a> | |
| </li> | |
| <li class="none"> | |
| <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a> | |
| </li> | |
| </ul> | |
| <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> | |
| <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> | |
| </a> | |
| </div> | |
| </div> | |
| <div id="bodyColumn"> | |
| <div id="contentBox"> | |
| <a name="Plugin_Documentation"></a><div class="section"><h2>Plugin Documentation<a name="Plugin_Documentation"></a></h2><p>Goals available for this plugin:</p><table border="0" class="bodyTable"><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>This mojo generates build qualifier according to the rules outlined | |
| in | |
| http://help.eclipse.org/ganymede/topic/org.eclipse.pde.doc.user/tasks/pde_version_qualifiers.htm | |
| <ol> | |
| <li>explicit -DforceContextQualifier command line parameter</li> | |
| <li>forceContextQualifier from | |
| ${project.baseDir}/build.properties</li> | |
| <li>a time stamp in the form YYYYMMDDHHMM (ie 200605121600)</li> | |
| </ol> | |
| <p>The generated qualifier is assigned to | |
| <code>buildQualifier</code> project property. Unqualified project | |
| version is assigned to <code>unqualifiedVersion</code> project | |
| property. Unqualified version is calculated based on | |
| <code>${project.version}</code> and can be used for any Tycho | |
| project (eclipse-update-site, eclipse-application, etc) and regular | |
| maven project. Different projects can use different formats to | |
| expand the timestamp, however (highly not recommended but | |
| possible).</p> | |
| <p>Starting with version 0.16, it is now possible to use custom | |
| build timestamp generation logic. The primary usecase 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>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>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.xlm 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>No description.</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>No description.</td></tr><tr class="b"><td><a href="update-site-mojo.html">tycho-packaging:update-site</a></td><td>No description.</td></tr><tr class="a"><td><a href="update-site-packaging-mojo.html">tycho-packaging:update-site-packaging</a></td><td>No description.</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><a name="System_Requirements"></a><div class="section"><h3>System Requirements<a name="System_Requirements"></a></h3><p>The following specifies the minimum requirements to run this Maven plugin:</p><table border="0" class="bodyTable"><tr class="b"><td>Maven</td><td>3.0</td></tr><tr class="a"><td>JDK</td><td>1.5</td></tr><tr class="b"><td>Memory</td><td>No minimum requirement.</td></tr><tr class="a"><td>Disk Space</td><td>No minimum requirement.</td></tr></table></div><a name="Usage"></a><div class="section"><h3>Usage<a name="Usage"></a></h3><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.16.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.16.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 class="clear"> | |
| <hr/> | |
| </div> | |
| <div id="footer"> | |
| <div class="xright"> | |
| Copyright © 2008-2012 | |
| <a href="http://www.eclipse.org/">Eclipse Foundation</a>. | |
| All Rights Reserved. | |
| </div> | |
| <div class="clear"> | |
| <hr/> | |
| </div> | |
| </div> | |
| </body> | |
| </html> |