Plugin Documentation

Goals available for this plugin:

Goal Description
tycho-p2-repository:archive-repository

Creates a zip archive with the aggregated p2 repository.

tycho-p2-repository:assemble-repository

Aggregates content into a p2 repository in ${project.build.directory}/repository.

  1. Copies resources (if any) from ${project.build.outputDirectory} to ${project.build.directory}/repository. This allows to include additional files such as index.html or about files from src/main/resources (or elsewhere) into the p2 repository.
  2. The p2 aggregation into ${project.build.directory}/repository runs recursively: it starts with the content published in the current module, and traverses all artifacts that are marked as included in already aggregated artifacts. (The following artifacts can include other artifacts: categories, products, and features. Note: Dependencies with a strict version range, i.e. a range which only matches exactly one version of an artifact, are also considered as inclusions.)


tycho-p2-repository:fix-artifacts-metadata Updates the artifact repository metadata checksums and size of modified artifacts in the given folder.

This can be used if some other mojo (e.g. jar-signer) modifies the repository artifacts after the assemble-repository step. An example could be found in the jar-signing-extra integration test

tycho-p2-repository:remap-artifacts-to-m2-repo Modify the artifact metadata of the provided p2 repository by adding extra mapping rules for artifacts the can be resolved to Maven repositories so the URL under Maven repository is used for fetching and artifact is not duplicated inside this repo.
tycho-p2-repository:verify-repository

Checks the consistency of the aggregated p2 repository.

System Requirements

The following specifies the minimum requirements to run this Maven plugin:

Maven 3.6.3
JDK 11
Memory No minimum requirement.
Disk Space No minimum requirement.

Usage

You should specify the version in your project's plugin configuration:

<project>
  ...
  <build>
    <!-- To define the plugin version in your parent POM -->
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-repository-plugin</artifactId>
          <version>2.3.0</version>
        </plugin>
        ...
      </plugins>
    </pluginManagement>
    <!-- To use the plugin goals in your POM or parent POM -->
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-p2-repository-plugin</artifactId>
        <version>2.3.0</version>
      </plugin>
      ...
    </plugins>
  </build>
  ...
</project>

For more information, see "Guide to Configuring Plug-ins"