Maven/Tycho archetype project for creating a new Tycho-enabled Eclipse plugin, a test fragment, a feature and an update site.


This project contains a Maven/Tycho archetype for creating a new Tycho-enabled Eclipse plugin, a test fragment, a feature and a p2 repository.

This contents of this project structure are based on the sample project outlined in this tutorial: and the Maven archetype created in a subsequent blog entry:

The goal of this archetype is to enable a developer to deploy a working plugin to the world quickly by automating some of the ceremony involved in setting up all the components required for publishing a plug-in.

This archetype is currently in the following Maven repositories
  snapshots -
    $> mvn archetype:generate -DarchetypeCatalog=
       Choose the snapshot version of the timezra.tycho:new-plugin-project-archetype
  releases  -
    $> mvn archetype:generate -DarchetypeCatalog=
       Choose the release version of the timezra.tycho:new-plugin-project-archetype

This project can be built and tested using standard Maven goals:
  $> mvn clean install

The installed artifact will then be locally available and can be used as follows:
  $> mvn archetype:generate -Dfilter=timezra.tycho:new-plugin-project-archetype
     There should only be one choice
     Enter values for your plug-in
       groupId: Your group id
       artifactId: The OSGi Bundle-SymbolicName
       version: The Maven version as well as the OSGi Bundle-Version, both suffixed with -SNAPSHOT and .qualifier, respectively
       package: The root package of the plug-in (often the same as the artifactId) 
       eclipseVersion: Currently indigo and juno work with version 1.0.1 and kepler works with version 1.0.2
       javaVersion: Currently Java 1.6 and 1.7 have been tested
       pluginCategory: The p2 repository category that will contain the plug-in/feature
       pluginName: The OSGi Bundle-Name for the plug-in
       p2RepositoryLocation: The URL where the p2 repository will be published (e.g.,
  $> cd __artifactId__
  $> mvn clean verify
       Or, if you have a certificate for jar signing
     mvn -Psign -Djarsigner.keystore=/path/to/keystore -Djarsigner.storepass=_keystore_password_ -Djarsigner.alias=_keystore_alias_ clean verify