The Tycho project is a proposed open source project under the Technology Project.
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the Eclipse community. Please send all feedback to the Tycho Eclipse Forum.
As more Eclipse users are looking at Maven-based build solutions, along with the great interest in Tycho interest we see from the Eclipse community itself, we feel it's time to bring Tycho to Eclipse. The majority of the Tycho user community are interested in bringing Tycho to Eclipse so that's the path we are taking.
Tycho is focused on a Maven-centric, manifest-first approach to building Eclipse plug-ins, features, update sites, RCP applications and OSGi bundles.
Tycho is a set of Maven plugins and extensions for building Eclipse plugins and OSGi bundles with Maven. Eclipse plugins and OSGi bundles have their own metadata for expressing dependencies, source folder locations, etc. that are normally found in a Maven POM. Tycho uses native metadata for Eclipse plugins and OSGi bundles and uses the POM to configure and drive the build. Tycho supports bundles, fragments, features, update site projects and RCP applications. Tycho also knows how to run JUnit test plugins using OSGi runtime and there is also support for sharing build results using Maven artifact repositories.
Tycho plugins introduce new packaging types and the corresponding lifecycle bindings that allow Maven to use OSGi and Eclipse metadata during a Maven build. OSGi rules are used to resolve project dependencies and package visibility restrictions are honoured by the OSGi-aware JDT-based compiler plugin. Tycho will use OSGi metadata and OSGi rules to calculate project dependencies dynamically and injects them into the Maven project model at build time. Tycho supports all attributes supported by the Eclipse OSGi resolver (Require-Bundle, Import-Package, Eclipse-GenericRequire, etc). Tycho will use proper classpath access rules during compilation. Tycho supports all project types supported by PDE and will use PDE/JDT project metadata where possible. One important design goal in Tycho is to make sure there is no duplication of metadata between POM and OSGi metadata.
The initial code based will be contributed by Sonatype, and is currently located at Github: http://github.com/sonatype/sonatype-tycho.
The following individuals are proposed as initial committers to the project:
- Igor Fedorenko, Sonatype (project lead)
- Benjamin Bentmann, Sonatype
- Marvin Froeder, Sonatype
- Jason van Zyl, Sonatype
- Jan Sievers, SAP
All of these individuals have contributed significantly to the existing code base; they bring their existing knowledge and skill to the project.
The following Architecture Council members will mentor this project:
- Nick Boldt (Redhat)
- Bernd Kolb (SAP)
The following individuals, organisations, companies and projects have expressed interest in this project:
- Gary Keim, Terracotta
- Jesse McConnell, Italio
- Hugues Malphettes, Italio
- Max Andersen, Redhat
- Max Spring, Cisco
- Shawn O. Pearce, Google
- Matthias Vach, SAP
- Jan Sievers, SAP
- Stephan Merker, SAP
- Jan Lohre, SAP
- Beat Strasser, Inventage AG
- David Hudgins, AT&T
- Derek Lane, Independent
- Wendell Beckwith, Independent
- Michael Hüttermann, Independent
- Mattias Holmqvist, Independent
- Ron Pomeroy, Independent
- Alex Blewitt, Independent
- Pascal Leclercq, Independent
- Pete Carapetyan, Independent
- Mykola Nikishov, Indepdendent
- Toni Menzel, Indepdendent
- Steffen Stundzig
- Werner Keil
There are existing solutions at Eclipse in the same space at Tycho. Among these solution are Buckminster, B3, PDE Build, and Athena. Tycho will collaborate with these projects on P2 interoperability issues, but aside from that Tycho competes with these projects.
The initial code contribution will be made when the project review process is completed. We plan to release Tycho 1.0 in Q3 2010.
Changes to this Document
|16-July-2010||Added Jan Sievers to the list of committers.|
|12-April-2010||Added to the list of interested parties.|
|29-March-2010||Added to the list of interested parties.|