Using the Object Teams Parent POM

Declaring this module as the parent of your project will add basic capabilities for using OT/J in your sources.

Include the parent pom

For simple cases two declarations in your pom will suffice:

  1. declare the maven repository for fetching Object Teams related modules
            <repositories>
                    <repository>
                            <id>ObjectTeamsRepository</id>
                            <name>Object Teams Repository</name>
                            <url>http://download.eclipse.org/objectteams/maven/3/repository</url>
                    </repository>
            </repositories>
  2. declare the parent pom
            <parent>
                    <groupId>org.eclipse</groupId>
                    <artifactId>objectteams-parent-pom</artifactId>
                    <version>2.2.0</version>
            </parent>

    Starting with version 2.1.1 the parent pom also supports using OT/J in tycho builds (projects using OSGi).

Example

See the objectteams-compile-test project for an example of how to use this parent pom.

Under the hood

Standard OT/J dependencies documented

All OT/J projects using the objectteams-parent-pom implicitly depend on the following artifacts which are developed independent of maven and simply repackaged using the org.eclipse:objectteams-artifact-deployer module:

org.eclipse:objectteams-runtime
the Object Teams runtime repackaged from the org.eclipse.objectteams.runtime OSGi bundle.
org.eclipse:objectteams-otre-agent
the Java agent that hooks the Object Teams runtime into the JVM (repackaged from file otre_agent.jar from the org.eclipse.objectteams.otdt project).
org.eclipse:objectteams-otj-compiler
a compatible replacement for org.eclipse.tycho:org.eclipse.jdt.core that enables the org.eclipse.tycho:tycho-compiler-jdt plugin to compile OT/J sources.

The following module is indirectly used:

org.apache.bcel:bcel
the original apache bcel Byte Code Engineering Library.