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

Tycho/Plugins Explained

< Tycho
Revision as of 05:06, 11 April 2015 by T-oberlies.posteo.de (Talk | contribs) (this is not official Tycho documentation -> removing Tycho category)

Stop.png
This page is incomplete
Please feel free to continue listing the Tycho plugins found in the eclipse-parent pom. The goal is to provide a complete description of all the components used in the file.


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.

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

Examples

 <build>
    <plugins>
      <plugin>
        ...
      </plugin>
    
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>target-platform-configuration</artifactId>
        <configuration>
          <environments>
            <environment>
              <os>linux</os>
              <ws>gtk</ws>
              <arch>x86</arch>
            </environment>
            <environment>
              <os>linux</os>
              <ws>gtk</ws>
              <arch>x86_64</arch>
            </environment>
            <environment>
              <os>win32</os>
              <ws>win32</ws>
              <arch>x86</arch>
            </environment>
            <environment>
              <os>win32</os>
              <ws>win32</ws>
              <arch>x86_64</arch>
            </environment>
            <environment>
              <os>macosx</os>
              <ws>cocoa</ws>
              <arch>x86_64</arch>
            </environment>
          </environments>
        </configuration>
      </plugin>
    </plugins>
  </build>
 <build>
    <pluginManagement>
      <plugins>
        <plugin>
          ...
        </plugin>
    
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>target-platform-configuration</artifactId>
          <version>${tycho.version}</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
 <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:

Note.png
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: Tycho Site Docs, Tycho Extras Site Docs


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

 <build>
    <pluginManagement>
      <plugins>
        <plugin>
          ...
        </plugin>
    
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-compiler-plugin</artifactId>
          <version>${tycho.version}</version>
          <dependencies>
            <dependency>
              <groupId>org.eclipse.jdt</groupId>
              <artifactId>org.eclipse.jdt.core</artifactId>
              <version>${cbi-jdt-version}</version>
            </dependency>
          </dependencies>
          <configuration>
            <showWarnings>true</showWarnings>
            <compilerArguments>
              <inlineJSR/>
              <enableJavadoc/>
              <encoding>${project.build.sourceEncoding}</encoding>
              <proceedOnError/>
              <log>${project.build.directory}/@dot.xml</log>
            </compilerArguments>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
 <profiles>
    <profile>
      ...
    </profile>
    
    <profile>
      <id>bree-libs</id>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.eclipse.tycho</groupId>
              <artifactId>tycho-compiler-plugin</artifactId>
              <version>${tycho.version}</version>
              <configuration>
                <useJDK>BREE</useJDK>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
  </profiles>


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

 <build>
    <pluginManagement>
      <plugins>
        <plugin>
          ...
        </plugin>
    
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-plugin</artifactId>
          <version>${tycho.version}</version>
          <configuration>
            <baselineMode>warn</baselineMode>
            <baselineReplace>none</baselineReplace>
            <baselineRepositories>
              <repository>
                <url>${comparator.repo}</url>
              </repository>
            </baselineRepositories>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
 
 <profiles>
    <profile>
      ...
    </profile>
    
    <profile>
      <id>eclipse-sign</id>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              ...
            </plugin>
          
            <plugin>
              <groupId>org.eclipse.tycho</groupId>
              <artifactId>tycho-p2-plugin</artifactId>
              <version>${tycho.version}</version>
              <executions>
                <execution>
                  <id>p2-metadata</id>
                  <goals>
                    <goal>p2-metadata</goal>
                  </goals>
                  <phase>verify</phase>
                </execution>
              </executions>
              <configuration>
                <defaultP2Metadata>false</defaultP2Metadata>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
  </profiles>


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

 <build>
    <plugins>
      <plugin>
        ...
      </plugin>
    
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-source-plugin</artifactId>
        <executions>
          <execution>
            <id>plugin-source</id>
            <goals>
              <goal>plugin-source</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
 <build>
    <pluginManagement>
      <plugins>
        <plugin>
          ...
        </plugin>
    
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-source-plugin</artifactId>
          <version>${tycho.version}</version>
          <configuration>
            <strictSrcIncludes>false</strictSrcIncludes>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>


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>

Copyright © Eclipse Foundation, Inc. All Rights Reserved.