blob: 9c943cfa8ac5e5abb23c7e9b3bd2e0da176ee7c4 [file] [log] [blame]
Olaf Ottof4c02132010-10-10 20:39:11 +00001<?xml version="1.0" encoding="UTF-8"?>
2<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">
3 <modelVersion>4.0.0</modelVersion>
4
Stephan Herrmann6a489e12013-08-06 12:15:58 +02005 <groupId>org.eclipse.objectteams</groupId>
Olaf Ottof4c02132010-10-10 20:39:11 +00006 <artifactId>objectteams-parent-pom</artifactId>
Stephan Herrmann760d8f92016-06-12 15:05:20 +02007 <version>2.5.0</version>
Olaf Ottof4c02132010-10-10 20:39:11 +00008 <packaging>pom</packaging>
9
Stephan Herrmannb8651992010-10-18 14:02:33 +000010 <name>Object Teams parent pom</name>
Olaf Ottof4c02132010-10-10 20:39:11 +000011
Stephan Herrmannb8651992010-10-18 14:02:33 +000012 <url>http://download.eclipse.org/objectteams/maven/3/sites/${project.artifactId}</url>
Olaf Ottof4c02132010-10-10 20:39:11 +000013
14 <description>
Stephan Herrmannb8651992010-10-18 14:02:33 +000015 This is the parent pom for Object Teams projects using Maven3.
16 It specifies the core dependencies and configurations for building and
Olaf Ottof4c02132010-10-10 20:39:11 +000017 executing Object Teams code using Maven.
18 </description>
19
20 <licenses>
21 <license>
22 <name>Eclipse Public License Version 1.0</name>
23 <comments>
Stephan Herrmannb8651992010-10-18 14:02:33 +000024 This file is part of "Object Teams Development Tooling"-Software.
Olaf Ottof4c02132010-10-10 20:39:11 +000025
Stephan Herrmann760d8f92016-06-12 15:05:20 +020026 Copyright 2010, 2016 GK Software AG and others.
Olaf Ottof4c02132010-10-10 20:39:11 +000027 All rights reserved. This program and the accompanying materials
28 are made available under the terms of the Eclipse Public License v1.0
29 which accompanies this distribution, and is available at
30 http://www.eclipse.org/legal/epl-v10.html
31
32 Please visit http://www.eclipse.org/objectteams for updates and contact.
33
34 Contributors:
Stephan Herrmannb8651992010-10-18 14:02:33 +000035 Olaf Otto - Initial concept,
36 Stephan Herrmann - Initial API and implementation.
Olaf Ottof4c02132010-10-10 20:39:11 +000037 </comments>
38 </license>
39 </licenses>
40
Stephan Herrmannb8651992010-10-18 14:02:33 +000041 <organization>
42 <name>Eclipse Object Teams Project</name>
43 <url>http://www.eclipse.org/objectteams</url>
44 </organization>
45
46 <developers>
47 <developer><name>Olaf Otto</name></developer>
48 <developer><name>Stephan Herrmann</name><organization>GK Software AG</organization></developer>
49 </developers>
50
51 <mailingLists>
52 <mailingList><name>Object Teams Forum</name><archive>http://www.eclipse.org/forums/eclipse.objectteams</archive></mailingList>
53 </mailingLists>
54
55 <issueManagement>
56 <system>Bugzilla</system>
Stephan Herrmannb613afe2011-06-13 17:00:53 +000057 <url>http://bugs.eclipse.org/bugs</url>
Stephan Herrmannb8651992010-10-18 14:02:33 +000058 </issueManagement>
59
Olaf Ottof4c02132010-10-10 20:39:11 +000060 <repositories>
61 <repository>
62 <id>ObjectTeamsRepository</id>
63 <name>Object Teams Repository</name>
64 <url>http://download.eclipse.org/objectteams/maven/3/repository</url>
65 </repository>
66 </repositories>
67
68
69 <pluginRepositories>
70 <pluginRepository>
71 <id>ObjectTeamsPluginRepository</id>
72 <name>Object Teams Plugin Repository</name>
73 <url>http://download.eclipse.org/objectteams/maven/3/repository</url>
74 </pluginRepository>
Stephan Herrmann760d8f92016-06-12 15:05:20 +020075 <pluginRepository>
76 <id>tycho-snapshots</id>
77 <url>https://repo.eclipse.org/content/repositories/tycho-snapshots/</url>
78 </pluginRepository>
Olaf Ottof4c02132010-10-10 20:39:11 +000079 </pluginRepositories>
80
81
82 <!-- Required property from settings.xml: -->
83 <!-- settings.localRepository path to the local Maven repository. -->
84 <properties>
Stephan Herrmann760d8f92016-06-12 15:05:20 +020085 <!-- Repository path of this module within the Object Teams git: -->
Stephan Herrmanncac17412012-07-05 21:36:45 +020086 <project-repository-path>maven/infrastructure/parent-pom</project-repository-path>
Stephan Herrmannb8651992010-10-18 14:02:33 +000087
Olaf Ottof4c02132010-10-10 20:39:11 +000088 <!-- Our Version: -->
Stephan Herrmann760d8f92016-06-12 15:05:20 +020089 <otj.version>2.5.0</otj.version>
90 <otdre.version>1.2.0</otdre.version>
Olaf Ottof4c02132010-10-10 20:39:11 +000091
92 <!-- Versions of dependencies: -->
93 <bcel.version>5.2</bcel.version>
Stephan Herrmann760d8f92016-06-12 15:05:20 +020094 <tycho.version>0.24.0</tycho.version>
95 <apt.version>1.2.100.v20160418-1457-SNAPSHOT</apt.version> <!-- pulled from tycho-snapshots to be compatible with latest JDT -->
Olaf Ottof4c02132010-10-10 20:39:11 +000096
Stephan Herrmann760d8f92016-06-12 15:05:20 +020097 <!-- **** Main switch for OTRE vs. OTDRE (here we default to OTRE): **** -->
98 <otj.weaving.scheme>otre</otj.weaving.scheme>
99 <objectteams-otre.version>${otj.version}</objectteams-otre.version>
100
101 <!-- Bytecode library, to be overridden for OTDRE: -->
102 <otj.bytecode.lib.groupId>org.apache.bcel</otj.bytecode.lib.groupId>
103 <otj.bytecode.lib.artifactId>bcel</otj.bytecode.lib.artifactId>
104 <otj.bytecode.lib.version>${bcel.version}</otj.bytecode.lib.version>
105
106 <!-- Dependent properties, which follow the OTRE / OTDRE selection: -->
107 <objectteams-otre>objectteams-${otj.weaving.scheme}</objectteams-otre>
108 <objectteams-otre-agent>objectteams-${otj.weaving.scheme}-agent</objectteams-otre-agent>
109
Olaf Ottof4c02132010-10-10 20:39:11 +0000110 <!-- Absolut paths for providing startup arguments to the JVM -->
Stephan Herrmann05cb8bf2014-06-15 02:59:27 +0200111 <otj.runtime.location>${settings.localRepository}/org/eclipse/objectteams/objectteams-runtime/${otj.version}/objectteams-runtime-${otj.version}.jar</otj.runtime.location>
Stephan Herrmann760d8f92016-06-12 15:05:20 +0200112 <otj.otre.location>${settings.localRepository}/org/eclipse/objectteams/${objectteams-otre}/${objectteams-otre.version}/${objectteams-otre}-${objectteams-otre.version}.jar</otj.otre.location>
113 <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>
Olaf Ottof4c02132010-10-10 20:39:11 +0000114
115 <!-- Bootclasspath -->
Stephan Herrmann05cb8bf2014-06-15 02:59:27 +0200116 <otj.bootcp.arg>-Xbootclasspath/a:${otj.runtime.location}</otj.bootcp.arg>
Olaf Ottof4c02132010-10-10 20:39:11 +0000117 <!-- Object teams JPLIS agent -->
118 <otj.agent.arg>-javaagent:${otj.agent.location}</otj.agent.arg>
119 <!--
120 Default arguments for running OT/J programs.
121 -Dot.debug facilitates (remote) debugging.
122 Xmx / Xms are required for reproducable build results, as ltw uses a
123 significant amount of memory during startup.
124 -->
125 <surefire.argline>${otj.bootcp.arg} ${otj.agent.arg} -Dot.debug -Xms128m -Xmx512m</surefire.argline>
126 </properties>
127
Stephan Herrmannb8651992010-10-18 14:02:33 +0000128 <scm>
Stephan Herrmanne395bd42011-06-13 12:21:36 +0000129 <!-- WTF: release will "improve" the connection to using svn+ssh and advertize this for anonymous access !@#!%$ -->
Stephan Herrmanncac17412012-07-05 21:36:45 +0200130 <connection>scm:git:git://git.eclipse.org/gitroot/objectteams/org.eclipse.objectteams.git/${project-repository-path}</connection>
131 <developerConnection>scm:git:ssh://${username}@git.eclipse.org/gitroot/objectteams/org.eclipse.objectteams.git/${project-repository-path}</developerConnection>
Stephan Herrmanne395bd42011-06-13 12:21:36 +0000132 <!-- WTF: release will "improve" the connection to using svn+ssh and advertize this for web access !@#!%$ -->
Stephan Herrmanncac17412012-07-05 21:36:45 +0200133 <url>http://git.eclipse.org/c/objectteams/org.eclipse.objectteams.git</url>
Stephan Herrmannb8651992010-10-18 14:02:33 +0000134 </scm>
135
136 <reporting>
137 <plugins>
138 <!-- See http://maven.apache.org/plugins/maven-project-info-reports-plugin/ -->
139 <plugin>
140 <groupId>org.apache.maven.plugins</groupId>
141 <artifactId>maven-project-info-reports-plugin</artifactId>
142 <version>2.2</version>
143 </plugin>
144 </plugins>
145 </reporting>
146
Olaf Ottof4c02132010-10-10 20:39:11 +0000147 <build>
148 <pluginManagement>
149 <plugins>
Stephan Herrmann0c023b32012-10-30 22:24:14 +0100150
Olaf Ottof4c02132010-10-10 20:39:11 +0000151 <plugin>
152 <!--
153 Use compiler plugin with tycho as the adapter to the OT/J compiler.
Stephan Herrmann6a489e12013-08-06 12:15:58 +0200154 Using java 1.7 language level is recommended, default is 1.3, OT/J needs 1.5 minimum
Olaf Ottof4c02132010-10-10 20:39:11 +0000155 -->
156 <artifactId>maven-compiler-plugin</artifactId>
Stephan Herrmann760d8f92016-06-12 15:05:20 +0200157 <version>3.5.1</version>
Olaf Ottof4c02132010-10-10 20:39:11 +0000158 <configuration>
Stephan Herrmann6a489e12013-08-06 12:15:58 +0200159 <source>1.7</source>
160 <target>1.7</target>
Olaf Ottof4c02132010-10-10 20:39:11 +0000161 <compilerId>jdt</compilerId>
Stephan Herrmann9febfcd2011-06-13 09:32:16 +0000162 <flavor>otj</flavor>
Stephan Herrmann760d8f92016-06-12 15:05:20 +0200163 <compilerArgument>-ot.weaving:${otj.weaving.scheme}</compilerArgument>
Olaf Ottof4c02132010-10-10 20:39:11 +0000164 </configuration>
165 <dependencies>
166 <!-- compile time only dependencies: -->
Stephan Herrmannb8651992010-10-18 14:02:33 +0000167 <dependency>
Stephan Herrmann86e22312012-04-03 22:41:03 +0200168 <groupId>org.eclipse.tycho</groupId>
Olaf Ottof4c02132010-10-10 20:39:11 +0000169 <artifactId>tycho-compiler-jdt</artifactId>
170 <version>${tycho.version}</version>
171 <exclusions>
172 <!-- Exclude the original JDT/Core to be replaced by the OT/J variant: -->
173 <exclusion>
Stephan Herrmann86e22312012-04-03 22:41:03 +0200174 <groupId>org.eclipse.tycho</groupId>
Olaf Ottof4c02132010-10-10 20:39:11 +0000175 <artifactId>org.eclipse.jdt.core</artifactId>
176 </exclusion>
177 </exclusions>
Stephan Herrmannb8651992010-10-18 14:02:33 +0000178 </dependency>
Olaf Ottof4c02132010-10-10 20:39:11 +0000179 <dependency>
180 <!-- plug the OT/J compiler into the tycho-compiler-jdt plug-in: -->
Stephan Herrmann05cb8bf2014-06-15 02:59:27 +0200181 <groupId>org.eclipse.objectteams</groupId>
Olaf Ottof4c02132010-10-10 20:39:11 +0000182 <artifactId>objectteams-otj-compiler</artifactId>
183 <version>${otj.version}</version>
Stephan Herrmannb8651992010-10-18 14:02:33 +0000184 </dependency>
Stephan Herrmann760d8f92016-06-12 15:05:20 +0200185 <dependency>
186 <groupId>org.eclipse.tycho</groupId>
187 <artifactId>org.eclipse.jdt.compiler.apt</artifactId>
188 <version>${apt.version}</version>
189 </dependency>
Olaf Ottof4c02132010-10-10 20:39:11 +0000190 </dependencies>
191 </plugin>
Stephan Herrmann0c023b32012-10-30 22:24:14 +0100192
193 <plugin>
194 <!-- The same for tycho builds: -->
195 <groupId>org.eclipse.tycho</groupId>
196 <artifactId>tycho-compiler-plugin</artifactId>
197 <version>${tycho.version}</version>
198 <extensions>true</extensions>
199 <dependencies>
200 <dependency>
201 <groupId>org.eclipse.tycho</groupId>
202 <artifactId>tycho-compiler-jdt</artifactId>
203 <version>${tycho.version}</version>
204 <exclusions>
205 <!-- Exclude the original JDT/Core to be replaced by the OT/J variant: -->
206 <exclusion>
207 <groupId>org.eclipse.tycho</groupId>
208 <artifactId>org.eclipse.jdt.core</artifactId>
209 </exclusion>
210 </exclusions>
211 </dependency>
212 <dependency>
213 <!-- plug the OT/J compiler into the tycho-compiler-jdt plug-in: -->
Stephan Herrmann05cb8bf2014-06-15 02:59:27 +0200214 <groupId>org.eclipse.objectteams</groupId>
Stephan Herrmann0c023b32012-10-30 22:24:14 +0100215 <artifactId>objectteams-otj-compiler</artifactId>
216 <version>${otj.version}</version>
217 </dependency>
Stephan Herrmann760d8f92016-06-12 15:05:20 +0200218 <dependency>
219 <groupId>org.eclipse.tycho</groupId>
220 <artifactId>org.eclipse.jdt.compiler.apt</artifactId>
221 <version>${apt.version}</version>
222 </dependency>
Stephan Herrmann0c023b32012-10-30 22:24:14 +0100223 </dependencies>
224 </plugin>
225
Olaf Ottof4c02132010-10-10 20:39:11 +0000226 <!-- See http://maven.apache.org/plugins/maven-surefire-plugin/ -->
227 <plugin>
228 <groupId>org.apache.maven.plugins</groupId>
229 <artifactId>maven-surefire-plugin</artifactId>
230 <configuration>
231 <!--
232 The following must be within one line of code, linebreaks will
233 cause surefire execution to fail.
234 -->
235 <argLine>${surefire.argline}</argLine>
236 </configuration>
237 <dependencies>
238 <dependency>
239 <!-- runtime-only dependency: -->
Stephan Herrmann05cb8bf2014-06-15 02:59:27 +0200240 <groupId>org.eclipse.objectteams</groupId>
Stephan Herrmann760d8f92016-06-12 15:05:20 +0200241 <artifactId>${objectteams-otre-agent}</artifactId>
Olaf Ottof4c02132010-10-10 20:39:11 +0000242 <classifier>nodep</classifier>
Stephan Herrmann760d8f92016-06-12 15:05:20 +0200243 <version>${objectteams-otre.version}</version>
Olaf Ottof4c02132010-10-10 20:39:11 +0000244 </dependency>
245 </dependencies>
246 </plugin>
Stephan Herrmannb8651992010-10-18 14:02:33 +0000247 <!-- ensure new version of this plug-in (maven3-compatible): -->
248 <plugin>
249 <groupId>org.apache.maven.plugins</groupId>
250 <artifactId>maven-site-plugin</artifactId>
Stephan Herrmann760d8f92016-06-12 15:05:20 +0200251 <version>3.3</version>
Stephan Herrmannb8651992010-10-18 14:02:33 +0000252 </plugin>
Olaf Ottof4c02132010-10-10 20:39:11 +0000253 </plugins>
254 </pluginManagement>
255 <extensions>
256 <extension>
257 <groupId>org.apache.maven.wagon</groupId>
258 <artifactId>wagon-ssh-external</artifactId>
Stephan Herrmanncac17412012-07-05 21:36:45 +0200259 <version>2.2</version>
Olaf Ottof4c02132010-10-10 20:39:11 +0000260 </extension>
261 </extensions>
262 </build>
263
264 <!-- Required for compiling and running: -->
265 <dependencies>
266 <dependency>
Stephan Herrmann05cb8bf2014-06-15 02:59:27 +0200267 <groupId>org.eclipse.objectteams</groupId>
Olaf Ottof4c02132010-10-10 20:39:11 +0000268 <artifactId>objectteams-runtime</artifactId>
269 <version>${otj.version}</version>
Stephan Herrmann05cb8bf2014-06-15 02:59:27 +0200270 <scope>compile</scope> <!-- At runtime this will be provided via bootclasspath -->
271 </dependency>
Stephan Herrmann760d8f92016-06-12 15:05:20 +0200272
273 <!-- Hookable: OTRE or OTDRE: -->
Stephan Herrmann05cb8bf2014-06-15 02:59:27 +0200274 <dependency>
275 <groupId>org.eclipse.objectteams</groupId>
Stephan Herrmann760d8f92016-06-12 15:05:20 +0200276 <artifactId>${objectteams-otre}</artifactId>
277 <version>${objectteams-otre.version}</version>
Olaf Ottof4c02132010-10-10 20:39:11 +0000278 <scope>provided</scope>
279 </dependency>
Olaf Otto55fd19e2011-03-02 21:42:53 +0000280 <dependency>
Stephan Herrmann760d8f92016-06-12 15:05:20 +0200281 <groupId>${otj.bytecode.lib.groupId}</groupId>
282 <artifactId>${otj.bytecode.lib.artifactId}</artifactId>
283 <version>${otj.bytecode.lib.version}</version>
Olaf Otto55fd19e2011-03-02 21:42:53 +0000284 <scope>provided</scope>
285 </dependency>
Olaf Ottof4c02132010-10-10 20:39:11 +0000286 </dependencies>
287
288
289 <!-- for deployment of this pom: -->
290 <distributionManagement>
Stephan Herrmannb8651992010-10-18 14:02:33 +0000291 <site>
292 <id>otSiteRepo</id>
293 <name>Object Teams sites repository for Maven 3</name>
Stephan Herrmann053f2b42012-07-05 22:04:37 +0200294 <!--
295 for unclear reason when deploying dependent sites we need to first install this
296 parent with the following URL:
297 scpexe://objectteams/maven/3/sites/${project.artifactId}
298 otherwise the variables from the below URL will be pasted verbatim for references
299 to the parent pom =:-0
300 -->
Stephan Herrmannb8651992010-10-18 14:02:33 +0000301 <url>scpexe://${ot.host}:${ot.maven.repository.basepath}/sites/${project.artifactId}</url>
302 </site>
Olaf Ottof4c02132010-10-10 20:39:11 +0000303 <repository>
304 <id>ObjectTeamsRepository</id>
305 <uniqueVersion>false</uniqueVersion>
306 <name>Public Object Teams distribution repository</name>
307 <!--
308 most values are fed from settings.xml
309 -->
Stephan Herrmannb8651992010-10-18 14:02:33 +0000310 <url>scpexe://${ot.host}:${ot.maven.repository.basepath}/repository</url>
Olaf Ottof4c02132010-10-10 20:39:11 +0000311 <layout>default</layout>
312 </repository>
313 </distributionManagement>
314
315</project>