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
                            <name>Object Teams Repository</name>
  2. declare the parent pom

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


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:

the Object Teams runtime (minimal OT/J API) repackaged from the org.eclipse.objectteams.runtime OSGi bundle.
the Object Teams Dynamic Runtime Environment (the bytecode weaver) repackaged from the org.eclipse.objectteams.otredyn OSGi bundle.
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).
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:

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