tycho-p2-director:archive-products

Full name:

org.eclipse.tycho:tycho-p2-director-plugin:0.21.0:archive-products

Description:

Creates archives with the product installations.

Attributes:

  • Requires a Maven project to be executed.
  • Binds by default to the lifecycle phase: package.

Optional Parameters

Name Type Since Description
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 value is: 0.
User property is: p2.timeout.
formats Map -

Maps os to format. By default a zip file will be created. For example, the following configuration will create tar.gz product archives for Linux

<formats>
  <linux>tar.gz</linux>
</formats>
Supported formats
  • zip
  • tar.gz
The future versions can introduce support for other file formats and multiple formats per-os.


products List -

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>
          <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, overriding rootFolder. Allowed children are <macosx>, <win32> and <linux> or any other OS supported by p2. Since 0.18.0

Parameter Details

forkedProcessTimeoutInSeconds:

Kill the forked process after a certain number of seconds. If set to 0, wait forever for the process, never timing out.
  • Type: int
  • Required: No
  • User Property: p2.timeout
  • Default: 0

formats:

Maps os to format. By default a zip file will be created. For example, the following configuration will create tar.gz product archives for Linux

<formats>
  <linux>tar.gz</linux>
</formats>
Supported formats
  • zip
  • tar.gz
The future versions can introduce support for other file formats and multiple formats per-os.

  • Type: java.util.Map
  • Required: No

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>
          <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, overriding rootFolder. Allowed children are <macosx>, <win32> and <linux> or any other OS supported by p2. Since 0.18.0
  • Type: java.util.List
  • Required: No