blob: 23f2918e52f0d39953486809cddb1d8f662db7d6 [file] [log] [blame]
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.11.1 from org.apache.maven.plugins:maven-plugin-plugin:3.6.2:report at 2022-01-21
| Rendered using Apache Maven Fluido Skin 1.10.0
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="generator" content="Apache Maven Doxia Site Renderer 1.11.1" />
<title>Tycho p2 Repository Plugin &#x2013; Plugin Documentation</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.10.0.min.css" />
<link rel="stylesheet" href="./css/site.css" />
<link rel="stylesheet" href="./css/print.css" media="print" />
<script src="./js/apache-maven-fluido-1.10.0.min.js"></script>
</head>
<body class="topBarDisabled">
<div class="container-fluid">
<header>
<div id="banner">
<div class="pull-left"><div id="bannerLeft"><h2>Tycho p2 Repository Plugin</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: 2022-01-21<span class="divider">|</span>
</li>
<li id="projectVersion">Version: 2.6.0</li>
</ul>
</div>
</header>
<div class="row-fluid">
<header id="leftColumn" class="span2">
<nav class="well sidebar-nav">
<ul class="nav nav-list">
<li class="nav-header">Tycho</li>
<li><a href="../../index.html" title="Introduction"><span class="none"></span>Introduction</a></li>
<li><a href="../../target-platform-configuration/plugin-info.html" title="Target Platform Configuration"><span class="none"></span>Target Platform Configuration</a></li>
<li><a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin"><span class="none"></span>Compiler Plugin</a></li>
<li><a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin"><span class="none"></span>Packaging Plugin</a></li>
<li><a href="../../tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin"><span class="none"></span>Surefire Plugin</a></li>
<li><a href="../../tycho-p2/tycho-p2-publisher-plugin/plugin-info.html" title="p2 Publisher Plugin"><span class="none"></span>p2 Publisher Plugin</a></li>
<li><a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="p2 Repository Plugin"><span class="none"></span>p2 Repository Plugin</a></li>
<li><a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="p2 Director Plugin"><span class="none"></span>p2 Director Plugin</a></li>
<li><a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin"><span class="none"></span>Source Plugin</a></li>
<li><a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin"><span class="none"></span>Versions Plugin</a></li>
<li><a href="../../tycho-pomgenerator-plugin/plugin-info.html" title="POM Generator Plugin"><span class="none"></span>POM Generator Plugin</a></li>
<li><a href="" title="Properties"><span class="icon-chevron-down"></span>Properties</a>
<ul class="nav nav-list">
<li><a href="../../BuildProperties.html" title="Build Properties"><span class="none"></span>Build Properties</a></li>
<li><a href="../../TychoProperties.html" title="Tycho Properties"><span class="none"></span>Tycho Properties</a></li>
</ul></li>
<li class="nav-header">Tycho Extras</li>
<li><a href="../../tycho-extras/index.html" title="Introduction"><span class="none"></span>Introduction</a></li>
<li><a href="../../tycho-extras/tycho-p2-extras-plugin/plugin-info.html" title="P2 Extras Plugin"><span class="none"></span>P2 Extras Plugin</a></li>
<li><a href="../../tycho-extras/target-platform-validation-plugin/plugin-info.html" title="Target Platform Validation Plugin"><span class="none"></span>Target Platform Validation Plugin</a></li>
<li><a href="../../tycho-extras/tycho-eclipserun-plugin/plugin-info.html" title="Eclipserun Plugin"><span class="none"></span>Eclipserun Plugin</a></li>
<li><a href="../../tycho-extras/tycho-document-bundle-plugin/plugin-info.html" title="Document Bundle Plugin"><span class="none"></span>Document Bundle Plugin</a></li>
<li><a href="../../tycho-extras/tycho-source-feature-plugin/plugin-info.html" title="Source Feature Generation Plugin"><span class="none"></span>Source Feature Generation Plugin</a></li>
<li><a href="../../tycho-extras/tycho-pack200/index.html" title="Pack200 Plugins"><span class="icon-chevron-down"></span>Pack200 Plugins</a>
<ul class="nav nav-list">
<li><a href="../../tycho-extras/tycho-pack200/tycho-pack200a-plugin/plugin-info.html" title="Normalization Plugin"><span class="none"></span>Normalization Plugin</a></li>
<li><a href="../../tycho-extras/tycho-pack200/tycho-pack200b-plugin/plugin-info.html" title="Pack Plugin"><span class="none"></span>Pack Plugin</a></li>
</ul></li>
</ul>
</nav>
<div class="well sidebar-nav">
<hr />
<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>
</header>
<main id="bodyColumn" class="span10" >
<section>
<h2><a name="Plugin_Documentation"></a>Plugin Documentation</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 align="left"><a href="./archive-repository-mojo.html">tycho-p2-repository:archive-repository</a></td>
<td><p>Creates a zip archive with the aggregated p2 repository.</p></td></tr>
<tr class="a">
<td align="left"><a href="./assemble-maven-repository-mojo.html">tycho-p2-repository:assemble-maven-repository</a></td>
<td><p>This goals produces a "p2-maven-site" from the projects declared
&lt;dependencies&gt; (and &lt;dependencyManagement&gt; if desired).
A p2-maven-site is completely manageable by standard maven tools
and has the following properties:</p>
<ul>
<li>The artifacts are not stored in the site itself but referenced
as maven-coordinates, that means you don't have to upload your
artifacts to a dedicated place, everything is fetched from the
maven repository</li>
<li>The metadata of the page is attached to the current project
with type=zip and classifier=p2site and could be deployed using
standard maven techniques</li>
</ul>
<b>Please note:</b> Only valid OSGi bundles are included, there is
no way to automatically wrap plain jars and they are silently
ignored. This is intentional, as the goal of a p2-maven-site is to
use exactly the same artifact that is deployed in the maven
repository. <br />
<br />
<p>The produced p2-maven-site can then be consumed by Tycho or PDE
targets (m2eclipse is required for this), in the following way: A
tycho-repository section:</p>
<pre>
&lt;repository&gt;
&lt;id&gt;my-p2-maven-site&lt;/id&gt;
&lt;url&gt;mvn:[grouId]:[artifactId]:[version]:zip:p2site&lt;/url&gt;
&lt;layout&gt;p2&lt;/layout&gt;
&lt;/repository&gt;
</pre>
A target location of type software-site:
<pre>
&lt;location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit"&gt;
&lt;repository location="mvn:[grouId]:[artifactId]:[version]:zip:p2site"/&gt;
-- list desired units here --
&lt;/location&gt;
</pre>
<br />
<br /></td></tr>
<tr class="b">
<td align="left"><a href="./assemble-repository-mojo.html">tycho-p2-repository:assemble-repository</a></td>
<td><p>Aggregates content into a p2 repository in
<code>${project.build.directory}/repository</code>.</p>
<ol>
<li>Copies resources (if any) from
<code>${project.build.outputDirectory}</code> to
<code>${project.build.directory}/repository</code>. This allows to
include additional files such as <code>index.html</code> or about
files from <code>src/main/resources</code> (or elsewhere) into the
p2 repository.</li>
<li>The p2 aggregation into
<code>${project.build.directory}/repository</code> runs
recursively: it starts with the content published in the current
module, and traverses all artifacts that are marked as
<em>included</em> in already aggregated artifacts. (The following
artifacts can include other artifacts: categories, products, and
features. Note: Dependencies with a strict version range, i.e. a
range which only matches exactly one version of an artifact, are
also considered as inclusions.)</li>
</ol>
<br />
<br /></td></tr>
<tr class="a">
<td align="left"><a href="./fix-artifacts-metadata-mojo.html">tycho-p2-repository:fix-artifacts-metadata</a></td>
<td>Updates the artifact repository metadata checksums and size of
modified artifacts in the given folder.
<p>This can be used if some other mojo (e.g. jar-signer) modifies
the repository artifacts after the assemble-repository step. An
example could be found in the <a
href="https://github.com/eclipse/tycho/tree/master/tycho-its/projects/jar-signing-extra">jar-signing-extra</a>
integration test</p></td></tr>
<tr class="b">
<td align="left"><a href="./remap-artifacts-to-m2-repo-mojo.html">tycho-p2-repository:remap-artifacts-to-m2-repo</a></td>
<td>Modify the artifact metadata of the provided p2 repository by
adding extra mapping rules for artifacts the can be resolved to
Maven repositories so the URL under Maven repository is used for
fetching and artifact is not duplicated inside this repo.</td></tr>
<tr class="a">
<td align="left"><a href="./verify-repository-mojo.html">tycho-p2-repository:verify-repository</a></td>
<td><p>Checks the consistency of the aggregated p2 repository.</p></td></tr></table><section>
<h3><a name="System_Requirements"></a>System Requirements</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 align="left">Maven</td>
<td>3.8.4</td></tr>
<tr class="b">
<td align="left">JDK</td>
<td>11</td></tr>
<tr class="a">
<td align="left">Memory</td>
<td>No minimum requirement.</td></tr>
<tr class="b">
<td align="left">Disk Space</td>
<td>No minimum requirement.</td></tr></table></section><section>
<h3><a name="Usage"></a>Usage</h3><a name="Usage"></a>
<p>You should specify the version in your project's plugin configuration:</p>
<div class="source"><pre class="prettyprint">&lt;project&gt;
...
&lt;build&gt;
&lt;!-- To define the plugin version in your parent POM --&gt;
&lt;pluginManagement&gt;
&lt;plugins&gt;
&lt;plugin&gt;
&lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
&lt;artifactId&gt;tycho-p2-repository-plugin&lt;/artifactId&gt;
&lt;version&gt;2.6.0&lt;/version&gt;
&lt;/plugin&gt;
...
&lt;/plugins&gt;
&lt;/pluginManagement&gt;
&lt;!-- To use the plugin goals in your POM or parent POM --&gt;
&lt;plugins&gt;
&lt;plugin&gt;
&lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
&lt;artifactId&gt;tycho-p2-repository-plugin&lt;/artifactId&gt;
&lt;version&gt;2.6.0&lt;/version&gt;
&lt;/plugin&gt;
...
&lt;/plugins&gt;
&lt;/build&gt;
...
&lt;/project&gt;
</pre></div>
<p>For more information, see <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-configuring-plugins.html">&quot;Guide to Configuring Plug-ins&quot;</a></p></section></section>
</main>
</div>
</div>
<hr/>
<footer>
<div class="container-fluid">
<div class="row-fluid">
<p>&#169; 2008&#x2013;2022
<a href="http://www.eclipse.org/">Eclipse Foundation</a>
</p>
</div>
</div>
</footer>
<script>
if(anchors) {
anchors.add();
}
</script>
</body>
</html>