Maven tycho is a maven plugin, which is able to build eclipse artefacts.
The target platform may should be packages as eclipse-target-definition
<?xml version="1.0" encoding="UTF-8"?> <project> <modelVersion>4.0.0</modelVersion> <groupId>ru.mine</groupId> <artifactId>target</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>eclipse-target-definition</packaging> <properties> <tycho-version>0.23.1</tycho-version> </properties> <build> <plugins> <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>tycho-maven-plugin</artifactId> <version>${tycho-version}</version> <extensions>true</extensions> </plugin> </plugins> </build> </project>
The plugin is build via eclipse-plugin.
The dependencies may be resolved via e.g. via a target platform
The following references the upper target, to resolve dependencies.
<plugins> <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>target-platform-configuration</artifactId> <version>${tycho.version}</version> <configuration> <target> <artifact> <groupId>ru.mine</groupId> <artifactId>target</artifactId> <version>1.0.0-SNAPSHOT</version> </artifact> </target> </configuration> </plugin> </plugins> </build> </project>
The relevant plugin is configured separately via target-platform-configuration
Here is the complete project configuration, to build a plugin.
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>ru.mine.annotationbinder</groupId> <artifactId>ru.mine.annotationbinder</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> <properties> <tycho.version>0.23.0</tycho.version> </properties> <build> <plugins> <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>tycho-maven-plugin</artifactId> <version>${tycho.version}</version> <extensions>true</extensions> </plugin> <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>target-platform-configuration</artifactId> <version>${tycho.version}</version> <configuration> <target> <artifact> <groupId>ru.mine</groupId> <artifactId>target</artifactId> <version>1.0.0-SNAPSHOT</version> </artifact> </target> <environments> <environment> <os>win32</os> <ws>win32</ws> <arch>x86</arch> </environment> <environment> <os>win32</os> <ws>win32</ws> <arch>x86_64</arch> </environment> </environments> </configuration> </plugin> </plugins> </build> </project>