| <?xml version="1.0" encoding="UTF-8"?> |
| <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| |
| <groupId>org.eclipse.objectteams</groupId> |
| <artifactId>objectteams-parent-pom</artifactId> |
| <version>2.7.6</version> |
| <packaging>pom</packaging> |
| |
| <name>Object Teams parent pom</name> |
| |
| <url>http://download.eclipse.org/objectteams/maven/3/sites/${project.artifactId}</url> |
| |
| <description> |
| This is the parent pom for Object Teams projects using Maven3. |
| It specifies the core dependencies and configurations for building and |
| executing Object Teams code using Maven. |
| </description> |
| |
| <licenses> |
| <license> |
| <name>Eclipse Public License Version 1.0</name> |
| <comments> |
| This file is part of "Object Teams Development Tooling"-Software. |
| |
| Copyright 2010, 2019 GK Software SE and others. |
| This program and the accompanying materials |
| are made available under the terms of the Eclipse Public License 2.0 |
| which accompanies this distribution, and is available at |
| https://www.eclipse.org/legal/epl-2.0/ |
| |
| SPDX-License-Identifier: EPL-2.0 |
| Please visit http://www.eclipse.org/objectteams for updates and contact. |
| |
| Contributors: |
| Olaf Otto - Initial concept, |
| Stephan Herrmann - Initial API and implementation. |
| </comments> |
| </license> |
| </licenses> |
| |
| <organization> |
| <name>Eclipse Object Teams Project</name> |
| <url>http://www.eclipse.org/objectteams</url> |
| </organization> |
| |
| <developers> |
| <developer><name>Olaf Otto</name></developer> |
| <developer><name>Stephan Herrmann</name><organization>GK Software AG</organization></developer> |
| </developers> |
| |
| <mailingLists> |
| <mailingList><name>Object Teams Forum</name><archive>http://www.eclipse.org/forums/eclipse.objectteams</archive></mailingList> |
| </mailingLists> |
| |
| <issueManagement> |
| <system>Bugzilla</system> |
| <url>http://bugs.eclipse.org/bugs</url> |
| </issueManagement> |
| |
| <repositories> |
| <repository> |
| <id>ObjectTeamsRepository</id> |
| <name>Object Teams Repository</name> |
| <url>http://download.eclipse.org/objectteams/maven/3/repository</url> |
| </repository> |
| </repositories> |
| |
| |
| <pluginRepositories> |
| <pluginRepository> |
| <id>ObjectTeamsPluginRepository</id> |
| <name>Object Teams Plugin Repository</name> |
| <url>http://download.eclipse.org/objectteams/maven/3/repository</url> |
| </pluginRepository> |
| <pluginRepository> |
| <id>tycho-snapshots</id> |
| <url>https://repo.eclipse.org/content/repositories/tycho-snapshots/</url> |
| </pluginRepository> |
| </pluginRepositories> |
| |
| |
| <!-- Required property from settings.xml: --> |
| <!-- settings.localRepository path to the local Maven repository. --> |
| <properties> |
| <!-- Repository path of this module within the Object Teams git: --> |
| <project-repository-path>maven/infrastructure/parent-pom</project-repository-path> |
| |
| <!-- deploy using either scpexe or file protocol: --> |
| <protocol>scpexe</protocol> |
| |
| <!-- Our Version: --> |
| <otj.version>2.7.6</otj.version> |
| <otdre.version>1.3.7</otdre.version> |
| |
| <!-- Versions of dependencies: --> |
| <bcel.version>5.2</bcel.version> |
| <tycho.version>1.5.0</tycho.version> |
| |
| <!-- **** Main switch for OTRE vs. OTDRE (here we default to OTRE): **** --> |
| <otj.weaving.scheme>otre</otj.weaving.scheme> |
| <objectteams-otre.version>${otj.version}</objectteams-otre.version> |
| |
| <!-- Bytecode library, to be overridden for OTDRE: --> |
| <otj.bytecode.lib.groupId>org.apache.bcel</otj.bytecode.lib.groupId> |
| <otj.bytecode.lib.artifactId>bcel</otj.bytecode.lib.artifactId> |
| <otj.bytecode.lib.version>${bcel.version}</otj.bytecode.lib.version> |
| |
| <!-- Dependent properties, which follow the OTRE / OTDRE selection: --> |
| <objectteams-otre>objectteams-${otj.weaving.scheme}</objectteams-otre> |
| <objectteams-otre-agent>objectteams-${otj.weaving.scheme}-agent</objectteams-otre-agent> |
| |
| <!-- Absolut paths for providing startup arguments to the JVM --> |
| <otj.runtime.location>${settings.localRepository}/org/eclipse/objectteams/objectteams-runtime/${otj.version}/objectteams-runtime-${otj.version}.jar</otj.runtime.location> |
| <otj.otre.location>${settings.localRepository}/org/eclipse/objectteams/${objectteams-otre}/${objectteams-otre.version}/${objectteams-otre}-${objectteams-otre.version}.jar</otj.otre.location> |
| <otj.agent.location>${settings.localRepository}/org/eclipse/objectteams/${objectteams-otre-agent}/${objectteams-otre.version}/${objectteams-otre-agent}-${objectteams-otre.version}-nodep.jar</otj.agent.location> |
| |
| <!-- Bootclasspath --> |
| <otj.bootcp.arg>-Xbootclasspath/a:${otj.runtime.location}</otj.bootcp.arg> |
| <!-- Object teams JPLIS agent --> |
| <otj.agent.arg>-javaagent:${otj.agent.location}</otj.agent.arg> |
| <!-- |
| Default arguments for running OT/J programs. |
| -Dot.debug facilitates (remote) debugging. |
| Xmx / Xms are required for reproducable build results, as ltw uses a |
| significant amount of memory during startup. |
| --> |
| <surefire.argline>${otj.bootcp.arg} ${otj.agent.arg} -Dot.debug -Xms128m -Xmx512m</surefire.argline> |
| </properties> |
| |
| <scm> |
| <!-- WTF: release will "improve" the connection to using svn+ssh and advertize this for anonymous access !@#!%$ --> |
| <connection>scm:git:git://git.eclipse.org/gitroot/objectteams/org.eclipse.objectteams.git/${project-repository-path}</connection> |
| <developerConnection>scm:git:ssh://${username}@git.eclipse.org/gitroot/objectteams/org.eclipse.objectteams.git/${project-repository-path}</developerConnection> |
| <!-- WTF: release will "improve" the connection to using svn+ssh and advertize this for web access !@#!%$ --> |
| <url>http://git.eclipse.org/c/objectteams/org.eclipse.objectteams.git</url> |
| </scm> |
| |
| <reporting> |
| <plugins> |
| <!-- See http://maven.apache.org/plugins/maven-project-info-reports-plugin/ --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-project-info-reports-plugin</artifactId> |
| <version>3.0.0</version> |
| </plugin> |
| </plugins> |
| </reporting> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| |
| <plugin> |
| <!-- |
| Use compiler plugin with tycho as the adapter to the OT/J compiler. |
| Using java 1.8 language level is recommended, default is 1.3, OT/J needs 1.5 minimum |
| --> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.8.1</version> |
| <configuration> |
| <source>1.8</source> |
| <target>1.8</target> |
| <compilerId>jdt</compilerId> |
| <flavor>otj</flavor> |
| <compilerArgument>-ot.weaving:${otj.weaving.scheme}</compilerArgument> |
| </configuration> |
| <dependencies> |
| <!-- compile time only dependencies: --> |
| <dependency> |
| <groupId>org.eclipse.tycho</groupId> |
| <artifactId>tycho-compiler-jdt</artifactId> |
| <version>${tycho.version}</version> |
| <exclusions> |
| <!-- Exclude the original JDT/Core to be replaced by the OT/J variant: --> |
| <exclusion> |
| <groupId>org.eclipse.jdt</groupId> |
| <artifactId>ecj</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <!-- plug the OT/J compiler into the tycho-compiler-jdt plug-in: --> |
| <groupId>org.eclipse.objectteams</groupId> |
| <artifactId>objectteams-otj-compiler</artifactId> |
| <version>${otj.version}</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| |
| <plugin> |
| <!-- The same for tycho builds: --> |
| <groupId>org.eclipse.tycho</groupId> |
| <artifactId>tycho-compiler-plugin</artifactId> |
| <version>${tycho.version}</version> |
| <dependencies> |
| <dependency> |
| <groupId>org.eclipse.tycho</groupId> |
| <artifactId>tycho-compiler-jdt</artifactId> |
| <version>${tycho.version}</version> |
| <exclusions> |
| <!-- Exclude the original JDT/Core to be replaced by the OT/J variant: --> |
| <exclusion> |
| <groupId>org.eclipse.jdt</groupId> |
| <artifactId>ecj</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <!-- plug the OT/J compiler into the tycho-compiler-jdt plug-in: --> |
| <groupId>org.eclipse.objectteams</groupId> |
| <artifactId>objectteams-otj-compiler</artifactId> |
| <version>${otj.version}</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| |
| <!-- See http://maven.apache.org/plugins/maven-surefire-plugin/ --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <!-- |
| The following must be within one line of code, linebreaks will |
| cause surefire execution to fail. |
| --> |
| <argLine>${surefire.argline}</argLine> |
| </configuration> |
| <dependencies> |
| <dependency> |
| <!-- runtime-only dependency: --> |
| <groupId>org.eclipse.objectteams</groupId> |
| <artifactId>${objectteams-otre-agent}</artifactId> |
| <classifier>nodep</classifier> |
| <version>${objectteams-otre.version}</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-site-plugin</artifactId> |
| <version>3.8.2</version> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| <extensions> |
| <extension> |
| <groupId>org.apache.maven.wagon</groupId> |
| <artifactId>wagon-ssh-external</artifactId> |
| <version>3.3.4</version> |
| </extension> |
| </extensions> |
| </build> |
| |
| <!-- Required for compiling and running: --> |
| <dependencies> |
| <dependency> |
| <groupId>org.eclipse.objectteams</groupId> |
| <artifactId>objectteams-runtime</artifactId> |
| <version>${otj.version}</version> |
| <scope>compile</scope> <!-- At runtime this will be provided via bootclasspath --> |
| </dependency> |
| |
| <!-- Hookable: OTRE or OTDRE: --> |
| <dependency> |
| <groupId>org.eclipse.objectteams</groupId> |
| <artifactId>${objectteams-otre}</artifactId> |
| <version>${objectteams-otre.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>${otj.bytecode.lib.groupId}</groupId> |
| <artifactId>${otj.bytecode.lib.artifactId}</artifactId> |
| <version>${otj.bytecode.lib.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| </dependencies> |
| |
| |
| <!-- for deployment of this pom: --> |
| <distributionManagement> |
| <site> |
| <id>otSiteRepo</id> |
| <name>Object Teams sites repository for Maven 3</name> |
| <!-- |
| for unclear reason when deploying dependent sites we need to first install this |
| parent with the following URL: |
| scpexe://objectteams/maven/3/sites/${project.artifactId} |
| otherwise the variables from the below URL will be pasted verbatim for references |
| to the parent pom =:-0 |
| --> |
| <url>${protocol}://${ot.host}:${ot.maven.repository.basepath}/sites/${project.artifactId}</url> |
| </site> |
| <repository> |
| <id>ObjectTeamsRepository</id> |
| <uniqueVersion>false</uniqueVersion> |
| <name>Public Object Teams distribution repository</name> |
| <!-- |
| most values are fed from settings.xml |
| --> |
| <url>${protocol}://${ot.host}:${ot.maven.repository.basepath}/repository</url> |
| <layout>default</layout> |
| </repository> |
| </distributionManagement> |
| |
| </project> |