pom.xml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518
  1. <?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"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <groupId>be.uantwerpen.ansymo.semanticadaptation</groupId>
  6. <artifactId>parent</artifactId>
  7. <version>1.0.0-SNAPSHOT</version>
  8. <packaging>pom</packaging>
  9. <name>Semantics Adaptation Root
  10. </name>
  11. <!-- the mavenization is based on this approach https://github.com/xtext/maven-xtext-example -->
  12. <modules>
  13. <module>be.uantwerpen.ansymo.semanticadaptation.testframework</module>
  14. <module>be.uantwerpen.ansymo.semanticadaptation</module>
  15. <module>be.uantwerpen.ansymo.semanticadaptation.log</module>
  16. <module>be.uantwerpen.ansymo.semanticadaptation.cg.chain</module>
  17. <module>be.uantwerpen.ansymo.semanticadaptation.tests</module>
  18. <module>be.uantwerpen.ansymo.semanticadaptation.ide</module>
  19. <module>be.uantwerpen.ansymo.semanticadaptation.ui</module>
  20. <module>be.uantwerpen.ansymo.semanticadaptation.cg.cpp</module>
  21. <module>be.uantwerpen.ansymo.semanticadaptation.cg.canonical</module>
  22. <module>be.uantwerpen.ansymo.semanticadaptation.cg.cpp.tests</module>
  23. <module>be.uantwerpen.ansymo.semanticadaptation.cg.canonical.tests</module>
  24. <module>features</module>
  25. <module>repository</module>
  26. <module>platform</module>
  27. <module>product</module>
  28. </modules>
  29. <properties>
  30. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  31. <xtext.version>2.11.0</xtext.version>
  32. <main.basedir>${project.basedir}</main.basedir>
  33. <tycho.version>1.0.0</tycho.version>
  34. </properties>
  35. <repositories>
  36. <repository>
  37. <id>eclipse</id>
  38. <layout>p2</layout>
  39. <url>http://download.eclipse.org/releases/neon</url>
  40. </repository>
  41. <repository>
  42. <id>Xtext Update Site</id>
  43. <layout>p2</layout>
  44. <!--url>http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/</url-->
  45. <url>http://download.eclipse.org/modeling/tmf/xtext/updates/releases/${xtext.version}/</url>
  46. </repository>
  47. <!--repository>
  48. <id>mvn</id>
  49. <url>http://mvnrepository.com/artifact</url>
  50. </repository-->
  51. </repositories>
  52. <build>
  53. <pluginManagement>
  54. <plugins>
  55. <!-- Enable JavaDoc but dont fail on error. This must be disabled for
  56. the Eclipse project in the IDE -->
  57. <plugin>
  58. <groupId>org.apache.maven.plugins</groupId>
  59. <artifactId>maven-javadoc-plugin</artifactId>
  60. <version>2.9</version>
  61. <executions>
  62. <execution>
  63. <id>attach-javadocs</id>
  64. <goals>
  65. <goal>jar</goal>
  66. </goals>
  67. </execution>
  68. </executions>
  69. <configuration>
  70. <failOnError>false</failOnError>
  71. <quiet>true</quiet>
  72. </configuration>
  73. </plugin>
  74. <!-- Configure the compiler for all Overture Projects -->
  75. <plugin>
  76. <groupId>org.apache.maven.plugins</groupId>
  77. <artifactId>maven-compiler-plugin</artifactId>
  78. <version>3.5.1</version>
  79. <configuration>
  80. <source>1.8</source>
  81. <target>1.8</target>
  82. </configuration>
  83. </plugin>
  84. <plugin>
  85. <groupId>org.apache.maven.plugins</groupId>
  86. <artifactId>maven-surefire-plugin</artifactId>
  87. <version>2.13</version>
  88. <configuration>
  89. </configuration>
  90. </plugin>
  91. <!-- xtend-maven-plugin is in pluginManagement instead of in plugins
  92. so that it doesn't run before the exec-maven-plugin's *.mwe2 gen; this way
  93. we can list it after. -->
  94. <plugin>
  95. <groupId>org.eclipse.xtend</groupId>
  96. <artifactId>xtend-maven-plugin</artifactId>
  97. <version>${xtext.version}</version>
  98. <!-- https://github.com/eclipse/xtext/issues/1231#issuecomment-401125569 -->
  99. <dependencies>
  100. <dependency>
  101. <groupId>org.eclipse.platform</groupId>
  102. <artifactId>org.eclipse.equinox.common</artifactId>
  103. <version>3.10.0</version>
  104. </dependency>
  105. </dependencies>
  106. <executions>
  107. <execution>
  108. <goals>
  109. <goal>compile</goal>
  110. <goal>xtend-install-debug-info</goal>
  111. <goal>testCompile</goal>
  112. <goal>xtend-test-install-debug-info</goal>
  113. </goals>
  114. </execution>
  115. </executions>
  116. <configuration>
  117. <xtendAsPrimaryDebugSource>true</xtendAsPrimaryDebugSource>
  118. <!--outputDirectory>${project.build.directory}/xtend-gen/main</outputDirectory-->
  119. <testOutputDirectory>${project.build.directory}/xtend-gen/test</testOutputDirectory>
  120. <writeTraceFiles>true</writeTraceFiles>
  121. <outputDirectory>xtend-gen</outputDirectory>
  122. </configuration>
  123. </plugin>
  124. <plugin>
  125. <groupId>org.apache.maven.plugins</groupId>
  126. <artifactId>maven-clean-plugin</artifactId>
  127. <version>2.5</version>
  128. <executions>
  129. <execution>
  130. <id>gen-clean</id>
  131. <goals>
  132. <goal>clean</goal>
  133. </goals>
  134. <configuration>
  135. <filesets>
  136. <fileset>
  137. <directory>${basedir}/xtend-gen</directory>
  138. </fileset>
  139. </filesets>
  140. </configuration>
  141. </execution>
  142. </executions>
  143. </plugin>
  144. <plugin>
  145. <groupId>org.eclipse.tycho</groupId>
  146. <artifactId>tycho-maven-plugin</artifactId>
  147. <version>${tycho.version}</version>
  148. </plugin>
  149. <plugin>
  150. <groupId>org.eclipse.tycho</groupId>
  151. <artifactId>target-platform-configuration</artifactId>
  152. <version>${tycho.version}</version>
  153. </plugin>
  154. <plugin>
  155. <groupId>org.eclipse.tycho</groupId>
  156. <artifactId>tycho-p2-director-plugin</artifactId>
  157. <version>${tycho.version}</version>
  158. </plugin>
  159. <plugin>
  160. <groupId>org.eclipse.tycho</groupId>
  161. <artifactId>tycho-packaging-plugin</artifactId>
  162. <version>${tycho.version}</version>
  163. <configuration>
  164. <archive>
  165. <addMavenDescriptor>false</addMavenDescriptor>
  166. </archive>
  167. </configuration>
  168. </plugin>
  169. <!-- Use the below to update the version numbers of the poms,
  170. manifests, and feature.xml files with the commandline:
  171. $ mvn -Dtycho.mode=maven tycho-versions:set-version -DnewVersion=2.0.2
  172. Don't commit the changes to the export-packages lines in
  173. the manifests, though.
  174. -->
  175. <plugin>
  176. <groupId>org.eclipse.tycho</groupId>
  177. <artifactId>tycho-versions-plugin</artifactId>
  178. <version>${tycho.version}</version>
  179. </plugin>
  180. <plugin>
  181. <groupId>org.eclipse.m2e</groupId>
  182. <artifactId>lifecycle-mapping</artifactId>
  183. <version>1.0.0</version>
  184. <configuration>
  185. <lifecycleMappingMetadata>
  186. <pluginExecutions>
  187. <pluginExecution>
  188. <pluginExecutionFilter>
  189. <groupId>org.apache.maven.plugins</groupId>
  190. <artifactId>maven-dependency-plugin</artifactId>
  191. <versionRange>[1.0.0,)</versionRange>
  192. <goals>
  193. <goal>copy-dependencies</goal>
  194. </goals>
  195. </pluginExecutionFilter>
  196. <action>
  197. <ignore />
  198. </action>
  199. </pluginExecution>
  200. </pluginExecutions>
  201. </lifecycleMappingMetadata>
  202. </configuration>
  203. </plugin>
  204. <plugin>
  205. <groupId>pl.project13.maven</groupId>
  206. <artifactId>git-commit-id-plugin</artifactId>
  207. <version>2.2.0</version>
  208. <configuration>
  209. </configuration>
  210. </plugin>
  211. <plugin>
  212. <groupId>org.apache.maven.plugins</groupId>
  213. <artifactId>maven-resources-plugin</artifactId>
  214. <version>2.7</version>
  215. </plugin>
  216. </plugins>
  217. </pluginManagement>
  218. <plugins>
  219. <plugin>
  220. <groupId>org.eclipse.tycho</groupId>
  221. <artifactId>tycho-maven-plugin</artifactId>
  222. <extensions>true</extensions>
  223. </plugin>
  224. <plugin>
  225. <groupId>org.eclipse.tycho</groupId>
  226. <artifactId>target-platform-configuration</artifactId>
  227. </plugin>
  228. <plugin>
  229. <groupId>org.apache.maven.plugins</groupId>
  230. <artifactId>maven-javadoc-plugin</artifactId>
  231. <configuration>
  232. <skip>true</skip>
  233. </configuration>
  234. </plugin>
  235. </plugins>
  236. </build>
  237. <profiles>
  238. <!-- These next five profiles will autodetect which OS maven is
  239. being executed on and then build the matching version of
  240. Overture for that OS. -jwc/23Jan2014
  241. -->
  242. <profile>
  243. <id>win</id>
  244. <activation>
  245. <activeByDefault>false</activeByDefault>
  246. <os>
  247. <family>windows</family>
  248. <arch>x86</arch>
  249. </os>
  250. </activation>
  251. <build>
  252. <plugins>
  253. <plugin>
  254. <groupId>org.eclipse.tycho</groupId>
  255. <artifactId>target-platform-configuration</artifactId>
  256. <configuration>
  257. <environments>
  258. <environment>
  259. <os>win32</os>
  260. <ws>win32</ws>
  261. <arch>x86</arch>
  262. </environment>
  263. </environments>
  264. </configuration>
  265. </plugin>
  266. </plugins>
  267. </build>
  268. </profile>
  269. <profile>
  270. <id>win64</id>
  271. <activation>
  272. <activeByDefault>false</activeByDefault>
  273. <os>
  274. <family>windows</family>
  275. <arch>amd64</arch>
  276. </os>
  277. </activation>
  278. <build>
  279. <plugins>
  280. <plugin>
  281. <groupId>org.eclipse.tycho</groupId>
  282. <artifactId>target-platform-configuration</artifactId>
  283. <configuration>
  284. <environments>
  285. <environment>
  286. <os>win32</os>
  287. <ws>win32</ws>
  288. <arch>x86_64</arch>
  289. </environment>
  290. </environments>
  291. </configuration>
  292. </plugin>
  293. </plugins>
  294. </build>
  295. </profile>
  296. <profile>
  297. <id>mac</id>
  298. <activation>
  299. <activeByDefault>false</activeByDefault>
  300. <os>
  301. <family>mac</family>
  302. </os>
  303. </activation>
  304. <build>
  305. <plugins>
  306. <plugin>
  307. <groupId>org.eclipse.tycho</groupId>
  308. <artifactId>target-platform-configuration</artifactId>
  309. <configuration>
  310. <environments>
  311. <environment>
  312. <os>macosx</os>
  313. <ws>cocoa</ws>
  314. <arch>x86_64</arch>
  315. </environment>
  316. </environments>
  317. </configuration>
  318. </plugin>
  319. <plugin>
  320. <groupId>org.eclipse.tycho</groupId>
  321. <artifactId>tycho-p2-repository-plugin</artifactId>
  322. <version>${tycho.version}</version>
  323. <configuration>
  324. <includeAllDependencies>true</includeAllDependencies>
  325. <profileProperties>
  326. <macosx-bundled>true</macosx-bundled>
  327. </profileProperties>
  328. </configuration>
  329. </plugin>
  330. </plugins>
  331. </build>
  332. </profile>
  333. <profile>
  334. <id>linux</id>
  335. <activation>
  336. <activeByDefault>false</activeByDefault>
  337. <os>
  338. <family>unix</family>
  339. <name>linux</name>
  340. <arch>x86</arch>
  341. </os>
  342. </activation>
  343. <build>
  344. <plugins>
  345. <plugin>
  346. <groupId>org.eclipse.tycho</groupId>
  347. <artifactId>target-platform-configuration</artifactId>
  348. <configuration>
  349. <environments>
  350. <environment>
  351. <os>linux</os>
  352. <ws>gtk</ws>
  353. <arch>x86</arch>
  354. </environment>
  355. </environments>
  356. </configuration>
  357. </plugin>
  358. </plugins>
  359. </build>
  360. </profile>
  361. <profile>
  362. <id>linux64</id>
  363. <activation>
  364. <activeByDefault>false</activeByDefault>
  365. <os>
  366. <family>unix</family>
  367. <name>linux</name>
  368. <arch>amd64</arch>
  369. </os>
  370. </activation>
  371. <build>
  372. <plugins>
  373. <plugin>
  374. <groupId>org.eclipse.tycho</groupId>
  375. <artifactId>target-platform-configuration</artifactId>
  376. <configuration>
  377. <environments>
  378. <environment>
  379. <os>linux</os>
  380. <ws>gtk</ws>
  381. <arch>x86</arch>
  382. </environment>
  383. <environment>
  384. <os>linux</os>
  385. <ws>gtk</ws>
  386. <arch>x86_64</arch>
  387. </environment>
  388. </environments>
  389. </configuration>
  390. </plugin>
  391. </plugins>
  392. </build>
  393. </profile>
  394. <!-- Use this profile to build Overture for all platforms, but you
  395. may need to add -P\!linux (or whichever os) to disable the
  396. autodetected profile (per above), otherwise the autodetected
  397. profile may take precedence over the command-line specified
  398. profile. -jwc/23Jan2014
  399. -->
  400. <profile>
  401. <id>all-platforms</id>
  402. <build>
  403. <plugins>
  404. <plugin>
  405. <groupId>org.eclipse.tycho</groupId>
  406. <artifactId>target-platform-configuration</artifactId>
  407. <configuration>
  408. <environments>
  409. <environment>
  410. <os>win32</os>
  411. <ws>win32</ws>
  412. <arch>x86</arch>
  413. </environment>
  414. <environment>
  415. <os>win32</os>
  416. <ws>win32</ws>
  417. <arch>x86_64</arch>
  418. </environment>
  419. <environment>
  420. <os>linux</os>
  421. <ws>gtk</ws>
  422. <arch>x86</arch>
  423. </environment>
  424. <environment>
  425. <os>linux</os>
  426. <ws>gtk</ws>
  427. <arch>x86_64</arch>
  428. </environment>
  429. <environment>
  430. <os>macosx</os>
  431. <ws>cocoa</ws>
  432. <arch>x86_64</arch>
  433. </environment>
  434. </environments>
  435. </configuration>
  436. </plugin>
  437. </plugins>
  438. </build>
  439. </profile>
  440. <profile>
  441. <id>codesigning</id>
  442. <build>
  443. <plugins>
  444. <plugin>
  445. <groupId>org.apache.maven.plugins</groupId>
  446. <artifactId>maven-jarsigner-plugin</artifactId>
  447. <configuration>
  448. <!-- This is an attempt to disable the test error: java.lang.SecurityException: class ...'s signer information does not match signer information of other classes in the same package
  449. -->
  450. <removeExistingSignatures>true</removeExistingSignatures>
  451. <storetype>${keystore.type}</storetype>
  452. <keystore>${keystore.path}</keystore>
  453. <alias>${keystore.alias}</alias>
  454. <storepass>${keystore.store.password}</storepass>
  455. <keypass>${keystore.key.password}</keypass>
  456. </configuration>
  457. <executions>
  458. <execution>
  459. <id>sign</id>
  460. <goals>
  461. <goal>sign</goal>
  462. </goals>
  463. </execution>
  464. </executions>
  465. </plugin>
  466. </plugins>
  467. </build>
  468. </profile>
  469. </profiles>
  470. </project>