tycho-p2-director:director
Full name:
org.eclipse.tycho:tycho-p2-director-plugin:5.0.0-SNAPSHOT:director
Description:
Allows to run the director application to manage Eclipse Installations. This mojo can be used in two ways
- As a commandline invocation passing arguments as properties using
mvn org.eclipse.tycho:tycho-p2-director-plugin:director -Ddestination=[target] ... -D...
- as an execution inside a pom
<plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>tycho-p2-director-plugin</artifactId> <version>${tycho-version}</version> <executions> <execution> <goals> <goal>director</goal> </goals> <phase>package</phase> <configuration> <destination>...</destination> ... other arguments ... </configuration> </execution> </executions> </plugin>
Attributes:
- The goal is thread-safe and supports parallel builds.
Required Parameters
Name | Type | Since | Description |
---|---|---|---|
<destination> |
File |
- |
The folder in which the targeted product is located.
Note: This applies special handling for macOS (
eclipse -application org.eclipse.equinox.p2.director in order to simplify cross-mojo workflows within Tycho (e.g. the same logic is applied by tycho-surefire-plugin:integration-test .User Property: destination |
Optional Parameters
Name | Type | Since | Description |
---|---|---|---|
<artifactrepositories> |
String |
- |
comma separated list of URLs denoting artifact repositories. User Property: artifactrepositories Alias: artifactrepository |
<bundlepool> |
File |
- |
The location where the plug-ins and features will be stored. Effective only when a new profile is created. User Property: bundlepool |
<downloadOnly> |
boolean |
- |
Only download the artifacts. User Property: downloadOnly |
<flavor> |
String |
- |
Defines what flavor to use for a newly created profile. User Property: flavor |
<followReferences> |
boolean |
- |
Follow repository references. User Property: followReferences |
<includeProjectRepository> |
boolean |
- |
If specified, the current project and its artifacts are included as part of the repository that is used to install units |
<install> |
List<DirectorMojo$IU> |
- |
Alternative way to specify the IU to install in a more declarative (but also verbose) way, example:
<install> <iu> <id>...</id> <version>...optional version...</id> <feature>true/false</feature> <!-- optional if true .feature.group is automatically added to the id --> </install> |
<installFeatures> |
boolean |
- |
No description. Default: true User Property: installFeatures |
<installIUs> |
String |
- |
comma separated list of IUs to install, each entry in the list is in the form User Property: installIUs Alias: installIU |
<installSources> |
boolean |
- |
No description. Default: false |
<iuProfileproperties> |
File |
- |
Path to a properties file containing a list of IU profile properties to set. User Property: iuProfileproperties |
<list> |
boolean |
- |
Lists all IUs found in the given repositories. IUs can optionally be listed. Each entry in the list is in the form User Property: list |
<listFormat> |
String |
- |
Formats the list of IUs according to the given string. Use ${property} for variable parts, e.g. ${org.eclipse.equinox.p2.name} for the IU's name. ID and version of an IU are available through ${id} and ${version}. User Property: listFormat |
<listInstalledRoots> |
boolean |
- |
Lists all root IUs found in the given profile. Each entry in the list is in the form User Property: listInstalledRoots |
<listTags> |
boolean |
- |
List the tags available User Property: listTags |
<metadatarepositories> |
String |
- |
comma separated list of URLs denoting meta-data repositories User Property: metadatarepositories Alias: metadatarepository |
<p2arch> |
String |
- |
The architecture to use when the profile is created.
If this is specified, If none of them are specified, the values are derived from the running environment. User Property: p2.arch |
<p2nl> |
String |
- |
The language to use when the profile is created. User Property: p2.nl |
<p2os> |
String |
- |
The OS to use when the profile is created.
If this is specified, If none of them are specified, the values are derived from the running environment. User Property: p2.os |
<p2ws> |
String |
- |
The windowing system to use when the profile is created.
If this is specified, If none of them are specified, the values are derived from the running environment. User Property: p2.ws |
<profile> |
String |
- |
Defines what profile to use for the actions. Default: DefaultProfile User Property: profile |
<profileproperties> |
String |
- |
A list of properties in the form key=value pairs. Effective only when a new profile is created. For example org.eclipse.update.install.features=true to install the features into the product.User Property: profileproperties |
<properties> |
Map<String,String> |
- |
Additional profile properties to set when materializing the product |
<purgeHistory> |
boolean |
- |
Remove the history of the profile registry. User Property: purgeHistory |
<repositories> |
String |
- |
comma separated list denoting co-located meta-data and artifact repositories User Property: repositories Alias: repository |
<revert> |
String |
- |
comma separated list of numbers, revert the installation to a previous state. The number representing the previous state of the profile as found in p2/org.eclipse.equinox.p2.engine/ User Property: revert |
<roaming> |
boolean |
- |
Indicates that the product resulting from the installation can be moved. Effective only when a new profile is created. User Property: roaming |
<shared> |
String |
- |
Use a shared location for the install. The User Property: shared |
<tag> |
String |
- |
Tag the provisioning operation for easy referencing when reverting. User Property: tag |
<trustSignedContentOnly> |
boolean |
- |
Whether to trust each artifact only if it is jar-signed or PGP-signed. User Property: trustSignedContentOnly |
<trustedAuthorities> |
String |
- |
comma separated list of the authorities from which repository content, including repository metadata, is trusted. An empty value will reject all remote connections. User Property: trustedAuthorities |
<trustedCertificates> |
String |
- |
The SHA-256 'fingerprints' of unanchored certficates to trust as signers of artifacts. An empty value will reject all unanchored certificates. User Property: trustedCertificates |
<trustedPGPKeys> |
String |
- |
comma separated list of the fingerprints of PGP keys to trust as signers of artifacts. An empty value will reject all PGP keys. User Property: trustedPGPKeys |
<uninstall> |
List<DirectorMojo$IU> |
- |
Alternative way to specify the IU to uninstall in a more declarative (but also verbose) way, example:
<install> <iu> <id>...</id> <version>...optional version...</id> <feature>true/false</feature> <!-- optional if true .feature.group is automatically added to the id --> </install> |
<uninstallIUs> |
String |
- |
comma separated list of IUs to install, each entry in the list is in the form User Property: uninstallIUs Alias: uninstallIU |
<verboseTrust> |
boolean |
- |
Whether to print detailed information about the content trust. User Property: verboseTrust |
<verifyOnly> |
boolean |
- |
Only verify that the actions can be performed. Don't actually install or remove anything. User Property: verifyOnly |
Parameter Details
<artifactrepositories>
- Type:
java.lang.String
- Required:
No
- User Property:
artifactrepositories
- Alias:
artifactrepository
<bundlepool>
- Type:
java.io.File
- Required:
No
- User Property:
bundlepool
<destination>
Note: This applies special handling for macOS (p2os
macosx
) and behaves as follows:
- If
destination
already conforms to the full app bundle layout (/path/to/Foo.app/Contents/Eclipse
),destination
is used as-is. - If
destination
points to the root of an app bundle (/path/to/Foo.app
),Contents/Eclipse
is appended and the path and/path/to/Foo.app/Contents/Eclipse
is used. - Otherwise, i.e. if no app bundle path is given (
/path/to/work
), a valid app bundle path is appended, and the path/path/to/work/Eclipse.app/Contents/Eclipse
is used.
eclipse -application org.eclipse.equinox.p2.director
in order to simplify cross-mojo workflows within Tycho (e.g. the same logic is applied by tycho-surefire-plugin:integration-test
.- Type:
java.io.File
- Required:
Yes
- User Property:
destination
<downloadOnly>
- Type:
boolean
- Required:
No
- User Property:
downloadOnly
<flavor>
- Type:
java.lang.String
- Required:
No
- User Property:
flavor
<followReferences>
- Type:
boolean
- Required:
No
- User Property:
followReferences
<includeProjectRepository>
- Type:
boolean
- Required:
No
<install>
<install> <iu> <id>...</id> <version>...optional version...</id> <feature>true/false</feature> <!-- optional if true .feature.group is automatically added to the id --> </install>
- Type:
java.util.List<org.eclipse.tycho.plugins.p2.director.DirectorMojo$IU>
- Required:
No
<installFeatures>
- Type:
boolean
- Required:
No
- User Property:
installFeatures
- Default:
true
<installIUs>
- Type:
java.lang.String
- Required:
No
- User Property:
installIUs
- Alias:
installIU
<installSources>
- Type:
boolean
- Required:
No
- Default:
false
<iuProfileproperties>
- Type:
java.io.File
- Required:
No
- User Property:
iuProfileproperties
<list>
- Type:
boolean
- Required:
No
- User Property:
list
<listFormat>
- Type:
java.lang.String
- Required:
No
- User Property:
listFormat
<listInstalledRoots>
- Type:
boolean
- Required:
No
- User Property:
listInstalledRoots
<listTags>
- Type:
boolean
- Required:
No
- User Property:
listTags
<metadatarepositories>
- Type:
java.lang.String
- Required:
No
- User Property:
metadatarepositories
- Alias:
metadatarepository
<p2arch>
If this is specified, p2os
and p2ws
must also be specified for consistency.
If none of them are specified, the values are derived from the running environment.
- Type:
java.lang.String
- Required:
No
- User Property:
p2.arch
<p2nl>
- Type:
java.lang.String
- Required:
No
- User Property:
p2.nl
<p2os>
If this is specified, p2ws
and p2arch
must also be specified for consistency.
If none of them are specified, the values are derived from the running environment.
- Type:
java.lang.String
- Required:
No
- User Property:
p2.os
<p2ws>
If this is specified, p2os
and p2arch
must also be specified for consistency.
If none of them are specified, the values are derived from the running environment.
- Type:
java.lang.String
- Required:
No
- User Property:
p2.ws
<profile>
- Type:
java.lang.String
- Required:
No
- User Property:
profile
- Default:
DefaultProfile
<profileproperties>
org.eclipse.update.install.features=true
to install the features into the product.- Type:
java.lang.String
- Required:
No
- User Property:
profileproperties
<properties>
- Type:
java.util.Map<java.lang.String, java.lang.String>
- Required:
No
<purgeHistory>
- Type:
boolean
- Required:
No
- User Property:
purgeHistory
<repositories>
- Type:
java.lang.String
- Required:
No
- User Property:
repositories
- Alias:
repository
<revert>
- Type:
java.lang.String
- Required:
No
- User Property:
revert
<roaming>
- Type:
boolean
- Required:
No
- User Property:
roaming
<shared>
- Type:
java.lang.String
- Required:
No
- User Property:
shared
<tag>
- Type:
java.lang.String
- Required:
No
- User Property:
tag
<trustSignedContentOnly>
- Type:
boolean
- Required:
No
- User Property:
trustSignedContentOnly
<trustedAuthorities>
- Type:
java.lang.String
- Required:
No
- User Property:
trustedAuthorities
<trustedCertificates>
- Type:
java.lang.String
- Required:
No
- User Property:
trustedCertificates
<trustedPGPKeys>
- Type:
java.lang.String
- Required:
No
- User Property:
trustedPGPKeys
<uninstall>
<install> <iu> <id>...</id> <version>...optional version...</id> <feature>true/false</feature> <!-- optional if true .feature.group is automatically added to the id --> </install>
- Type:
java.util.List<org.eclipse.tycho.plugins.p2.director.DirectorMojo$IU>
- Required:
No
<uninstallIUs>
- Type:
java.lang.String
- Required:
No
- User Property:
uninstallIUs
- Alias:
uninstallIU
<verboseTrust>
- Type:
boolean
- Required:
No
- User Property:
verboseTrust
<verifyOnly>
- Type:
boolean
- Required:
No
- User Property:
verifyOnly