blob: 9760fcd9687548ca4c2823a97c1c19f7ecf0302d [file] [log] [blame]
<html>
<head>
<title>Tycho</title>
</head>
<body>
<p>The Tycho project is a proposed open source project under the <a
href="http://www.eclipse.org/projects/project_summary.php?projectid=technology">Technology
Project</a>.</p>
<p>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 <a
href="http://www.eclipse.org/forums/eclipse.tycho">Tycho</a> Eclipse
Forum.</p>
<h2>Background</h2>
<p>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.</p>
<h2>Scope</h2>
<p>Tycho is focused on a Maven-centric, manifest-first approach to
building Eclipse plug-ins, features, update sites, RCP applications and
OSGi bundles.</p>
<h2>Description</h2>
<p>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.</p>
<p>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.</p>
<h2>Initial Contribution</h2>
<p>The initial code based will be contributed by Sonatype, and is
currently located at Github: <a
href="http://github.com/sonatype/sonatype-tycho">http://github.com/sonatype/sonatype-tycho</a>.</p>
<h2>Legal Issues</h2>
<p>None.</p>
<h2>Committers</h2>
<p>The following individuals are proposed as initial committers to
the project:</p>
<ul>
<li>Igor Fedorenko, Sonatype (project lead)</li>
<li>Benjamin Bentmann, Sonatype</li>
<li>Marvin Froeder, Sonatype</li>
<li>Jason van Zyl, Sonatype</li>
<li>Jan Sievers, SAP</li>
</ul>
<p>All of these individuals have contributed significantly to the existing code base;
they bring their existing knowledge and skill to the project.</p>
<h2>Mentors</h2>
<p>The following Architecture Council members will mentor this
project:</p>
<ul>
<li>Nick Boldt (Redhat)</li>
<li>Bernd Kolb (SAP)</li>
</ul>
<h2>Interested Parties</h2>
<p>The following individuals, organisations, companies and projects
have expressed interest in this project:</p>
<ul>
<li>Gary Keim, Terracotta</li>
<li>Jesse McConnell, Italio</li>
<li>Hugues Malphettes, Italio</li>
<li>Max Andersen, Redhat</li>
<li>Max Spring, Cisco</li>
<li>Shawn O. Pearce, Google</li>
<li>Matthias Vach, SAP</li>
<li>Jan Sievers, SAP</li>
<li>Stephan Merker, SAP</li>
<li>Jan Lohre, SAP</li>
<li>Beat Strasser, Inventage AG</li>
<li>David Hudgins, AT&T</li>
<!-- Indepdendent -->
<li>Derek Lane, Independent</li>
<li>Wendell Beckwith, Independent</li>
<li>Michael Hüttermann, Independent</li>
<li>Mattias Holmqvist, Independent</li>
<li>Ron Pomeroy, Independent</li>
<li>Alex Blewitt, Independent</li>
<li>Pascal Leclercq, Independent</li>
<li>Pete Carapetyan, Independent</li>
<li>Mykola Nikishov, Indepdendent</li>
<li>Toni Menzel, Indepdendent</li>
<li>Steffen Stundzig</li>
<li>Werner Keil</li>
</ul>
<h2></h2>
Related Projects
</h2>
<p>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.</p>
<h2>Project Scheduling</h2>
<p>The initial code contribution will be made when the project
review process is completed. We plan to release Tycho 1.0 in Q3 2010.</p>
<h2>Changes to this Document</h2>
<table>
<!--
<tr>
<th>Date</th>
<th>Change</th>
</tr>
-->
<tr>
<td>16-July-2010</td>
<td>Added Jan Sievers to the list of committers.</td>
</tr>
<tr>
<td>12-April-2010</td>
<td>Added to the list of interested parties.</td>
</tr>
<tr>
<td>29-March-2010</td>
<td>Added to the list of interested parties.</td>
</tr>
<tr>
<td>26-March-2010</td>
<td>Document created</td>
</tr>
</table>
</body>
</html>