| ------ |
| Using the Object Teams OTDRE Parent POM |
| ------ |
| Olaf Otto & Stephan Herrmann |
| ------ |
| 2019-12-08 |
| ------ |
| |
| 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 {{{http://help.eclipse.org/topic/org.eclipse.objectteams.otdt.doc/guide/weavingscheme.html}weaving scheme OTDRE}}. |
| For the traditional OTRE please use {{{../objectteams-parent-pom}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> |
| +----- |
| |
| [[1]] 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}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 {{{../objectteams-artifact-deployer}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 {{{http://asm.ow2.org/}ASM}} byte code library, along with its auxiliary modules <<<asm-commons>>>, <<<asm-tree>>>, <<<asm-util>>> and <<<asm-analysis>>> |
| |