1 <?xml version="1.0" encoding="UTF-8"?>
3 Copyright (C) 2011, 2015 Obeo
5 All rights reserved. This program and the accompanying materials
6 are made available under the terms of the Eclipse Public License v1.0
7 which accompanies this distribution, and is available at
8 http://www.eclipse.org/legal/epl-v10.html
10 <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/maven-v4_0_0.xsd">
11 <modelVersion>4.0.0</modelVersion>
15 <groupId>org.eclipse.emf.compare</groupId>
16 <artifactId>emf.compare-parent</artifactId>
17 <version>3.3.9-SNAPSHOT</version>
18 <packaging>pom</packaging>
21 <name>Eclipse Public License v1.0</name>
25 This program and the accompanying materials are made
26 available under the terms of the Eclipse Public License v1.0
27 which accompanies this distribution, and is available at
28 http://www.eclipse.org/legal/epl-v10.htm
34 <parent-version>3.3.9-SNAPSHOT</parent-version>
35 <source-java-version>1.7</source-java-version>
36 <target-java-version>${source-java-version}</target-java-version>
37 <java-source-encoding>UTF-8</java-source-encoding>
38 <resource-encoding>UTF-8</resource-encoding>
41 <!-- plugins versions -->
42 <!-- use 'mvn versions:display-plugin-updates' to check for the latest -->
43 <tycho-version>1.4.0</tycho-version>
44 <tycho-extras-version>1.4.0</tycho-extras-version>
45 <maven-resources-version>2.6</maven-resources-version>
46 <maven-antrun-version>1.7</maven-antrun-version>
47 <findbugs-maven-version>3.0.0</findbugs-maven-version>
48 <maven-pmd-version>3.1</maven-pmd-version>
49 <exec-maven-version>1.3.1</exec-maven-version>
50 <maven-compiler-version>3.1</maven-compiler-version>
51 <maven-assembly-version>2.4</maven-assembly-version>
52 <maven-jar-version>2.5</maven-jar-version>
53 <maven-checkstyle-version>2.12.1</maven-checkstyle-version>
54 <maven-clean-version>2.5</maven-clean-version>
55 <maven-deploy-version>2.8.1</maven-deploy-version>
56 <maven-install-version>2.5.1</maven-install-version>
57 <maven-site-version>3.4</maven-site-version>
58 <maven-surefire-version>2.17</maven-surefire-version>
59 <jacoco-maven-version>0.7.1.201405082137</jacoco-maven-version>
60 <eclipse-jarsigner-version>1.1.2</eclipse-jarsigner-version>
61 <maven-jxr-version>2.3</maven-jxr-version>
63 <!-- Sonar properties -->
64 <sonar.language>java</sonar.language>
65 <sonar.jacoco.reportPath>${project.basedir}/../../org.eclipse.emf.compare-parent/target/jacoco.exec</sonar.jacoco.reportPath>
66 <!--sonar.junit.reportsPath>../${project.artifactId}.tests/target/surefire-reports/</sonar.junit.reportsPath>
67 <sonar.skippedModules>plugin.tests</sonar.skippedModules-->
69 <!-- Performance plugin properties -->
70 <performance-suite>Performance</performance-suite>
73 Platform-specific modules will be activated from the related profiles.
74 Here, we only define those modules that should build against every target platform.
77 <!-- This one must remain the first module in the list -->
78 <module>../packaging/org.eclipse.emf.compare.gendoc</module>
80 <module>../packaging/org.eclipse.emf.compare.update</module>
82 <module>../packaging/org.eclipse.emf.compare-feature</module>
83 <module>../plugins/org.eclipse.emf.compare</module>
84 <module>../plugins/org.eclipse.emf.compare.tests</module>
85 <module>../plugins/org.eclipse.emf.compare.doc</module>
87 <module>../packaging/org.eclipse.emf.compare.ide.ui-feature</module>
88 <module>../plugins/org.eclipse.emf.compare.edit</module>
89 <module>../plugins/org.eclipse.emf.compare.ide</module>
90 <module>../plugins/org.eclipse.emf.compare.ide.ui</module>
91 <module>../plugins/org.eclipse.emf.compare.ide.ui.e4</module>
92 <module>../plugins/org.eclipse.emf.compare.ide.ui.tests</module>
93 <module>../plugins/org.eclipse.emf.compare.ide.ui.tests.framework</module>
94 <module>../plugins/org.eclipse.emf.compare.ide.ui.tests.git</module>
95 <module>../plugins/org.eclipse.emf.compare.ide.ui.tests.git.framework</module>
96 <module>../plugins/org.eclipse.emf.compare.ide.tests</module>
98 <module>../packaging/org.eclipse.emf.compare.rcp.ui-feature</module>
99 <module>../plugins/org.eclipse.emf.compare.rcp</module>
100 <module>../plugins/org.eclipse.emf.compare.rcp.tests</module>
101 <module>../plugins/org.eclipse.emf.compare.rcp.ui</module>
102 <module>../plugins/org.eclipse.emf.compare.rcp.ui.tests</module>
104 <module>../packaging/org.eclipse.emf.compare.egit-feature</module>
105 <module>../plugins/org.eclipse.emf.compare.egit</module>
106 <module>../plugins/org.eclipse.emf.compare.egit.ui</module>
108 <module>../packaging/org.eclipse.emf.compare.uml2-feature</module>
109 <module>../plugins/org.eclipse.emf.compare.uml2</module>
110 <module>../plugins/org.eclipse.emf.compare.uml2.edit</module>
111 <module>../plugins/org.eclipse.emf.compare.uml2.ide</module>
112 <module>../plugins/org.eclipse.emf.compare.uml2.ide.ui.tests</module>
113 <module>../plugins/org.eclipse.emf.compare.uml2.ide.tests</module>
114 <module>../plugins/org.eclipse.emf.compare.uml2.rcp</module>
115 <module>../plugins/org.eclipse.emf.compare.uml2.rcp.ui</module>
116 <module>../plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests</module>
117 <module>../plugins/org.eclipse.emf.compare.uml2.tests</module>
119 <module>../packaging/org.eclipse.emf.compare.diagram.gmf-feature</module>
120 <module>../plugins/org.eclipse.emf.compare.diagram</module>
121 <module>../plugins/org.eclipse.emf.compare.diagram.edit</module>
122 <module>../plugins/org.eclipse.emf.compare.diagram.ide.ui</module>
124 <module>../packaging/org.eclipse.emf.compare.tests-feature</module>
128 <!-- This is for checkstyle and PMD -->
129 <sourceDirectory>src</sourceDirectory>
133 <groupId>org.eclipse.tycho</groupId>
134 <artifactId>tycho-maven-plugin</artifactId>
135 <extensions>true</extensions>
138 <groupId>org.eclipse.tycho</groupId>
139 <artifactId>target-platform-configuration</artifactId>
141 <includePackedArtifacts>true</includePackedArtifacts>
142 <resolver>p2</resolver>
163 <groupId>org.eclipse.tycho</groupId>
164 <artifactId>tycho-source-plugin</artifactId>
165 <version>${tycho-version}</version>
168 <addMavenDescriptor>false</addMavenDescriptor>
173 <id>plugin-source</id>
175 <goal>plugin-source</goal>
181 <groupId>org.eclipse.tycho.extras</groupId>
182 <artifactId>tycho-source-feature-plugin</artifactId>
183 <version>${tycho-extras-version}</version>
186 <addMavenDescriptor>false</addMavenDescriptor>
191 <id>source-feature</id>
192 <phase>package</phase>
194 <goal>source-feature</goal>
203 <groupId>org.eclipse.tycho</groupId>
204 <artifactId>tycho-maven-plugin</artifactId>
205 <version>${tycho-version}</version>
208 <groupId>org.eclipse.tycho</groupId>
209 <artifactId>tycho-packaging-plugin</artifactId>
210 <version>${tycho-version}</version>
213 <addMavenDescriptor>false</addMavenDescriptor>
218 <groupId>org.eclipse.tycho</groupId>
219 <artifactId>target-platform-configuration</artifactId>
220 <version>${tycho-version}</version>
223 <groupId>org.eclipse.tycho</groupId>
224 <artifactId>tycho-compiler-plugin</artifactId>
225 <version>${tycho-version}</version>
227 <encoding>${java-source-encoding}</encoding>
228 <source>${source-java-version}</source>
229 <target>${target-java-version}</target>
230 <showWarnings>true</showWarnings>
234 <groupId>org.eclipse.tycho</groupId>
235 <artifactId>tycho-p2-plugin</artifactId>
236 <version>${tycho-version}</version>
239 <groupId>org.eclipse.tycho</groupId>
240 <artifactId>tycho-surefire-plugin</artifactId>
241 <version>${tycho-version}</version>
243 <argLine>${tycho.testArgLine} -Xms40m -Xmx1G ${os-jvm-flags}</argLine>
247 <groupId>org.eclipse.tycho</groupId>
248 <artifactId>tycho-p2-publisher-plugin</artifactId>
249 <version>${tycho-version}</version>
252 <groupId>org.eclipse.tycho</groupId>
253 <artifactId>tycho-p2-repository-plugin</artifactId>
254 <version>${tycho-version}</version>
257 <groupId>org.eclipse.tycho.extras</groupId>
258 <artifactId>tycho-pack200a-plugin</artifactId>
259 <version>${tycho-extras-version}</version>
262 <groupId>org.eclipse.tycho.extras</groupId>
263 <artifactId>tycho-pack200b-plugin</artifactId>
264 <version>${tycho-extras-version}</version>
267 <groupId>org.eclipse.cbi.maven.plugins</groupId>
268 <artifactId>eclipse-jarsigner-plugin</artifactId>
269 <version>${eclipse-jarsigner-version}</version>
272 <groupId>org.apache.maven.plugins</groupId>
273 <artifactId>maven-resources-plugin</artifactId>
274 <version>${maven-resources-version}</version>
276 <encoding>${resource-encoding}</encoding>
280 <groupId>org.apache.maven.plugins</groupId>
281 <artifactId>maven-antrun-plugin</artifactId>
282 <version>${maven-antrun-version}</version>
285 <groupId>org.codehaus.mojo</groupId>
286 <artifactId>findbugs-maven-plugin</artifactId>
287 <version>${findbugs-maven-version}</version>
290 <groupId>org.apache.maven.plugins</groupId>
291 <artifactId>maven-pmd-plugin</artifactId>
292 <version>${maven-pmd-version}</version>
294 <sourceEncoding>${java-source-encoding}</sourceEncoding>
295 <targetJdk>${target-java-version}</targetJdk>
299 <groupId>org.apache.maven.plugins</groupId>
300 <artifactId>maven-checkstyle-plugin</artifactId>
301 <version>${maven-checkstyle-version}</version>
303 <encoding>${java-source-encoding}</encoding>
307 <groupId>org.codehaus.mojo</groupId>
308 <artifactId>exec-maven-plugin</artifactId>
309 <version>${exec-maven-version}</version>
312 <groupId>org.apache.maven.plugins</groupId>
313 <artifactId>maven-compiler-plugin</artifactId>
314 <version>${maven-compiler-version}</version>
317 <groupId>org.jacoco</groupId>
318 <artifactId>jacoco-maven-plugin</artifactId>
319 <version>${jacoco-maven-version}</version>
322 <groupId>org.apache.maven.plugins</groupId>
323 <artifactId>maven-jar-plugin</artifactId>
324 <version>${maven-jar-version}</version>
327 <groupId>org.apache.maven.plugins</groupId>
328 <artifactId>maven-assembly-plugin</artifactId>
329 <version>${maven-assembly-version}</version>
332 <groupId>org.apache.maven.plugins</groupId>
333 <artifactId>maven-clean-plugin</artifactId>
334 <version>${maven-clean-version}</version>
337 <groupId>org.apache.maven.plugins</groupId>
338 <artifactId>maven-deploy-plugin</artifactId>
339 <version>${maven-deploy-version}</version>
342 <groupId>org.apache.maven.plugins</groupId>
343 <artifactId>maven-install-plugin</artifactId>
344 <version>${maven-install-version}</version>
347 <groupId>org.apache.maven.plugins</groupId>
348 <artifactId>maven-site-plugin</artifactId>
349 <version>${maven-site-version}</version>
352 <groupId>org.apache.maven.plugins</groupId>
353 <artifactId>maven-surefire-plugin</artifactId>
354 <version>${maven-surefire-version}</version>
357 <groupId>org.apache.maven.plugins</groupId>
358 <artifactId>maven-jxr-plugin</artifactId>
359 <version>${maven-jxr-version}</version>
365 <!-- Target platforms are located in org.eclipse.emf.compare-parent/targetPlatforms. -->
369 <activeByDefault>true</activeByDefault>
374 <groupId>org.eclipse.tycho</groupId>
375 <artifactId>target-platform-configuration</artifactId>
379 <groupId>org.eclipse.emf.compare</groupId>
380 <artifactId>emf.compare-parent</artifactId>
381 <version>${parent-version}</version>
382 <classifier>targetPlatforms/2019-06-sdk</classifier>
395 <groupId>org.eclipse.tycho</groupId>
396 <artifactId>target-platform-configuration</artifactId>
400 <groupId>org.eclipse.emf.compare</groupId>
401 <artifactId>emf.compare-parent</artifactId>
402 <version>${parent-version}</version>
403 <classifier>targetPlatforms/oxygen-sdk</classifier>
414 <activeByDefault>false</activeByDefault>
419 <groupId>org.eclipse.tycho</groupId>
420 <artifactId>target-platform-configuration</artifactId>
424 <groupId>org.eclipse.emf.compare</groupId>
425 <artifactId>emf.compare-parent</artifactId>
426 <version>${parent-version}</version>
427 <classifier>targetPlatforms/neon-sdk</classifier>
438 <activeByDefault>false</activeByDefault>
443 <groupId>org.eclipse.tycho</groupId>
444 <artifactId>target-platform-configuration</artifactId>
448 <groupId>org.eclipse.emf.compare</groupId>
449 <artifactId>emf.compare-parent</artifactId>
450 <version>${parent-version}</version>
451 <classifier>targetPlatforms/mars-sdk</classifier>
462 <activeByDefault>false</activeByDefault>
467 <groupId>org.eclipse.tycho</groupId>
468 <artifactId>target-platform-configuration</artifactId>
472 <groupId>org.eclipse.emf.compare</groupId>
473 <artifactId>emf.compare-parent</artifactId>
474 <version>${parent-version}</version>
475 <classifier>targetPlatforms/luna-sdk</classifier>
484 The "extras" profiles can be used to build the supports for external tools such as Sirius.
485 You will need to activate both the "extra-modules" profile and one of the "<platform_name>-extras" profiles.
488 <id>extra-modules</id>
490 <module>../packaging/org.eclipse.emf.compare.update.extras</module>
492 <module>../packaging/org.eclipse.emf.compare.diagram.sirius-feature</module>
493 <module>../plugins/org.eclipse.emf.compare.diagram.sirius</module>
494 <module>../plugins/org.eclipse.emf.compare.diagram.ide.ui.sirius</module>
498 <id>2019-06-extras</id>
502 <groupId>org.eclipse.tycho</groupId>
503 <artifactId>target-platform-configuration</artifactId>
507 <groupId>org.eclipse.emf.compare</groupId>
508 <artifactId>emf.compare-parent</artifactId>
509 <version>${parent-version}</version>
510 <classifier>targetPlatforms/extras/2019-06-extras-sdk</classifier>
519 <id>oxygen-extras</id>
523 <groupId>org.eclipse.tycho</groupId>
524 <artifactId>target-platform-configuration</artifactId>
528 <groupId>org.eclipse.emf.compare</groupId>
529 <artifactId>emf.compare-parent</artifactId>
530 <version>${parent-version}</version>
531 <classifier>targetPlatforms/extras/oxygen-extras-sdk</classifier>
543 <activeByDefault>false</activeByDefault>
548 <groupId>org.eclipse.tycho.extras</groupId>
549 <artifactId>tycho-pack200a-plugin</artifactId>
552 <id>pack200-normalize</id>
554 <goal>normalize</goal>
556 <phase>package</phase>
561 <groupId>org.eclipse.cbi.maven.plugins</groupId>
562 <artifactId>eclipse-jarsigner-plugin</artifactId>
566 <phase>package</phase>
574 <groupId>org.eclipse.tycho.extras</groupId>
575 <artifactId>tycho-pack200b-plugin</artifactId>
578 <id>pack200-pack</id>
582 <phase>package</phase>
587 <groupId>org.eclipse.tycho</groupId>
588 <artifactId>tycho-p2-plugin</artifactId>
593 <goal>p2-metadata</goal>
595 <phase>verify</phase>
599 <defaultP2Metadata>false</defaultP2Metadata>
607 <url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
609 <enabled>true</enabled>
612 <enabled>false</enabled>
615 </pluginRepositories>
617 <!-- use this profile if you need to launch sonar or other quality-related plugins on the built artifacts. -->
621 <activeByDefault>false</activeByDefault>
626 <groupId>org.apache.maven.plugins</groupId>
627 <artifactId>maven-checkstyle-plugin</artifactId>
631 <phase>verify</phase>
633 <goal>checkstyle</goal>
636 <configLocation>${project.basedir}/../../org.eclipse.emf.compare-parent/codeStyle/EMFCompareCheckstyle5Configuration.xml</configLocation>
642 <groupId>org.codehaus.mojo</groupId>
643 <artifactId>findbugs-maven-plugin</artifactId>
645 <xmlOutput>true</xmlOutput>
646 <failOnError>false</failOnError>
651 <phase>verify</phase>
653 <goal>findbugs</goal>
659 <groupId>org.apache.maven.plugins</groupId>
660 <artifactId>maven-pmd-plugin</artifactId>
664 <phase>verify</phase>
677 <groupId>org.apache.maven.plugins</groupId>
678 <artifactId>maven-jxr-plugin</artifactId>
683 <!-- use this profile to test performance of EMF Compare -->
687 <activeByDefault>false</activeByDefault>
690 <performance-suite>Performance</performance-suite>
693 <module>../performance/org.eclipse.emf.compare.tests.performance</module>
698 <groupId>org.eclipse.tycho</groupId>
699 <artifactId>target-platform-configuration</artifactId>
703 <groupId>org.eclipse.emf.compare</groupId>
704 <artifactId>emf.compare-parent</artifactId>
705 <version>${parent-version}</version>
706 <classifier>targetPlatforms/mars-sdk</classifier>
714 <!-- use this profile to test performance of EMF Compare with large models -->
716 <id>performance-large</id>
718 <activeByDefault>false</activeByDefault>
721 <performance-suite>PerformanceLarge</performance-suite>
724 <module>../performance/org.eclipse.emf.compare.tests.performance</module>
729 <groupId>org.eclipse.tycho</groupId>
730 <artifactId>target-platform-configuration</artifactId>
734 <groupId>org.eclipse.emf.compare</groupId>
735 <artifactId>emf.compare-parent</artifactId>
736 <version>${parent-version}</version>
737 <classifier>targetPlatforms/mars-sdk</classifier>
745 <!-- use this profile to test performance of EMF Compare with models shared with git-->
747 <id>performance-git</id>
749 <activeByDefault>false</activeByDefault>
752 <performance-suite>PerformanceGit</performance-suite>
755 <module>../performance/org.eclipse.emf.compare.tests.performance</module>
760 <groupId>org.eclipse.tycho</groupId>
761 <artifactId>target-platform-configuration</artifactId>
765 <groupId>org.eclipse.emf.compare</groupId>
766 <artifactId>emf.compare-parent</artifactId>
767 <version>${parent-version}</version>
768 <classifier>targetPlatforms/mars-sdk</classifier>
776 <!-- use this profile to test performance of EMF Compare with large models shared with git-->
778 <id>performance-large-git</id>
780 <activeByDefault>false</activeByDefault>
783 <performance-suite>PerformanceLargeGit</performance-suite>
786 <module>../performance/org.eclipse.emf.compare.tests.performance</module>
791 <groupId>org.eclipse.tycho</groupId>
792 <artifactId>target-platform-configuration</artifactId>
796 <groupId>org.eclipse.emf.compare</groupId>
797 <artifactId>emf.compare-parent</artifactId>
798 <version>${parent-version}</version>
799 <classifier>targetPlatforms/mars-sdk</classifier>
807 <!-- this profile will activate by itself if the build is ran on a mac. Be carefull to also activate a profile -->
809 <id>macosx-jvm-flags</id>
816 <os-jvm-flags>-XstartOnFirstThread</os-jvm-flags>
819 <!-- This profile is activated when the code.coverage property is not set.
820 Another profile is defined in test-parent where jacoco is triggerred and will set testArgLine to
821 its desired value. -->
823 <id>no.code.coverage</id>
826 <name>!code.coverage</name>