Jump to: navigation, search

Difference between revisions of "Tycho/Migration Howto"

(Manual adjustments)
(Adding p2 repositories to resolve external dependencies)
Line 23: Line 23:
  
 
== Adding p2 repositories to resolve external dependencies ==
 
== Adding p2 repositories to resolve external dependencies ==
 +
 +
Almost every project has external dependencies it needs to compile against.
 +
Add all p2 repositories you need for compilation or runtime in the parent pom like in pom.xml the following snippet:
 +
 +
<pre>
 +
<repositories>
 +
  <repository>
 +
      <id>eclipse-juno</id>
 +
      <layout>p2</layout>
 +
      <url>http://download.eclipse.org/releases/juno</url>
 +
  </repository>
 +
</repositories>
 +
</pre>
 +
 +
See [[Tycho/Reference_Card#Repository_providing_the_context_of_the_build|Tycho Reference card]]
  
 
== Getting tests to run ==
 
== Getting tests to run ==

Revision as of 06:24, 5 June 2013

This page is intended to give existing projects a jumpstart for setting up a Tycho build.

While each project is different, there are some common steps:

Scaffolding: generate pom.xml files

Maven needs pom.xml files to drive the build. See Generating POM files on how to generate an initial skeleton for these files.

Manual adjustments

In the generated top-level (parent) pom.xml, it's a good idea to globally define the tycho version to use

<properties>
  <tycho-version>0.18.0</tycho-version>
</properties>

so you can reference it using ${tycho-version} anywhere in the child pom.xml files e.g. when configuring tycho plugins. See maven project inheritance.

In case you have deeply nested projects and used several generate-poms invocations, add a top-level parent pom.xml and reference it as parent from the intermediate parent poms. Also, adjust the modules to be built (see maven project aggregation).

Adding p2 repositories to resolve external dependencies

Almost every project has external dependencies it needs to compile against. Add all p2 repositories you need for compilation or runtime in the parent pom like in pom.xml the following snippet:

<repositories>
   <repository>
      <id>eclipse-juno</id>
      <layout>p2</layout>
      <url>http://download.eclipse.org/releases/juno</url>
   </repository>
</repositories>

See Tycho Reference card

Getting tests to run

Generating source bundles and features

Building a p2 repository