This documentation could present a Use Case for a development team that wants to establish several projects to provide both a Target Definition Platform for their development work and for their OSGi runtime and to establish several projects for developing OSGi bundles that implement their application within the constraints of the Target Definition Platform.
The two sets of Tycho MANIFEST-first maven projects are coupled to each other with the set for development dependent on the existence and plugins of the set for the Target Definition Platform.
The team needs:
- A tycho "eclipse-plugin" packaging project to assemble the jars and bundles of their target platform into an OSGi bundle
- a tycho "eclipse-repository" packaging project that accepts the target platform bundle, computes its dependencies, builds the p2 repository folder hierarchy, zips the hierarchy, and installs the repository into the local maven repository (and to any remote ones, if appropriate)
- a tycho "eclipse-target-definition" packaging project that defines an Eclipse PDE Target Platform that uses the eclipse-repository p2 repository for constraining the set of plugins for development.
The developers then need:
- a parent tycho "pom" packaging project that establishes the tycho-platform-configuration for all its modules that uses the tycho-target-definition available in the local maven repository (or from a remote one, if applicable)
- a set of tycho MANIFEST-first eclipse-plugin maven modules projects to partition the development of the team's product
- a tycho "eclipse-repository" project that assembles the product into the appropriate jar, war, kar as the fusion of the transitive closure of dependent OSGi bundles and the target platform bundles.
For teams building OSGi applications that are deployed as wars into Servlet engines, the team needs a parent project goal that uses the maven-war-plugin to archive the eclipse-repository product as a war file.