Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Tycho/Plugins Explained"
m (Update dead link to actual location of Eclipse Platform Parent POM.) |
(this is not official Tycho documentation -> removing Tycho category) |
||
Line 162: | Line 162: | ||
== Plugins: == | == Plugins: == | ||
+ | |||
+ | {{note|Tycho plugin documentation|The information below does not describe the Tycho plugins in general, but only their use in the Eclipse Platform/CBI build. The general Tycho plugin documentation is here: [https://www.eclipse.org/tycho/sitedocs/ Tycho Site Docs], [https://www.eclipse.org/tycho/sitedocs-extras/ Tycho Extras Site Docs]}} | ||
==== tycho-buildtimestamp-jgit ==== | ==== tycho-buildtimestamp-jgit ==== | ||
Line 622: | Line 624: | ||
− | [[Category:CBI | + | [[Category:CBI|Plugins Explained]] |
Revision as of 05:06, 11 April 2015
The purpose of this page is to document the various Tycho plugins for Maven and how they are used in the Eclipse build process. This page is meant to be a landing page (cheat sheet) for the plugins and will not necessarily contain the information directly. Most of this information is already available in various forum posts and email threads. This page is merely a centralized location to aggregate (not duplicate) links to and summaries of the information users desire.
The eclipse-parent pom is the base pom file for most Eclipse projects (not including the Super POM). It contains many plugins from Tycho and CBI that are useful in other production environments. As new information and plugins become available we will try to update this page as best as possible.
Contents
- 1 Plugins:
- 2 Plugins:
- 2.1 tycho-buildtimestamp-jgit
- 2.2 tycho-compiler-plugin
- 2.3 tycho-custom-bundle-plugin
- 2.4 tycho-maven-plugin
- 2.5 tycho-p2-director-plugin
- 2.6 tycho-p2-plugin
- 2.7 tycho-p2-repository-plugin
- 2.8 tycho-pack200a-plugin
- 2.9 tycho-pack200b-plugin
- 2.10 tycho-packaging-plugin
- 2.11 tycho-source-feature-plugin
- 2.12 tycho-source-plugin
- 2.13 tycho-surefire-plugin
Plugins:
eclipse-cbi-plugin
Insert Brief Description
References
Examples
<build>
<plugins>
<plugin>
...
</plugin>
<plugin>
<groupId>org.eclipse.cbi.maven.plugins</groupId>
<artifactId>eclipse-cbi-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<goals>
<goal>generate-api-build-xml</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
eclipse-jarsigner-plugin
Insert Brief Description
References
Examples
<profiles>
<profile>
<id>eclipse-sign</id>
<build>
<plugins>
<plguin>
...
</plugin>
<plugin>
<groupId>org.eclipse.cbi.maven.plugins</groupId>
<artifactId>eclipse-jarsigner-plugin</artifactId>
<version>1.0.2</version>
<executions>
<execution>
<id>sign</id>
<goals>
<goal>sign</goal>
</goals>
<phase>verify</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
target-platform-configuration
Insert Brief Description
References
- see thread: What's org.eclipse.tycho:target-platform-configuration about?
- see bug: Defer target&dependency resolution to the normal build
Examples
|
<profiles> <profile> <id>eclipse-sign</id> <build> <plugins> <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>target-platform-configuration</artifactId> <version>${tycho.version}</version> <configuration> <includePackedArtifacts>true</includePackedArtifacts> </configuration> </plugin> </plugins> </build> </profile> </profiles> |
Plugins:
tycho-buildtimestamp-jgit
Use this plugin to generate stable version qualifiers. Instead of creating a version qualifier based on the time of the actual build, the version qualifier is based on the most recent commit. When configured with an associated p2 repository, the same artifact id/version are guaranteed to represent the same artifact contents. The advantage being only those plugins whose contents materially changed are downloaded during a p2 update.
References Reproducible Version Qualifiers Re: [tycho-user build-qualifier-aggregator failed: One of setGitDir or setWorkTree must be called]
Examples Reproducible Version Qualifiers - Configuratioin
tycho-compiler-plugin
Insert Brief Description
References
Examples
|
|
tycho-custom-bundle-plugin
Insert Brief Description
References
Examples
<build>
<pluginManagement>
<plugins>
<plugin>
...
</plugin>
<plugin>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-custom-bundle-plugin</artifactId>
<version>${tycho-extras.version}</version>
</plugin>
</plugins>
</pluginManagement>
</build>
tycho-maven-plugin
Insert Brief Description
References
Examples
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho.version}</version>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
tycho-p2-director-plugin
Insert Brief Description
References
Examples
<build>
<pluginManagement>
<plugins>
<plugin>
...
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-director-plugin</artifactId>
<version>${tycho.version}</version>
</plugin>
</plugins>
</pluginManagement>
</build>
tycho-p2-plugin
Insert Brief Description
References
Examples
|
|
tycho-p2-repository-plugin
Insert Brief Description
References
Examples
<build>
<pluginManagement>
<plugins>
<plugin>
...
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-repository-plugin</artifactId>
<version>${tycho.version}</version>
</plugin>
</plugins>
</pluginManagement>
</build>
tycho-pack200a-plugin
Insert Brief Description
References
Examples
<profiles>
<profile>
<id>eclipse-sign</id>
<build>
<plugins>
<plguin>
...
</plugin>
<plugin>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-pack200a-plugin</artifactId>
<version>${tycho-extras.version}</version>
<executions>
<execution>
<id>pack200-normalize</id>
<goals>
<goal>normalize</goal>
</goals>
<phase>verify</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
tycho-pack200b-plugin
Insert Brief Description
References
Examples
<profiles>
<profile>
<id>eclipse-sign</id>
<build>
<plugins>
<plguin>
...
</plugin>
<plugin>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-pack200b-plugin</artifactId>
<version>${tycho-extras.version}</version>
<executions>
<execution>
<id>pack200-pack</id>
<goals>
<goal>pack</goal>
</goals>
<phase>verify</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
tycho-packaging-plugin
Insert Brief Description
References
Examples
<build>
<pluginManagement>
<plugins>
<plugin>
...
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-packaging-plugin</artifactId>
<version>${tycho.version}</version>
<dependencies>
<dependency>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-buildtimestamp-jgit</artifactId>
<version>${tycho-extras.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-sourceref-jgit</artifactId>
<version>${tycho-extras.version}</version>
</dependency>
</dependencies>
<configuration>
<strictBinIncludes>false</strictBinIncludes>
<format>'v'yyyyMMdd-HHmm</format>
<timestampProvider>jgit</timestampProvider>
<!--jgit.ignore>
pom.xml
</jgit.ignore-->
<sourceReferences>
<generate>true</generate>
</sourceReferences>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
tycho-source-feature-plugin
Insert Brief Description
References
Examples
<build>
<pluginManagement>
<plugins>
<plugin>
...
</plugin>
<plugin>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-source-feature-plugin</artifactId>
<version>${tycho-extras.version}</version>
</plugin>
</plugins>
</pluginManagement>
</build>
tycho-source-plugin
Insert Brief Description
References
Examples
|
|
tycho-surefire-plugin
Insert Brief Description
References
Examples
<build>
<pluginManagement>
<plugins>
<plugin>
...
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-surefire-plugin</artifactId>
<version>${tycho.version}</version>
</plugin>
</plugins>
</pluginManagement>
</build>