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.4-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.4-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.0.0</tycho-version>
44 <tycho-extras-version>1.0.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>
173 <groupId>org.eclipse.tycho</groupId>
174 <artifactId>tycho-source-plugin</artifactId>
175 <version>${tycho-version}</version>
178 <addMavenDescriptor>false</addMavenDescriptor>
183 <id>plugin-source</id>
185 <goal>plugin-source</goal>
191 <groupId>org.eclipse.tycho.extras</groupId>
192 <artifactId>tycho-source-feature-plugin</artifactId>
193 <version>${tycho-extras-version}</version>
196 <addMavenDescriptor>false</addMavenDescriptor>
201 <id>source-feature</id>
202 <phase>package</phase>
204 <goal>source-feature</goal>
213 <groupId>org.eclipse.tycho</groupId>
214 <artifactId>tycho-maven-plugin</artifactId>
215 <version>${tycho-version}</version>
218 <groupId>org.eclipse.tycho</groupId>
219 <artifactId>tycho-packaging-plugin</artifactId>
220 <version>${tycho-version}</version>
223 <addMavenDescriptor>false</addMavenDescriptor>
228 <groupId>org.eclipse.tycho</groupId>
229 <artifactId>target-platform-configuration</artifactId>
230 <version>${tycho-version}</version>
233 <groupId>org.eclipse.tycho</groupId>
234 <artifactId>tycho-compiler-plugin</artifactId>
235 <version>${tycho-version}</version>
237 <encoding>${java-source-encoding}</encoding>
238 <source>${source-java-version}</source>
239 <target>${target-java-version}</target>
240 <showWarnings>true</showWarnings>
244 <groupId>org.eclipse.tycho</groupId>
245 <artifactId>tycho-p2-plugin</artifactId>
246 <version>${tycho-version}</version>
249 <groupId>org.eclipse.tycho</groupId>
250 <artifactId>tycho-surefire-plugin</artifactId>
251 <version>${tycho-version}</version>
253 <argLine>${tycho.testArgLine} -Xms40m -Xmx1G ${os-jvm-flags}</argLine>
257 <groupId>org.eclipse.tycho</groupId>
258 <artifactId>tycho-p2-publisher-plugin</artifactId>
259 <version>${tycho-version}</version>
262 <groupId>org.eclipse.tycho</groupId>
263 <artifactId>tycho-p2-repository-plugin</artifactId>
264 <version>${tycho-version}</version>
267 <groupId>org.eclipse.tycho.extras</groupId>
268 <artifactId>tycho-pack200a-plugin</artifactId>
269 <version>${tycho-extras-version}</version>
272 <groupId>org.eclipse.tycho.extras</groupId>
273 <artifactId>tycho-pack200b-plugin</artifactId>
274 <version>${tycho-extras-version}</version>
277 <groupId>org.eclipse.cbi.maven.plugins</groupId>
278 <artifactId>eclipse-jarsigner-plugin</artifactId>
279 <version>${eclipse-jarsigner-version}</version>
282 <groupId>org.apache.maven.plugins</groupId>
283 <artifactId>maven-resources-plugin</artifactId>
284 <version>${maven-resources-version}</version>
286 <encoding>${resource-encoding}</encoding>
290 <groupId>org.apache.maven.plugins</groupId>
291 <artifactId>maven-antrun-plugin</artifactId>
292 <version>${maven-antrun-version}</version>
295 <groupId>org.codehaus.mojo</groupId>
296 <artifactId>findbugs-maven-plugin</artifactId>
297 <version>${findbugs-maven-version}</version>
300 <groupId>org.apache.maven.plugins</groupId>
301 <artifactId>maven-pmd-plugin</artifactId>
302 <version>${maven-pmd-version}</version>
304 <sourceEncoding>${java-source-encoding}</sourceEncoding>
305 <targetJdk>${target-java-version}</targetJdk>
309 <groupId>org.apache.maven.plugins</groupId>
310 <artifactId>maven-checkstyle-plugin</artifactId>
311 <version>${maven-checkstyle-version}</version>
313 <encoding>${java-source-encoding}</encoding>
317 <groupId>org.codehaus.mojo</groupId>
318 <artifactId>exec-maven-plugin</artifactId>
319 <version>${exec-maven-version}</version>
322 <groupId>org.apache.maven.plugins</groupId>
323 <artifactId>maven-compiler-plugin</artifactId>
324 <version>${maven-compiler-version}</version>
327 <groupId>org.jacoco</groupId>
328 <artifactId>jacoco-maven-plugin</artifactId>
329 <version>${jacoco-maven-version}</version>
332 <groupId>org.apache.maven.plugins</groupId>
333 <artifactId>maven-jar-plugin</artifactId>
334 <version>${maven-jar-version}</version>
337 <groupId>org.apache.maven.plugins</groupId>
338 <artifactId>maven-assembly-plugin</artifactId>
339 <version>${maven-assembly-version}</version>
342 <groupId>org.apache.maven.plugins</groupId>
343 <artifactId>maven-clean-plugin</artifactId>
344 <version>${maven-clean-version}</version>
347 <groupId>org.apache.maven.plugins</groupId>
348 <artifactId>maven-deploy-plugin</artifactId>
349 <version>${maven-deploy-version}</version>
352 <groupId>org.apache.maven.plugins</groupId>
353 <artifactId>maven-install-plugin</artifactId>
354 <version>${maven-install-version}</version>
357 <groupId>org.apache.maven.plugins</groupId>
358 <artifactId>maven-site-plugin</artifactId>
359 <version>${maven-site-version}</version>
362 <groupId>org.apache.maven.plugins</groupId>
363 <artifactId>maven-surefire-plugin</artifactId>
364 <version>${maven-surefire-version}</version>
367 <groupId>org.apache.maven.plugins</groupId>
368 <artifactId>maven-jxr-plugin</artifactId>
369 <version>${maven-jxr-version}</version>
375 <!-- Target platforms are located in org.eclipse.emf.compare-parent/targetPlatforms. -->
379 <activeByDefault>true</activeByDefault>
384 <groupId>org.eclipse.tycho</groupId>
385 <artifactId>target-platform-configuration</artifactId>
389 <groupId>org.eclipse.emf.compare</groupId>
390 <artifactId>emf.compare-parent</artifactId>
391 <version>${parent-version}</version>
392 <classifier>targetPlatforms/oxygen-sdk</classifier>
403 <activeByDefault>false</activeByDefault>
408 <groupId>org.eclipse.tycho</groupId>
409 <artifactId>target-platform-configuration</artifactId>
413 <groupId>org.eclipse.emf.compare</groupId>
414 <artifactId>emf.compare-parent</artifactId>
415 <version>${parent-version}</version>
416 <classifier>targetPlatforms/neon-sdk</classifier>
427 <activeByDefault>false</activeByDefault>
432 <groupId>org.eclipse.tycho</groupId>
433 <artifactId>target-platform-configuration</artifactId>
437 <groupId>org.eclipse.emf.compare</groupId>
438 <artifactId>emf.compare-parent</artifactId>
439 <version>${parent-version}</version>
440 <classifier>targetPlatforms/mars-sdk</classifier>
451 <activeByDefault>false</activeByDefault>
456 <groupId>org.eclipse.tycho</groupId>
457 <artifactId>target-platform-configuration</artifactId>
461 <groupId>org.eclipse.emf.compare</groupId>
462 <artifactId>emf.compare-parent</artifactId>
463 <version>${parent-version}</version>
464 <classifier>targetPlatforms/luna-sdk</classifier>
473 The "extras" profiles can be used to build the supports for external tools such as Sirius.
474 You will need to activate both the "extra-modules" profile and one of the "<platform_name>-extras" profiles.
477 <id>extra-modules</id>
479 <module>../packaging/org.eclipse.emf.compare.update.extras</module>
481 <module>../packaging/org.eclipse.emf.compare.diagram.sirius-feature</module>
482 <module>../plugins/org.eclipse.emf.compare.diagram.sirius</module>
483 <module>../plugins/org.eclipse.emf.compare.diagram.ide.ui.sirius</module>
487 <id>oxygen-extras</id>
491 <groupId>org.eclipse.tycho</groupId>
492 <artifactId>target-platform-configuration</artifactId>
496 <groupId>org.eclipse.emf.compare</groupId>
497 <artifactId>emf.compare-parent</artifactId>
498 <version>${parent-version}</version>
499 <classifier>targetPlatforms/extras/oxygen-extras-sdk</classifier>
511 <activeByDefault>false</activeByDefault>
516 <groupId>org.eclipse.tycho.extras</groupId>
517 <artifactId>tycho-pack200a-plugin</artifactId>
520 <id>pack200-normalize</id>
522 <goal>normalize</goal>
524 <phase>package</phase>
529 <groupId>org.eclipse.cbi.maven.plugins</groupId>
530 <artifactId>eclipse-jarsigner-plugin</artifactId>
534 <phase>package</phase>
542 <groupId>org.eclipse.tycho.extras</groupId>
543 <artifactId>tycho-pack200b-plugin</artifactId>
546 <id>pack200-pack</id>
550 <phase>package</phase>
555 <groupId>org.eclipse.tycho</groupId>
556 <artifactId>tycho-p2-plugin</artifactId>
561 <goal>p2-metadata</goal>
563 <phase>verify</phase>
567 <defaultP2Metadata>false</defaultP2Metadata>
575 <url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
577 <enabled>true</enabled>
580 <enabled>false</enabled>
583 </pluginRepositories>
585 <!-- use this profile if you need to launch sonar or other quality-related plugins on the built artifacts. -->
589 <activeByDefault>false</activeByDefault>
594 <groupId>org.apache.maven.plugins</groupId>
595 <artifactId>maven-checkstyle-plugin</artifactId>
599 <phase>verify</phase>
601 <goal>checkstyle</goal>
604 <configLocation>${project.basedir}/../../org.eclipse.emf.compare-parent/codeStyle/EMFCompareCheckstyle5Configuration.xml</configLocation>
610 <groupId>org.codehaus.mojo</groupId>
611 <artifactId>findbugs-maven-plugin</artifactId>
613 <xmlOutput>true</xmlOutput>
614 <failOnError>false</failOnError>
619 <phase>verify</phase>
621 <goal>findbugs</goal>
627 <groupId>org.apache.maven.plugins</groupId>
628 <artifactId>maven-pmd-plugin</artifactId>
632 <phase>verify</phase>
645 <groupId>org.apache.maven.plugins</groupId>
646 <artifactId>maven-jxr-plugin</artifactId>
651 <!-- use this profile to test performance of EMF Compare -->
655 <activeByDefault>false</activeByDefault>
658 <performance-suite>Performance</performance-suite>
661 <module>../performance/org.eclipse.emf.compare.tests.performance</module>
666 <groupId>org.eclipse.tycho</groupId>
667 <artifactId>target-platform-configuration</artifactId>
671 <groupId>org.eclipse.emf.compare</groupId>
672 <artifactId>emf.compare-parent</artifactId>
673 <version>${parent-version}</version>
674 <classifier>targetPlatforms/mars-sdk</classifier>
682 <!-- use this profile to test performance of EMF Compare with large models -->
684 <id>performance-large</id>
686 <activeByDefault>false</activeByDefault>
689 <performance-suite>PerformanceLarge</performance-suite>
692 <module>../performance/org.eclipse.emf.compare.tests.performance</module>
697 <groupId>org.eclipse.tycho</groupId>
698 <artifactId>target-platform-configuration</artifactId>
702 <groupId>org.eclipse.emf.compare</groupId>
703 <artifactId>emf.compare-parent</artifactId>
704 <version>${parent-version}</version>
705 <classifier>targetPlatforms/mars-sdk</classifier>
713 <!-- use this profile to test performance of EMF Compare with models shared with git-->
715 <id>performance-git</id>
717 <activeByDefault>false</activeByDefault>
720 <performance-suite>PerformanceGit</performance-suite>
723 <module>../performance/org.eclipse.emf.compare.tests.performance</module>
728 <groupId>org.eclipse.tycho</groupId>
729 <artifactId>target-platform-configuration</artifactId>
733 <groupId>org.eclipse.emf.compare</groupId>
734 <artifactId>emf.compare-parent</artifactId>
735 <version>${parent-version}</version>
736 <classifier>targetPlatforms/mars-sdk</classifier>
744 <!-- use this profile to test performance of EMF Compare with large models shared with git-->
746 <id>performance-large-git</id>
748 <activeByDefault>false</activeByDefault>
751 <performance-suite>PerformanceLargeGit</performance-suite>
754 <module>../performance/org.eclipse.emf.compare.tests.performance</module>
759 <groupId>org.eclipse.tycho</groupId>
760 <artifactId>target-platform-configuration</artifactId>
764 <groupId>org.eclipse.emf.compare</groupId>
765 <artifactId>emf.compare-parent</artifactId>
766 <version>${parent-version}</version>
767 <classifier>targetPlatforms/mars-sdk</classifier>
775 <!-- this profile will activate by itself if the build is ran on a mac. Be carefull to also activate a profile -->
777 <id>macosx-jvm-flags</id>
784 <os-jvm-flags>-XstartOnFirstThread</os-jvm-flags>
787 <!-- This profile is activated when the code.coverage property is not set.
788 Another profile is defined in test-parent where jacoco is triggerred and will set testArgLine to
789 its desired value. -->
791 <id>no.code.coverage</id>
794 <name>!code.coverage</name>