tycho-p2-repository:assemble-maven-repository
Full name:
org.eclipse.tycho:tycho-p2-repository-plugin:6.0.0-SNAPSHOT:assemble-maven-repository
Description:
This goals produces a "p2-maven-site" from the projects declared <dependencies> (and <dependencyManagement> if desired). A p2-maven-site is completely manageable by standard maven tools and has the following properties:
- 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
- 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
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:
<repository> <id>my-p2-maven-site <url>mvn:[groupId]:[artifactId]:[version]:zip:p2site <layout>p2 </repository>A target location of type software-site:
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit"> <repository location="mvn:[groupId]:[artifactId]:[version]:zip:p2site"/> -- list desired units here -- </location>
Attributes:
- Requires a Maven project to be executed.
- Requires dependency resolution of artifacts in scope: compile.
- The goal is not marked as thread-safe and thus does not support parallel builds.
Required Parameters
| Name | Type | Since | Description | 
|---|---|---|---|
| <buildDirectory> | File | - | The output directory of the jar file By default this is the Maven "target/" directory. User Property: project.build.directory | 
Optional Parameters
| Name | Type | Since | Description | 
|---|---|---|---|
| <categoryFile> | File | - | Location of the category definition. If the file does not exist, a generic category definition is generated including all bundles under one category Default: ${project.basedir}/category.xml | 
| <categoryName> | String | - | Name for the automatically generated category Default: Bundles | 
| <destination> | File | - | No description. Default: ${project.build.directory}/repository | 
| <failOnResolveError> | boolean | - | No description. Default: false | 
| <includeDependencies> | boolean | - | Flag whether declared <dependencies> of the projects should be included. Default: true | 
| <includeManaged> | boolean | - | Flag that controls if <dependencyManagement> managed dependencies should be included, this is useful if your are using a BOM and like to include all materials in the update-site regardless of if they are explicitly included in the <dependencies> section Default: false | 
| <includePGPSignature> | boolean | - | If enabled, PGP signatures of the artifacts are embedded in the P2 site to allow for additional verifications / trust decisions Default: false | 
| <includeReactor> | boolean | - | Flag that controls if reactor projects should be considered, this is useful if your are simply like to make an update side of all your current reactor projects Default: false | 
| <includeTransitiveDependencies> | boolean | - | Flag whether dependencies of the projects declared <dependencies> (and <dependencyManagement> if desired) should be included. If enabled this creates the maven equivalent of a self-contained P2 site Default: false | 
| <includeTransitiveDependenciesScopes> | Set<String> | - | List what scopes should be considered when including transitive dependencies, defaults to compile. In contrast to what maven does, scopes are not inclusive, that means for example thattestdoes not includeDefault: compile | 
| <keyServerRetry> | int | - | Key servers are sometimes busy, this configures the maximum amount of retries to fetch the public key before failing the build Default: 10 | 
| <keyServerUrls> | List<String> | - | Configures the key servers that are used to fetch the public keys, if not specified, "https://keyserver.ubuntu.com/pks/lookup?op=get&search={0}" and "http://pgp.mit.edu/pks/lookup?op=get&search={0}" are used in this order. | 
| <outputTimestamp> | String | - | Timestamp for reproducible output archive entries, either formatted as ISO 8601 extended offset date-time (e.g. in UTC such as '2011-12-03T10:15:30Z' or with an offset '2019-10-05T20:37:42+06:00'), or as an int representing seconds since the epoch (like SOURCE_DATE_EPOCH). Default: ${project.build.outputTimestamp} | 
| <timeoutInSeconds> | int | - | No description. Default: 300 | 
Parameter Details
<buildDirectory>
The output directory of the jar file By default this is the Maven "target/" directory.
- Type: java.io.File
- Required: Yes
- User Property: project.build.directory
<categoryFile>
Location of the category definition. If the file does not exist, a generic category definition is generated including all bundles under one category
- Type: java.io.File
- Required: No
- Default: ${project.basedir}/category.xml
<categoryName>
Name for the automatically generated category
- Type: java.lang.String
- Required: No
- Default: Bundles
<destination>
No description.
- Type: java.io.File
- Required: No
- Default: ${project.build.directory}/repository
<failOnResolveError>
No description.
- Type: boolean
- Required: No
- Default: false
<includeDependencies>
Flag whether declared <dependencies> of the projects should be included.
- Type: boolean
- Required: No
- Default: true
<includeManaged>
Flag that controls if <dependencyManagement> managed dependencies should be included, this is useful if your are using a BOM and like to include all materials in the update-site regardless of if they are explicitly included in the <dependencies> section
- Type: boolean
- Required: No
- Default: false
<includePGPSignature>
If enabled, PGP signatures of the artifacts are embedded in the P2 site to allow for additional verifications / trust decisions
- Type: boolean
- Required: No
- Default: false
<includeReactor>
Flag that controls if reactor projects should be considered, this is useful if your are simply like to make an update side of all your current reactor projects
- Type: boolean
- Required: No
- Default: false
<includeTransitiveDependencies>
Flag whether dependencies of the projects declared <dependencies> (and <dependencyManagement> if desired) should be included. If enabled this creates the maven equivalent of a self-contained P2 site
- Type: boolean
- Required: No
- Default: false
<includeTransitiveDependenciesScopes>
List what scopes should be considered when including transitive dependencies, defaults to 
 ! If you want that specify both scopes here.
 
compile. In contrast to what maven does, scopes are not inclusive, that means for example that test does not include - Type: java.util.Set<java.lang.String>
- Required: No
- Default: compile
<keyServerRetry>
Key servers are sometimes busy, this configures the maximum amount of retries to fetch the public key before failing the build
- Type: int
- Required: No
- Default: 10
<keyServerUrls>
Configures the key servers that are used to fetch the public keys, if not specified, "https://keyserver.ubuntu.com/pks/lookup?op=get&search={0}" and "http://pgp.mit.edu/pks/lookup?op=get&search={0}" are used in this order.
- Type: java.util.List<java.lang.String>
- Required: No
<outputTimestamp>
Timestamp for reproducible output archive entries, either formatted as ISO 8601 extended offset date-time (e.g. in UTC such as '2011-12-03T10:15:30Z' or with an offset '2019-10-05T20:37:42+06:00'), or as an int representing seconds since the epoch (like SOURCE_DATE_EPOCH).
- Type: java.lang.String
- Required: No
- Default: ${project.build.outputTimestamp}
<timeoutInSeconds>
No description.
- Type: int
- Required: No
- Default: 300
