blob: a5516d881ddf65dbe2090acc55a21a361d8fcb2c [file] [log] [blame]
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.11.1 from target/generated-site/xdoc/sign-p2-artifacts-mojo.xml at 2022-02-28
| 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 GPG plugin &#x2013; tycho-gpg:sign-p2-artifacts</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 GPG 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-02-28<span class="divider">|</span>
</li>
<li id="projectVersion">Version: 2.7.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="tycho-gpg:sign-p2-artifacts"></a>tycho-gpg:sign-p2-artifacts</h2>
<p><b>Full name</b>:</p>
<p>org.eclipse.tycho:tycho-gpg-plugin:2.7.0:sign-p2-artifacts</p>
<p><b>Description</b>:</p>
<div>Modifies the p2 metadata (<code>artifacts.xml</code>) to add PGP
signatures for each included artifact. Signatures are added as
<code>pgp.signatures</code> property on the artifact metadata, in
armored form; and public keys of the signers are added as
<code>pgp.publicKeys</code> property on the repository metadata, in
armored form.</div>
<p><b>Attributes</b>:</p>
<ul>
<li>Requires a Maven project to be executed.</li>
<li>The goal is not marked as thread-safe and thus does not support parallel builds.</li>
<li>Binds by default to the <a class="externalLink" href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>: <code>prepare-package</code>.</li>
</ul>
<section>
<h3><a name="Optional_Parameters"></a>Optional Parameters</h3>
<table class="table table-striped" border="0">
<tr class="a">
<th>Name</th>
<th>Type</th>
<th>Since</th>
<th>Description</th>
</tr>
<tr class="b">
<td align="left"><code><a href="#addPublicKeyToRepo">&lt;addPublicKeyToRepo&gt;</a></code></td>
<td><code>boolean</code></td>
<td><code>-</code></td>
<td>(no description)<br /><b>Default value is</b>: <code>true</code>.<br /></td>
</tr>
<tr class="a">
<td align="left"><code><a href="#addPublicKeysToArtifacts">&lt;addPublicKeysToArtifacts&gt;</a></code></td>
<td><code>boolean</code></td>
<td><code>-</code></td>
<td>(no description)<br /><b>Default value is</b>: <code>true</code>.<br /></td>
</tr>
<tr class="b">
<td align="left"><code><a href="#defaultKeyring">&lt;defaultKeyring&gt;</a></code></td>
<td><code>boolean</code></td>
<td><code>1.2</code></td>
<td>Whether to add the default keyrings from gpg's home directory to
the list of used keyrings.<br /><b>Default value is</b>: <code>true</code>.<br /><b>User property is</b>: <code>gpg.defaultKeyring</code>.<br /></td>
</tr>
<tr class="a">
<td align="left"><code><a href="#executable">&lt;executable&gt;</a></code></td>
<td><code>String</code></td>
<td><code>1.1</code></td>
<td>The path to the GnuPG executable to use for artifact signing.
Defaults to either &quot;gpg&quot; or &quot;gpg.exe&quot; depending on the operating
system.<br /><b>User property is</b>: <code>gpg.executable</code>.<br /></td>
</tr>
<tr class="b">
<td align="left"><code><a href="#gpgArguments">&lt;gpgArguments&gt;</a></code></td>
<td><code>List</code></td>
<td><code>1.5</code></td>
<td>Sets the arguments to be passed to gpg. Example:
<div>
<pre>
&lt;gpgArguments&gt;
&lt;arg&gt;--no-random-seed-file&lt;/arg&gt;
&lt;arg&gt;--no-permission-warning&lt;/arg&gt;
&lt;/gpgArguments&gt;
</pre></div><br /></td>
</tr>
<tr class="a">
<td align="left"><code><a href="#homedir">&lt;homedir&gt;</a></code></td>
<td><code>File</code></td>
<td><code>1.0</code></td>
<td>The directory from which gpg will load keyrings. If not specified,
gpg will use the value configured for its installation, e.g.
<code>~/.gnupg</code> or <code>%APPDATA%/gnupg</code>.<br /><b>User property is</b>: <code>gpg.homedir</code>.<br /></td>
</tr>
<tr class="b">
<td align="left"><code><a href="#keyname">&lt;keyname&gt;</a></code></td>
<td><code>String</code></td>
<td><code>-</code></td>
<td>The &quot;name&quot; of the key to sign with. Passed to gpg as
<code>--local-user</code>.<br /><b>User property is</b>: <code>gpg.keyname</code>.<br /></td>
</tr>
<tr class="a">
<td align="left"><code><a href="#lockMode">&lt;lockMode&gt;</a></code></td>
<td><code>String</code></td>
<td><code>1.5</code></td>
<td>The lock mode to use when invoking gpg. By default no lock mode
will be specified. Valid values are <code>once</code>,
<code>multiple</code> and <code>never</code>. The lock mode gets
translated into the corresponding <code>--lock-___</code> command
line argument. Improper usage of this option may lead to data and
key corruption.<br /><b>User property is</b>: <code>gpg.lockMode</code>.<br /></td>
</tr>
<tr class="b">
<td align="left"><code><a href="#passphrase">&lt;passphrase&gt;</a></code></td>
<td><code>String</code></td>
<td><code>-</code></td>
<td>The passphrase to use when signing. If not given, look up the value
under Maven settings using server id at 'passphraseServerKey'
configuration.<br /><b>User property is</b>: <code>gpg.passphrase</code>.<br /></td>
</tr>
<tr class="a">
<td align="left"><code><a href="#passphraseServerId">&lt;passphraseServerId&gt;</a></code></td>
<td><code>String</code></td>
<td><code>1.6</code></td>
<td>Server id to lookup the passphrase under Maven settings.<br /><b>Default value is</b>: <code>gpg.passphrase</code>.<br /><b>User property is</b>: <code>gpg.passphraseServerId</code>.<br /></td>
</tr>
<tr class="b">
<td align="left"><code><a href="#publicKeyring">&lt;publicKeyring&gt;</a></code></td>
<td><code>String</code></td>
<td><code>1.2</code></td>
<td>The path to a public keyring to add to the list of keyrings. By
default, only the <code>pubring.gpg</code> from gpg's home
directory is considered. Use this option (and
<code>defaultKeyring</code> if required) to use a different public
key. <i>Note:</i> Relative paths are resolved against gpg's home
directory, not the project base directory.<br /><b>User property is</b>: <code>gpg.publicKeyring</code>.<br /></td>
</tr>
<tr class="a">
<td align="left"><code><a href="#repository">&lt;repository&gt;</a></code></td>
<td><code>File</code></td>
<td><code>-</code></td>
<td>(no description)<br /><b>Default value is</b>: <code>${project.build.directory}/repository</code>.<br /></td>
</tr>
<tr class="b">
<td align="left"><code><a href="#secretKeyring">&lt;secretKeyring&gt;</a></code></td>
<td><code>String</code></td>
<td><code>1.2</code></td>
<td>
<p>The path to a secret keyring to add to the list of keyrings. By
default, only the <code>secring.gpg</code> from gpg's home
directory is considered. Use this option (in combination with
<code>publicKeyring</code> and <code>defaultKeyring</code> if
required) to use a different secret key. <i>Note:</i> Relative
paths are resolved against gpg's home directory, not the project
base directory.</p>
<b>NOTE:</b> As of gpg 2.1 this is an obsolete option and
ignored. All secret keys are stored in the 'private-keys-v1.d'
directory below the GnuPG home directory.<br /><b>User property is</b>: <code>gpg.secretKeyring</code>.<br /></td>
</tr>
<tr class="a">
<td align="left"><code><a href="#skipIfJarsigned">&lt;skipIfJarsigned&gt;</a></code></td>
<td><code>boolean</code></td>
<td><code>-</code></td>
<td>Configures to <code>true</code> to generate PGP signature only for
artifacts that do <b>not</b> already contain signatures
files from jarsigner.<br /></td>
</tr>
<tr class="b">
<td align="left"><code><a href="#useAgent">&lt;useAgent&gt;</a></code></td>
<td><code>boolean</code></td>
<td><code>-</code></td>
<td>Passes <code>--use-agent</code> or <code>--no-use-agent</code> to
gpg. If using an agent, the passphrase is optional as the agent
will provide it. For gpg2, specify true as --no-use-agent was
removed in gpg2 and doesn't ask for a passphrase anymore.<br /><b>Default value is</b>: <code>true</code>.<br /><b>User property is</b>: <code>gpg.useagent</code>.<br /></td>
</tr>
</table>
</section>
<section>
<h3><a name="Parameter_Details"></a>Parameter Details</h3>
<section>
<h4><a name="a.3CaddPublicKeyToRepo.3E"></a><b><a name="addPublicKeyToRepo">&lt;addPublicKeyToRepo&gt;</a></b></h4>
<div>(no description)</div>
<ul>
<li><b>Type</b>: <code>boolean</code></li>
<li><b>Required</b>: <code>No</code></li>
<li><b>Default</b>: <code>true</code></li>
</ul><hr /></section><section>
<h4><a name="a.3CaddPublicKeysToArtifacts.3E"></a><b><a name="addPublicKeysToArtifacts">&lt;addPublicKeysToArtifacts&gt;</a></b></h4>
<div>(no description)</div>
<ul>
<li><b>Type</b>: <code>boolean</code></li>
<li><b>Required</b>: <code>No</code></li>
<li><b>Default</b>: <code>true</code></li>
</ul><hr /></section><section>
<h4><a name="a.3CdefaultKeyring.3E"></a><b><a name="defaultKeyring">&lt;defaultKeyring&gt;</a></b></h4>
<div>Whether to add the default keyrings from gpg's home directory to
the list of used keyrings.</div>
<ul>
<li><b>Type</b>: <code>boolean</code></li>
<li><b>Since</b>: <code>1.2</code></li>
<li><b>Required</b>: <code>No</code></li>
<li><b>User Property</b>: <code>gpg.defaultKeyring</code></li>
<li><b>Default</b>: <code>true</code></li>
</ul><hr /></section><section>
<h4><a name="a.3Cexecutable.3E"></a><b><a name="executable">&lt;executable&gt;</a></b></h4>
<div>The path to the GnuPG executable to use for artifact signing.
Defaults to either &quot;gpg&quot; or &quot;gpg.exe&quot; depending on the operating
system.</div>
<ul>
<li><b>Type</b>: <code>java.lang.String</code></li>
<li><b>Since</b>: <code>1.1</code></li>
<li><b>Required</b>: <code>No</code></li>
<li><b>User Property</b>: <code>gpg.executable</code></li>
</ul><hr /></section><section>
<h4><a name="a.3CgpgArguments.3E"></a><b><a name="gpgArguments">&lt;gpgArguments&gt;</a></b></h4>
<div>Sets the arguments to be passed to gpg. Example:
<div>
<pre>
&lt;gpgArguments&gt;
&lt;arg&gt;--no-random-seed-file&lt;/arg&gt;
&lt;arg&gt;--no-permission-warning&lt;/arg&gt;
&lt;/gpgArguments&gt;
</pre></div></div>
<ul>
<li><b>Type</b>: <code>java.util.List</code></li>
<li><b>Since</b>: <code>1.5</code></li>
<li><b>Required</b>: <code>No</code></li>
</ul><hr /></section><section>
<h4><a name="a.3Chomedir.3E"></a><b><a name="homedir">&lt;homedir&gt;</a></b></h4>
<div>The directory from which gpg will load keyrings. If not specified,
gpg will use the value configured for its installation, e.g.
<code>~/.gnupg</code> or <code>%APPDATA%/gnupg</code>.</div>
<ul>
<li><b>Type</b>: <code>java.io.File</code></li>
<li><b>Since</b>: <code>1.0</code></li>
<li><b>Required</b>: <code>No</code></li>
<li><b>User Property</b>: <code>gpg.homedir</code></li>
</ul><hr /></section><section>
<h4><a name="a.3Ckeyname.3E"></a><b><a name="keyname">&lt;keyname&gt;</a></b></h4>
<div>The &quot;name&quot; of the key to sign with. Passed to gpg as
<code>--local-user</code>.</div>
<ul>
<li><b>Type</b>: <code>java.lang.String</code></li>
<li><b>Required</b>: <code>No</code></li>
<li><b>User Property</b>: <code>gpg.keyname</code></li>
</ul><hr /></section><section>
<h4><a name="a.3ClockMode.3E"></a><b><a name="lockMode">&lt;lockMode&gt;</a></b></h4>
<div>The lock mode to use when invoking gpg. By default no lock mode
will be specified. Valid values are <code>once</code>,
<code>multiple</code> and <code>never</code>. The lock mode gets
translated into the corresponding <code>--lock-___</code> command
line argument. Improper usage of this option may lead to data and
key corruption.</div>
<ul>
<li><b>Type</b>: <code>java.lang.String</code></li>
<li><b>Since</b>: <code>1.5</code></li>
<li><b>Required</b>: <code>No</code></li>
<li><b>User Property</b>: <code>gpg.lockMode</code></li>
</ul><hr /></section><section>
<h4><a name="a.3Cpassphrase.3E"></a><b><a name="passphrase">&lt;passphrase&gt;</a></b></h4>
<div>The passphrase to use when signing. If not given, look up the value
under Maven settings using server id at 'passphraseServerKey'
configuration.</div>
<ul>
<li><b>Type</b>: <code>java.lang.String</code></li>
<li><b>Required</b>: <code>No</code></li>
<li><b>User Property</b>: <code>gpg.passphrase</code></li>
</ul><hr /></section><section>
<h4><a name="a.3CpassphraseServerId.3E"></a><b><a name="passphraseServerId">&lt;passphraseServerId&gt;</a></b></h4>
<div>Server id to lookup the passphrase under Maven settings.</div>
<ul>
<li><b>Type</b>: <code>java.lang.String</code></li>
<li><b>Since</b>: <code>1.6</code></li>
<li><b>Required</b>: <code>No</code></li>
<li><b>User Property</b>: <code>gpg.passphraseServerId</code></li>
<li><b>Default</b>: <code>gpg.passphrase</code></li>
</ul><hr /></section><section>
<h4><a name="a.3CpublicKeyring.3E"></a><b><a name="publicKeyring">&lt;publicKeyring&gt;</a></b></h4>
<div>The path to a public keyring to add to the list of keyrings. By
default, only the <code>pubring.gpg</code> from gpg's home
directory is considered. Use this option (and
<code>defaultKeyring</code> if required) to use a different public
key. <i>Note:</i> Relative paths are resolved against gpg's home
directory, not the project base directory.</div>
<ul>
<li><b>Type</b>: <code>java.lang.String</code></li>
<li><b>Since</b>: <code>1.2</code></li>
<li><b>Required</b>: <code>No</code></li>
<li><b>User Property</b>: <code>gpg.publicKeyring</code></li>
</ul><hr /></section><section>
<h4><a name="a.3Crepository.3E"></a><b><a name="repository">&lt;repository&gt;</a></b></h4>
<div>(no description)</div>
<ul>
<li><b>Type</b>: <code>java.io.File</code></li>
<li><b>Required</b>: <code>No</code></li>
<li><b>Default</b>: <code>${project.build.directory}/repository</code></li>
</ul><hr /></section><section>
<h4><a name="a.3CsecretKeyring.3E"></a><b><a name="secretKeyring">&lt;secretKeyring&gt;</a></b></h4>
<div>
<p>The path to a secret keyring to add to the list of keyrings. By
default, only the <code>secring.gpg</code> from gpg's home
directory is considered. Use this option (in combination with
<code>publicKeyring</code> and <code>defaultKeyring</code> if
required) to use a different secret key. <i>Note:</i> Relative
paths are resolved against gpg's home directory, not the project
base directory.</p>
<b>NOTE:</b> As of gpg 2.1 this is an obsolete option and
ignored. All secret keys are stored in the 'private-keys-v1.d'
directory below the GnuPG home directory.</div>
<ul>
<li><b>Type</b>: <code>java.lang.String</code></li>
<li><b>Since</b>: <code>1.2</code></li>
<li><b>Required</b>: <code>No</code></li>
<li><b>User Property</b>: <code>gpg.secretKeyring</code></li>
</ul><hr /></section><section>
<h4><a name="a.3CskipIfJarsigned.3E"></a><b><a name="skipIfJarsigned">&lt;skipIfJarsigned&gt;</a></b></h4>
<div>Configures to <code>true</code> to generate PGP signature only for
artifacts that do <b>not</b> already contain signatures
files from jarsigner.</div>
<ul>
<li><b>Type</b>: <code>boolean</code></li>
<li><b>Required</b>: <code>No</code></li>
</ul><hr /></section><section>
<h4><a name="a.3CuseAgent.3E"></a><b><a name="useAgent">&lt;useAgent&gt;</a></b></h4>
<div>Passes <code>--use-agent</code> or <code>--no-use-agent</code> to
gpg. If using an agent, the passphrase is optional as the agent
will provide it. For gpg2, specify true as --no-use-agent was
removed in gpg2 and doesn't ask for a passphrase anymore.</div>
<ul>
<li><b>Type</b>: <code>boolean</code></li>
<li><b>Required</b>: <code>No</code></li>
<li><b>User Property</b>: <code>gpg.useagent</code></li>
<li><b>Default</b>: <code>true</code></li>
</ul>
</section></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>