tycho-p2-repository:assemble-maven-repository

Full name:

org.eclipse.tycho:tycho-p2-repository-plugin:4.0.3: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
Please note: 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.

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:[grouId]:[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:[grouId]:[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 is: project.build.directory.

Optional Parameters

Name Type Since Description
<categoryFile> File - Location of the category definition. If the file does not exits, a generic category definition is generated including all bundles under one category
Default value is: ${project.basedir}/category.xml.
<categoryName> String - Name for the automatically generated category
Default value is: Bundles.
<destination> File - (no description)
Default value is: ${project.build.directory}/repository.
<includeDependencies> boolean - Flag whether declared <dependencies> of the projects should be included.
Default value is: 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 value is: false.
<includePGPSignature> boolean - If enabled, PGP signatures of the artifacts are embedded in the P2 site to allow for additional verifications / trust decisions
Default value is: 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 value is: 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 value is: false.
<keyServerRetry> int - Key servers are sometimes busy, this configures the maximum amount of retries to fetch the public key before failing the build
Default value is: 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.
<timeoutInSeconds> int - (no description)
Default value is: 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 exits, 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

<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

<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

<timeoutInSeconds>

(no description)
  • Type: int
  • Required: No
  • Default: 300