tycho-p2-director:materialize-products
Full name:
org.eclipse.tycho:tycho-p2-director-plugin:5.0.0-SNAPSHOT:materialize-products
Description:
Creates product installations for the products defined in the project.
Attributes:
- Requires a Maven project to be executed.
- The goal is thread-safe and supports parallel builds.
- Binds by default to the lifecycle phase:
package
.
Optional Parameters
Name | Type | Since | Description |
---|---|---|---|
<EEProfiles> |
String |
- |
Comma-separated list of profile names to be published. Examples: JavaSE-11, JavaSE-17, JavaSE-18. If not given, all current available JavaSE profiles with version >= 11 are used. |
<directorRuntime> |
MaterializeProductsMojo$DirectorRuntimeType |
- |
Runtime in which the director application is executed. Can be:
Default: internal |
<forkedProcessTimeoutInSeconds> |
int |
- |
Kill the forked process after a certain number of seconds. If set to 0, wait forever for the process, never timing out. Default: 0 User Property: p2.timeout |
<installFeatures> |
boolean |
- |
Include the feature JARs in installation. (Technically, this sets the property org.eclipse.update.install.features to true in the p2 profile.)Default: true |
<installSources> |
boolean |
- |
Include the sources of JARs in installation. (Technically, this sets the property org.eclipse.update.install.sources to true in the p2 profile.)Default: false |
<parallel> |
boolean |
- |
Controls if products are allowed to be build in parallel |
<productRepository> |
String |
- |
If a product requires JustJ this repository is automatically added as part of the product assembly, if not this is just ignored. To disable this feature one can set the configuration to an empty value Default: https://download.eclipse.org/justj/jres |
<products> |
List<Product> |
- |
Selection of products to be installed and configuration per product. If the project contains more than one product file, you need to choose for which ones you want to create distribution archives. If you choose to install more than one product, you need to specify the <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>tycho-p2-director-plugin</artifactId> <version>${tycho-version}</version> <executions> <execution> <id>create-distributions</id> <goals> <goal>materialize-products</goal> <goal>archive-products</goal> </goals> </execution> </executions> <configuration> <products> <product> <!-- select product with ID product.id; the archives get the classifiers "<os>.<ws>.<arch>" --> <id>product.id</id> </product> <product> <!-- select product with ID other.product.id for the classifiers "other-<os>.<ws>.<arch>" --> <id>other.product.id</id> <attachId>other</attachId> </product> </products> </configuration> </plugin>The following snippet shows the optional parameters which can be specified per product: <configuration> <products> <product> <id>product.id</id> <!-- optional parameters --> <rootFolder></rootFolder> <rootFolders> <macosx></macosx> <linux></linux> <freebsd></freebsd> <win32></win32> </rootFolders> </product> ... </products> </configuration>Details on the product-specific configuration parameters:
|
<profile> |
String |
- |
The name of the p2 profile to be created. Default: DefaultProfile |
<profileNames> |
List<ProfileName> |
- |
No description. |
<profileProperties> |
Map<String,String> |
- |
Additional profile properties to set when materializing the product |
<source> |
MaterializeProductsMojo$InstallationSource |
- |
Source repositories to be used in the director calls. Can be:
Default: targetPlatform |
Parameter Details
<EEProfiles>
Comma-separated list of profile names to be published. Examples: JavaSE-11, JavaSE-17, JavaSE-18. If not given, all current available JavaSE profiles with version >= 11 are used.
- Type:
java.lang.String
- Required:
No
<directorRuntime>
internal
- to use the director application from Tycho's embedded OSGi runtime (default)standalone
- to create and use a stand-alone installation of the director application. This option is needed if the product to be installed includes artifacts with meta-requirements (e.g. to a non-standard touchpoint action). Requires that thesource
parameter is set torepository
.
- Type:
org.eclipse.tycho.plugins.p2.director.MaterializeProductsMojo$DirectorRuntimeType
- Required:
No
- Default:
internal
<forkedProcessTimeoutInSeconds>
- Type:
int
- Required:
No
- User Property:
p2.timeout
- Default:
0
<installFeatures>
org.eclipse.update.install.features
to true
in the p2 profile.)- Type:
boolean
- Required:
No
- Default:
true
<installSources>
org.eclipse.update.install.sources
to true
in the p2 profile.)- Type:
boolean
- Required:
No
- Default:
false
<parallel>
- Type:
boolean
- Required:
No
<productRepository>
- Type:
java.lang.String
- Required:
No
- Default:
https://download.eclipse.org/justj/jres
<products>
Selection of products to be installed and configuration per product.
If the project contains more than one product file, you need to choose for which ones you want to create distribution archives. If you choose to install more than one product, you need to specify the attachId
(which becomes a part of the classifier) to make the classifiers unique. Example:
<plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>tycho-p2-director-plugin</artifactId> <version>${tycho-version}</version> <executions> <execution> <id>create-distributions</id> <goals> <goal>materialize-products</goal> <goal>archive-products</goal> </goals> </execution> </executions> <configuration> <products> <product> <!-- select product with ID product.id; the archives get the classifiers "<os>.<ws>.<arch>" --> <id>product.id</id> </product> <product> <!-- select product with ID other.product.id for the classifiers "other-<os>.<ws>.<arch>" --> <id>other.product.id</id> <attachId>other</attachId> </product> </products> </configuration> </plugin>The following snippet shows the optional parameters which can be specified per product:
<configuration> <products> <product> <id>product.id</id> <!-- optional parameters --> <rootFolder></rootFolder> <rootFolders> <macosx></macosx> <linux></linux> <freebsd></freebsd> <win32></win32> </rootFolders> </product> ... </products> </configuration>Details on the product-specific configuration parameters:
rootFolder
- The path where the installed product shall be stored in the archive, e.g. "eclipse". By default, the product is stored in the archive root.rootFolders
- OS-specific installation root folders, overridingrootFolder
. Allowed children are<macosx>
,<win32>
,<linux>
and<freebsd>
or any other OS supported by p2. Since 0.18.0
- Type:
java.util.List<org.eclipse.tycho.plugins.p2.director.Product>
- Required:
No
<profile>
- Type:
java.lang.String
- Required:
No
- Default:
DefaultProfile
<profileNames>
- Type:
java.util.List<org.eclipse.tycho.plugins.p2.director.ProfileName>
- Required:
No
<profileProperties>
- Type:
java.util.Map<java.lang.String, java.lang.String>
- Required:
No
<source>
targetPlatform
- to use the target platform as source (default)repository
- to use the p2 repository intarget/repository/
as source. With this option, the build implicitly verifies that it would also be possible to install the product from that repository with an external director application.
- Type:
org.eclipse.tycho.plugins.p2.director.MaterializeProductsMojo$InstallationSource
- Required:
No
- Default:
targetPlatform