Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Tycho/Additional Tools"

m (tycho-p2-extras-plugin)
Line 8: Line 8:
  
 
Mirror the org.eclipse.rcp feature from the Indigo p2 repository to target/repository.
 
Mirror the org.eclipse.rcp feature from the Indigo p2 repository to target/repository.
Filter the platfrom-specific fragments to only include linux/gtk/x86_64 os/ws/arch.
+
Filter the platform-specific fragments to only include linux/gtk/x86_64 os/ws/arch.
 
<pre>
 
<pre>
<build>
+
<build>
<plugins>
+
<plugins>
<plugin>
+
<plugin>
<groupId>org.eclipse.tycho.extras</groupId>
+
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-p2-extras-plugin</artifactId>
+
<artifactId>tycho-p2-extras-plugin</artifactId>
<version>${tycho-version}</version>
+
<version>${tycho-version}</version>
<executions>
+
<executions>
<execution>
+
<execution>
<phase>prepare-package</phase>
+
<phase>prepare-package</phase>
<goals>
+
<goals>
<goal>mirror</goal>
+
<goal>mirror</goal>
</goals>
+
</goals>
</execution>
+
</execution>
</executions>
+
</executions>
<configuration>
+
<configuration>
<source>
+
<source>
<!-- source repositori(es) to mirror from -->
+
<!-- source repositori(es) to mirror from -->
<repository>
+
<repository>
<url>http://download.eclipse.org/releases/indigo/</url>
+
<url>http://download.eclipse.org/releases/indigo/</url>
<layout>p2</layout>
+
<layout>p2</layout>
</repository>
+
</repository>
</source>
+
</source>
  
<!-- starting from here all configuration parameters are optional -->
+
<!-- starting from here all configuration parameters are optional -->
  
<!-- List of IUs to mirror. If omitted, allIUs will be mirrored. -->
+
<!-- List of IUs to mirror. If omitted, allIUs will be mirrored. -->
<!-- Omitted IU version element means latest version of the IU -->
+
<!-- Omitted IU version element means latest version of the IU -->
<ius>
+
<ius>
<iu>
+
<iu>
<id>org.eclipse.rcp.feature.group</id>
+
<id>org.eclipse.rcp.feature.group</id>
</iu>
+
</iu>
</ius>
+
</ius>
<!-- The destination directory to mirror to. -->
+
<!-- The destination directory to mirror to. -->
<destination>${project.build.directory}/repository</destination>
+
<destination>${project.build.directory}/mirror</destination>
<!-- Whether only strict dependencies should be followed. -->
+
<!-- Whether only strict dependencies should be followed. -->
<!-- "strict" means perfect version match -->
+
<!-- "strict" means perfect version match -->
<followStrictOnly>false</followStrictOnly>
+
<followStrictOnly>false</followStrictOnly>
<!-- Whether or not to follow optional requirements. -->
+
<!-- Whether or not to follow optional requirements. -->
<includeOptional>true</includeOptional>
+
<includeOptional>true</includeOptional>
<!-- Whether or not to follow non-greedy requirements. -->
+
<!-- Whether or not to follow non-greedy requirements. -->
<includeNonGreedy>true</includeNonGreedy>
+
<includeNonGreedy>true</includeNonGreedy>
<!-- filter properties. E.g. filter only one platform -->
+
<!-- filter properties. E.g. filter only one platform -->
<filter>
+
<filter>
<osgi.os>linux</osgi.os>
+
<osgi.os>linux</osgi.os>
<osgi.ws>gtk</osgi.ws>
+
<osgi.ws>gtk</osgi.ws>
<osgi.arch>x86_64</osgi.arch>
+
<osgi.arch>x86_64</osgi.arch>
</filter>
+
</filter>
<!-- Whether to filter the resulting set of IUs to only -->
+
<!-- Whether to filter the resulting set of IUs to only -->
<!-- include the latest version of each IU -->
+
<!-- include the latest version of each IU -->
<latestVersionOnly>false</latestVersionOnly>
+
<latestVersionOnly>false</latestVersionOnly>
<!-- don't mirror artifacts, only metadata -->
+
<!-- don't mirror artifacts, only metadata -->
<mirrorMetadataOnly>false</mirrorMetadataOnly>
+
<mirrorMetadataOnly>false</mirrorMetadataOnly>
<!-- whether to compress the target repo -->
+
<!-- whether to compress the target repo -->
<compress>true</compress>
+
<compress>true</compress>
<!-- whether to append to the target repo content -->
+
<!-- whether to append to the target repo content -->
<append>true</append>
+
<append>true</append>
</configuration>
+
</configuration>
</plugin>
+
</plugin>
</plugins>
+
</plugins>
</build>
+
</build>
 
</pre>
 
</pre>
  

Revision as of 11:32, 19 August 2011

The Tycho project provides additional tools that may be useful when working with Tycho.

tycho-p2-extras-plugin

The mirror goal of the tycho-p2-extras-plugin copies installable units (plus their corresponding artifacts) from one or more p2 repositories into the build directory. This goal is available since version 0.13.0.

Example usage:

Mirror the org.eclipse.rcp feature from the Indigo p2 repository to target/repository. Filter the platform-specific fragments to only include linux/gtk/x86_64 os/ws/arch.

<build>
	<plugins>
		<plugin>
			<groupId>org.eclipse.tycho.extras</groupId>
			<artifactId>tycho-p2-extras-plugin</artifactId>
			<version>${tycho-version}</version>
			<executions>
				<execution>
					<phase>prepare-package</phase>
					<goals>
						<goal>mirror</goal>
					</goals>
				</execution>
			</executions>
			<configuration>
				<source>
					<!-- source repositori(es) to mirror from -->
					<repository>
						<url>http://download.eclipse.org/releases/indigo/</url>
						<layout>p2</layout>
					</repository>
				</source>

				<!-- starting from here all configuration parameters are optional -->

				<!-- List of IUs to mirror. If omitted, allIUs will be mirrored. -->
				<!-- Omitted IU version element means latest version of the IU -->
				<ius>
					<iu>
						<id>org.eclipse.rcp.feature.group</id>
					</iu>
				</ius>
				<!-- The destination directory to mirror to. -->
				<destination>${project.build.directory}/mirror</destination>
				<!-- Whether only strict dependencies should be followed. -->
				<!-- "strict" means perfect version match -->
				<followStrictOnly>false</followStrictOnly>
				<!-- Whether or not to follow optional requirements. -->
				<includeOptional>true</includeOptional>
				<!-- Whether or not to follow non-greedy requirements. -->
				<includeNonGreedy>true</includeNonGreedy>
				<!-- filter properties. E.g. filter only one platform -->
				<filter>
					<osgi.os>linux</osgi.os>
					<osgi.ws>gtk</osgi.ws>
					<osgi.arch>x86_64</osgi.arch>
				</filter>
				<!-- Whether to filter the resulting set of IUs to only -->
				<!-- include the latest version of each IU -->
				<latestVersionOnly>false</latestVersionOnly>
				<!-- don't mirror artifacts, only metadata -->
				<mirrorMetadataOnly>false</mirrorMetadataOnly>
				<!-- whether to compress the target repo -->
				<compress>true</compress>
				<!-- whether to append to the target repo content -->
				<append>true</append>
			</configuration>
		</plugin>
	</plugins>
</build>

The mojo has the same parameters as the p2.mirror ant task

Back to the top