Table of Contents

Maven tycho

Maven tycho is a maven plugin, which is able to build eclipse artefacts.

eclipse-target-definition

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> 

eclipse-plugin

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>