Using the Object Teams OTDRE Parent POM

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

Weaving schemes OTRE vs. OTDRE

This pom supports the dynamic weaving scheme OTDRE. For the traditional OTRE please use org.eclipse.objectteams:objectteams-parent-pom instead.

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.objectteams</groupId>
                    <artifactId>objectteams-otdre-parent-pom</artifactId>
                    <version>2.7.6</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-otdre-parent-pom implicitly depend on the following artifacts which are developed independent of maven and simply repackaged using the org.eclipse.objectteams:objectteams-artifact-deployer module:

org.eclipse.objectteams:objectteams-runtime
the Object Teams runtime (minimal OT/J API) repackaged from the org.eclipse.objectteams.runtime OSGi bundle.
org.eclipse.objectteams:objectteams-otdre
the Object Teams Dynamic Runtime Environment (the bytecode weaver) repackaged from the org.eclipse.objectteams.otredyn OSGi bundle.
org.eclipse.objectteams:objectteams-otdre-agent
the Java agent that hooks the Object Teams runtime into the JVM (repackaged from file otredyn_agent.jar from the org.eclipse.objectteams.otdt project).
org.eclipse.objectteams: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 modules are indirectly used:

org.ow2.asm:asm
the original ASM byte code library, along with its auxiliary modules asm-commons, asm-tree, asm-util and asm-analysis