# tycho

## Overview

### Description

Tycho integrates Maven with Eclipse and OSGi

### Snippets

Apache MavenGradlesbtivygrapeleiningenbuildrbldScala CLIMill

Copy to clipboard

```
<dependency>
    <groupId>org.eclipse.tycho</groupId>
    <artifactId>tycho</artifactId>
    <version>5.0.3</version>
</dependency>
```

### Maven POM File

Copy to clipboard

```
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<inceptionYear>2008</inceptionYear>
	<url>https://www.eclipse.org/tycho/</url>
	<ciManagement>
		<system>jenkins</system>
		<url>https://ci.eclipse.org/tycho</url>
	</ciManagement>
	<licenses>
		<license>
			<name>EPL-2.0</name>
			<url>https://www.eclipse.org/legal/epl-v20.html</url>
			<distribution>repo</distribution>
		</license>
	</licenses>
	<organization>
		<name>Eclipse Foundation</name>
		<url>https://www.eclipse.org/</url>
	</organization>
	<issueManagement>
		<system>GitHub</system>
		<url>https://github.com/eclipse-tycho/tycho/issues</url>
	</issueManagement>
	<scm>
		<connection>scm:git:https://github.com/eclipse-tycho/tycho.git</connection>
		<developerConnection>scm:git:https://github.com/eclipse-tycho/tycho.git</developerConnection>
		<url>https://github.com/eclipse-tycho/tycho/</url>
	</scm>
	<developers>
		<developer>
			<id>tycho</id>
			<name>Tycho</name>
			<email>tycho-dev@eclipse.org</email>
			<organization>Eclipse Tycho Project</organization>
			<organizationUrl>https://projects.eclipse.org/projects/technology.tycho</organizationUrl>
		</developer>
	</developers>
	<groupId>org.eclipse.tycho</groupId>
	<artifactId>tycho</artifactId>
	<version>5.0.3</version>
	<packaging>pom</packaging>
	<name>Tycho</name>
	<description>Tycho integrates Maven with Eclipse and OSGi</description>
	<properties>
		<project.build.outputTimestamp>2026-05-29T03:57:17Z</project.build.outputTimestamp>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<min.jdk.version>21</min.jdk.version>
		<commonsCompressVersion>1.28.0</commonsCompressVersion>
		<plexusVersion>2.2.0</plexusVersion>
		<plexusUtilsVersion>4.0.3</plexusUtilsVersion>
		<plexusCompilerVersion>2.16.2</plexusCompilerVersion>
		<pluginToolsVersion>3.15.2</pluginToolsVersion>
		<jgit-version>7.6.0.202603022253-r</jgit-version>
		<maven-version>3.9.16</maven-version>
		<sisu-version>1.0.0</sisu-version>
		<minimal-maven-version>3.9.9</minimal-maven-version>
		<surefire-version>3.5.5</surefire-version>
		<equinoxVersion>3.24.100</equinoxVersion>
		<ecjVersion>3.45.0</ecjVersion>
		<bouncycastleVersion>1.84</bouncycastleVersion>
		<bnd.version>7.2.3</bnd.version>
		<junit.version>6.1.0</junit.version>
		<resources-plugin.version>3.3.1</resources-plugin.version>
		<install-plugin.version>3.1.1</install-plugin.version>
		<deploy-plugin.version>3.1.1</deploy-plugin.version>
		<clean-plugin.version>3.3.2</clean-plugin.version>
		<surefire-plugin.version>${surefire-version}</surefire-plugin.version>
	</properties>
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.apache.maven</groupId>
				<artifactId>maven-plugin-api</artifactId>
				<scope>provided</scope>
				<version>${maven-version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.maven.plugin-tools</groupId>
				<artifactId>maven-plugin-annotations</artifactId>
				<version>${pluginToolsVersion}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.maven</groupId>
				<artifactId>maven-core</artifactId>
				<scope>provided</scope>
				<version>${maven-version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.maven</groupId>
				<artifactId>maven-artifact</artifactId>
				<scope>provided</scope>
				<version>${maven-version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.maven</groupId>
				<artifactId>maven-compat</artifactId>
				<scope>provided</scope>
				<version>${maven-version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.maven</groupId>
				<artifactId>maven-model</artifactId>
				<scope>provided</scope>
				<version>${maven-version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.maven</groupId>
				<artifactId>maven-settings</artifactId>
				<scope>provided</scope>
				<version>${maven-version}</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.plexus</groupId>
				<artifactId>plexus-component-annotations</artifactId>
				<version>${plexusVersion}</version>
			</dependency>
			<dependency>
				<groupId>org.eclipse.sisu</groupId>
				<artifactId>org.eclipse.sisu.plexus</artifactId>
				<version>${sisu-version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.codehaus.plexus</groupId>
				<artifactId>plexus-utils</artifactId>
				<version>${plexusUtilsVersion}</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.plexus</groupId>
				<artifactId>plexus-xml</artifactId>
				<version>3.0.2</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.plexus</groupId>
				<artifactId>plexus-archiver</artifactId>
				<version>4.11.0</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.plexus</groupId>
				<artifactId>plexus-compiler-api</artifactId>
				<version>${plexusCompilerVersion}</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.plexus</groupId>
				<artifactId>plexus-compiler-manager</artifactId>
				<version>${plexusCompilerVersion}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-compress</artifactId>
				<version>${commonsCompressVersion}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-compress</artifactId>
				<classifier>sources</classifier>
				<version>${commonsCompressVersion}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-exec</artifactId>
				<version>1.6.0</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-lang3</artifactId>
				<version>3.20.0</version>
			</dependency>
			<dependency>
				<groupId>org.eclipse.platform</groupId>
				<artifactId>org.eclipse.osgi</artifactId>
				<version>${equinoxVersion}</version>
			</dependency>
			<dependency>
				<groupId>org.eclipse.jdt</groupId>
				<artifactId>ecj</artifactId>
				<version>${ecjVersion}</version>
			</dependency>
			<dependency>
				<groupId>org.eclipse.jdt</groupId>
				<artifactId>org.eclipse.jdt.core</artifactId>
				<version>3.45.0</version>
			</dependency>
			<dependency>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-testing-harness</artifactId>
				<version>${project.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>commons-io</groupId>
				<artifactId>commons-io</artifactId>
				<version>2.22.0</version>
			</dependency>
			<dependency>
				<groupId>commons-net</groupId>
				<artifactId>commons-net</artifactId>
				<version>3.13.0</version>
			</dependency>
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>4.13.2</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.junit.jupiter</groupId>
				<artifactId>junit-jupiter-api</artifactId>
				<version>${junit.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-core</artifactId>
				<version>5.23.0</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.hamcrest</groupId>
				<artifactId>hamcrest-core</artifactId>
				<version>3.0</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>de.pdark</groupId>
				<artifactId>decentxml</artifactId>
				<version>1.4</version>
			</dependency>
			<dependency>
				<groupId>org.apache.bcel</groupId>
				<artifactId>bcel</artifactId>
				<version>6.12.0</version>
			</dependency>
			<dependency>
				<groupId>org.apache.maven.plugin-testing</groupId>
				<artifactId>maven-plugin-testing-harness</artifactId>
				<version>3.5.1</version>
			</dependency>
			<dependency>
				<groupId>org.apache.maven</groupId>
				<artifactId>maven-archiver</artifactId>
				<version>3.6.6</version>
			</dependency>
			<dependency>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<type>maven-plugin</type>
				<version>3.4.0</version>
			</dependency>
			<dependency>
				<groupId>org.apache.maven.shared</groupId>
				<artifactId>maven-verifier</artifactId>
				<version>1.8.0</version>
			</dependency>
			<dependency>
				<groupId>biz.aQute.bnd</groupId>
				<artifactId>biz.aQute.bndlib</artifactId>
				<version>${bnd.version}</version>
				<exclusions>
					<exclusion>
						<groupId>org.osgi</groupId>
						<artifactId>*</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.sonatype.plexus</groupId>
				<artifactId>plexus-build-api</artifactId>
				<version>0.0.7</version>
			</dependency>
			<dependency>
				<groupId>org.eclipse.platform</groupId>
				<artifactId>org.eclipse.core.runtime</artifactId>
				<version>3.34.200</version>
			</dependency>
			<dependency>
				<groupId>org.eclipse.platform</groupId>
				<artifactId>org.eclipse.ui.workbench</artifactId>
				<version>3.138.0</version>
				<exclusions>
					<exclusion>
						<groupId>org.osgi</groupId>
						<artifactId>*</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.eclipse.platform</groupId>
				<artifactId>org.eclipse.equinox.p2.repository</artifactId>
				<version>2.9.600</version>
			</dependency>
			<dependency>
				<groupId>org.eclipse.platform</groupId>
				<artifactId>org.eclipse.equinox.p2.publisher.eclipse</artifactId>
				<version>1.6.700</version>
			</dependency>
			<dependency>
				<groupId>org.eclipse.platform</groupId>
				<artifactId>org.eclipse.equinox.simpleconfigurator.manipulator</artifactId>
				<version>2.3.600</version>
			</dependency>
			<dependency>
				<groupId>org.bouncycastle</groupId>
				<artifactId>bcpg-jdk18on</artifactId>
				<version>${bouncycastleVersion}</version>
			</dependency>
			<dependency>
				<groupId>org.bouncycastle</groupId>
				<artifactId>bcprov-jdk18on</artifactId>
				<version>${bouncycastleVersion}</version>
			</dependency>
			<dependency>
				<groupId>org.bouncycastle</groupId>
				<artifactId>bcutil-jdk18on</artifactId>
				<version>${bouncycastleVersion}</version>
			</dependency>
			</dependencies>
	</dependencyManagement>
	<build>
		<plugins>
			<plugin>
				<artifactId>maven-enforcer-plugin</artifactId>
			</plugin>
			<plugin>
				<artifactId>maven-source-plugin</artifactId>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.codehaus.plexus</groupId>
					<artifactId>plexus-component-metadata</artifactId>
					<version>${plexusVersion}</version>
					<executions>
						<execution>
							<?m2e execute onIncremental?>
							<goals>
								<goal>generate-metadata</goal>
								<goal>generate-test-metadata</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<extractors>class</extractors>
					</configuration>
					<dependencies>
						<dependency>
							<groupId>org.ow2.asm</groupId>
							<artifactId>asm</artifactId>
							<version>9.10</version>
						</dependency>
					</dependencies>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-plugin-plugin</artifactId>
					<version>${pluginToolsVersion}</version>
					<configuration>
						<skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
						<extractors>
							<extractor>java-annotations</extractor>
						</extractors>
					</configuration>
					<executions>
						<execution>
							<id>default-descriptor</id>
							<goals>
								<goal>descriptor</goal>
							</goals>
							<phase>process-classes</phase>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>${surefire-version}</version>
					<configuration>
						<trimStackTrace>false</trimStackTrace>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-clean-plugin</artifactId>
					<version>3.5.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-deploy-plugin</artifactId>
					<version>3.1.4</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.15.0</version>
					<configuration>
						<release>${min.jdk.version}</release>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>3.5.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-release-plugin</artifactId>
					<version>3.3.1</version>
					<configuration>
						<tagBase>https://svn.sonatype.org/m2eclipse/tycho/tags</tagBase>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-assembly-plugin</artifactId>
					<version>3.8.0</version>
					<configuration>
						<tarLongFileMode>gnu</tarLongFileMode>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-dependency-plugin</artifactId>
					<version>3.10.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-resources-plugin</artifactId>
					<version>3.5.0</version>
					<configuration>
						<propertiesEncoding>UTF-8</propertiesEncoding>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-source-plugin</artifactId>
					<version>3.4.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-install-plugin</artifactId>
					<version>3.1.4</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-site-plugin</artifactId>
					<version>3.22.0</version>
					<dependencies>
						<dependency>
							<groupId>org.apache.maven.doxia</groupId>
							<artifactId>doxia-module-markdown</artifactId>
							<version>2.1.0</version>
						</dependency>
					</dependencies>
					<configuration>
						<relativizeSiteLinks>false</relativizeSiteLinks>
					</configuration>
				</plugin>
				<plugin>
					<groupId>biz.aQute.bnd</groupId>
					<artifactId>bnd-maven-plugin</artifactId>
					<version>${bnd.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-enforcer-plugin</artifactId>
					<version>3.6.3</version>
					<executions>
						<execution>
							<id>no-duplicate-declared-dependencies</id>
							<goals>
								<goal>enforce</goal>
							</goals>
							<configuration>
								<rules>
									<banDuplicatePomDependencyVersions />
									<requireJavaVersion>
										<version>${min.jdk.version}</version>
									</requireJavaVersion>
									<requireMavenVersion>
										<version>3.8.6</version>
									</requireMavenVersion>
									<requirePluginVersions />
								</rules>
							</configuration>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-invoker-plugin</artifactId>
					<version>3.10.1</version>
				</plugin>
				<plugin>
					<groupId>org.eclipse.sisu</groupId>
					<artifactId>sisu-maven-plugin</artifactId>
					<version>${sisu-version}</version>
					<executions>
						<execution>
							<id>index-project</id>
							<goals>
								<goal>main-index</goal>
								<goal>test-index</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-plugin-report-plugin</artifactId>
				<version>${pluginToolsVersion}</version>
				<configuration>
					<requirements>
						<maven>${minimal-maven-version}</maven>
						<jdk>${min.jdk.version}</jdk>
					</requirements>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-project-info-reports-plugin</artifactId>
				<version>3.9.0</version>
				<reportSets>
					<reportSet>
						<reports>
							<report>index</report>
						</reports>
					</reportSet>
				</reportSets>
			</plugin>
		</plugins>
	</reporting>
	<modules>
		<module>tycho-api</module>
		<module>sisu-osgi</module>
		<module>p2-maven-plugin</module>
		<module>tycho-metadata-model</module>
		<module>tycho-spi</module>
		<module>tycho-core</module>
		<module>tycho-testing-harness</module>
		<module>tycho-compiler-jdt</module>
		<module>tycho-lib-detector</module>
		<module>tycho-compiler-plugin</module>
		<module>tycho-p2</module>
		<module>tycho-packaging-plugin</module>
		<module>tycho-source-plugin</module>
		<module>target-platform-configuration</module>
		<module>tycho-maven-plugin</module>
		<module>tycho-ds-plugin</module>
		<module>tycho-buildtimestamp-jgit</module>
		<module>tycho-baseline-plugin</module>
		<module>tycho-sbom</module>
		<module>tycho-surefire</module>
		<module>tycho-versions-plugin</module>
		<module>tycho-p2-director-plugin</module>
		<module>tycho-p2-plugin</module>
		<module>tycho-p2-publisher-plugin</module>
		<module>tycho-p2-repository-plugin</module>
		<module>tycho-artifactcomparator</module>
		<module>tycho-gpg-plugin</module>
		<module>tycho-extras</module>
		<module>tycho-build</module>
		<module>tycho-apitools-plugin</module>
		<module>tycho-targetplatform</module>
		<module>tycho-bnd-plugin</module>
		<module>tycho-repository-plugin</module>
		<module>tycho-eclipse-plugin</module>
		<module>tycho-wrap-plugin</module>
		<module>tycho-cleancode-plugin</module>
		<module>tycho-bndlib</module>
		<module>tycho-sbom-plugin</module>
	</modules>
	<profiles>
		<profile>
			<id>its</id>
			<modules>
				<module>tycho-its</module>
			</modules>
		</profile>
		<profile>
			<id>coverage</id>
			<properties>
				<sonar.jacoco.reportPath>${project.build.directory}/jacoco.exec</sonar.jacoco.reportPath>
			</properties>
			<build>
				<plugins>
					<plugin>
						<groupId>org.jacoco</groupId>
						<artifactId>jacoco-maven-plugin</artifactId>
						<version>0.8.14</version>
						<executions>
							<execution>
								<goals>
									<goal>prepare-agent</goal>
								</goals>
								<configuration>
									<destFile>${sonar.jacoco.reportPath}</destFile>
									<append>true</append>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>release</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>3.2.8</version>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<version>3.12.0</version>
						<configuration>
							<failOnError>false</failOnError>
						</configuration>
						<executions>
							<execution>
								<id>javadoc-jar</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
        <profile>
            <id>avoid-maven-compiler-warnings</id>
            <activation>
                <jdk>[21,)</jdk>
            </activation>
            <build>
				<pluginManagement>
					<plugins>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-compiler-plugin</artifactId>
							<configuration>
								<proc>full</proc>
							</configuration>
						</plugin>
					</plugins>
				</pluginManagement>
			</build>
        </profile>
	</profiles>
	<distributionManagement>
		<site>
			<id>tycho.site</id>
			<name>Tycho Site</name>
			<url>http://staging</url>
		</site>
		<snapshotRepository>
			<id>${forgeSnapshotId}</id>
			<url>${forgeSnapshotUrl}</url>
		</snapshotRepository>
	</distributionManagement>
</project>
```

#### Metadata

Age:1 month ago

Licenses:

- EPL-2.0

#### Organization

[org.eclipse.tycho](https://central.sonatype.com/namespace/org.eclipse.tycho)

#### External Resources

[Project URL](https://www.eclipse.org/tycho/)

[Issue Tracker URL](https://github.com/eclipse-tycho/tycho/issues)

[Source Control](https://github.com/eclipse-tycho/tycho/)

[Continuous Integration](https://ci.eclipse.org/tycho)

#### Known Contributors

Tycho

Sonatype GuideSee vulnerability info [View](https://guide.sonatype.com/component/maven/org.eclipse.tycho:tycho/5.0.3)
