pom.xml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510
  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. <executions>
  99. <execution>
  100. <goals>
  101. <goal>compile</goal>
  102. <goal>xtend-install-debug-info</goal>
  103. <goal>testCompile</goal>
  104. <goal>xtend-test-install-debug-info</goal>
  105. </goals>
  106. </execution>
  107. </executions>
  108. <configuration>
  109. <xtendAsPrimaryDebugSource>true</xtendAsPrimaryDebugSource>
  110. <!--outputDirectory>${project.build.directory}/xtend-gen/main</outputDirectory-->
  111. <testOutputDirectory>${project.build.directory}/xtend-gen/test</testOutputDirectory>
  112. <writeTraceFiles>true</writeTraceFiles>
  113. <outputDirectory>xtend-gen</outputDirectory>
  114. </configuration>
  115. </plugin>
  116. <plugin>
  117. <groupId>org.apache.maven.plugins</groupId>
  118. <artifactId>maven-clean-plugin</artifactId>
  119. <version>2.5</version>
  120. <executions>
  121. <execution>
  122. <id>gen-clean</id>
  123. <goals>
  124. <goal>clean</goal>
  125. </goals>
  126. <configuration>
  127. <filesets>
  128. <fileset>
  129. <directory>${basedir}/xtend-gen</directory>
  130. </fileset>
  131. </filesets>
  132. </configuration>
  133. </execution>
  134. </executions>
  135. </plugin>
  136. <plugin>
  137. <groupId>org.eclipse.tycho</groupId>
  138. <artifactId>tycho-maven-plugin</artifactId>
  139. <version>${tycho.version}</version>
  140. </plugin>
  141. <plugin>
  142. <groupId>org.eclipse.tycho</groupId>
  143. <artifactId>target-platform-configuration</artifactId>
  144. <version>${tycho.version}</version>
  145. </plugin>
  146. <plugin>
  147. <groupId>org.eclipse.tycho</groupId>
  148. <artifactId>tycho-p2-director-plugin</artifactId>
  149. <version>${tycho.version}</version>
  150. </plugin>
  151. <plugin>
  152. <groupId>org.eclipse.tycho</groupId>
  153. <artifactId>tycho-packaging-plugin</artifactId>
  154. <version>${tycho.version}</version>
  155. <configuration>
  156. <archive>
  157. <addMavenDescriptor>false</addMavenDescriptor>
  158. </archive>
  159. </configuration>
  160. </plugin>
  161. <!-- Use the below to update the version numbers of the poms,
  162. manifests, and feature.xml files with the commandline:
  163. $ mvn -Dtycho.mode=maven tycho-versions:set-version -DnewVersion=2.0.2
  164. Don't commit the changes to the export-packages lines in
  165. the manifests, though.
  166. -->
  167. <plugin>
  168. <groupId>org.eclipse.tycho</groupId>
  169. <artifactId>tycho-versions-plugin</artifactId>
  170. <version>${tycho.version}</version>
  171. </plugin>
  172. <plugin>
  173. <groupId>org.eclipse.m2e</groupId>
  174. <artifactId>lifecycle-mapping</artifactId>
  175. <version>1.0.0</version>
  176. <configuration>
  177. <lifecycleMappingMetadata>
  178. <pluginExecutions>
  179. <pluginExecution>
  180. <pluginExecutionFilter>
  181. <groupId>org.apache.maven.plugins</groupId>
  182. <artifactId>maven-dependency-plugin</artifactId>
  183. <versionRange>[1.0.0,)</versionRange>
  184. <goals>
  185. <goal>copy-dependencies</goal>
  186. </goals>
  187. </pluginExecutionFilter>
  188. <action>
  189. <ignore />
  190. </action>
  191. </pluginExecution>
  192. </pluginExecutions>
  193. </lifecycleMappingMetadata>
  194. </configuration>
  195. </plugin>
  196. <plugin>
  197. <groupId>pl.project13.maven</groupId>
  198. <artifactId>git-commit-id-plugin</artifactId>
  199. <version>2.2.0</version>
  200. <configuration>
  201. </configuration>
  202. </plugin>
  203. <plugin>
  204. <groupId>org.apache.maven.plugins</groupId>
  205. <artifactId>maven-resources-plugin</artifactId>
  206. <version>2.7</version>
  207. </plugin>
  208. </plugins>
  209. </pluginManagement>
  210. <plugins>
  211. <plugin>
  212. <groupId>org.eclipse.tycho</groupId>
  213. <artifactId>tycho-maven-plugin</artifactId>
  214. <extensions>true</extensions>
  215. </plugin>
  216. <plugin>
  217. <groupId>org.eclipse.tycho</groupId>
  218. <artifactId>target-platform-configuration</artifactId>
  219. </plugin>
  220. <plugin>
  221. <groupId>org.apache.maven.plugins</groupId>
  222. <artifactId>maven-javadoc-plugin</artifactId>
  223. <configuration>
  224. <skip>true</skip>
  225. </configuration>
  226. </plugin>
  227. </plugins>
  228. </build>
  229. <profiles>
  230. <!-- These next five profiles will autodetect which OS maven is
  231. being executed on and then build the matching version of
  232. Overture for that OS. -jwc/23Jan2014
  233. -->
  234. <profile>
  235. <id>win</id>
  236. <activation>
  237. <activeByDefault>false</activeByDefault>
  238. <os>
  239. <family>windows</family>
  240. <arch>x86</arch>
  241. </os>
  242. </activation>
  243. <build>
  244. <plugins>
  245. <plugin>
  246. <groupId>org.eclipse.tycho</groupId>
  247. <artifactId>target-platform-configuration</artifactId>
  248. <configuration>
  249. <environments>
  250. <environment>
  251. <os>win32</os>
  252. <ws>win32</ws>
  253. <arch>x86</arch>
  254. </environment>
  255. </environments>
  256. </configuration>
  257. </plugin>
  258. </plugins>
  259. </build>
  260. </profile>
  261. <profile>
  262. <id>win64</id>
  263. <activation>
  264. <activeByDefault>false</activeByDefault>
  265. <os>
  266. <family>windows</family>
  267. <arch>amd64</arch>
  268. </os>
  269. </activation>
  270. <build>
  271. <plugins>
  272. <plugin>
  273. <groupId>org.eclipse.tycho</groupId>
  274. <artifactId>target-platform-configuration</artifactId>
  275. <configuration>
  276. <environments>
  277. <environment>
  278. <os>win32</os>
  279. <ws>win32</ws>
  280. <arch>x86_64</arch>
  281. </environment>
  282. </environments>
  283. </configuration>
  284. </plugin>
  285. </plugins>
  286. </build>
  287. </profile>
  288. <profile>
  289. <id>mac</id>
  290. <activation>
  291. <activeByDefault>false</activeByDefault>
  292. <os>
  293. <family>mac</family>
  294. </os>
  295. </activation>
  296. <build>
  297. <plugins>
  298. <plugin>
  299. <groupId>org.eclipse.tycho</groupId>
  300. <artifactId>target-platform-configuration</artifactId>
  301. <configuration>
  302. <environments>
  303. <environment>
  304. <os>macosx</os>
  305. <ws>cocoa</ws>
  306. <arch>x86_64</arch>
  307. </environment>
  308. </environments>
  309. </configuration>
  310. </plugin>
  311. <plugin>
  312. <groupId>org.eclipse.tycho</groupId>
  313. <artifactId>tycho-p2-repository-plugin</artifactId>
  314. <version>${tycho.version}</version>
  315. <configuration>
  316. <includeAllDependencies>true</includeAllDependencies>
  317. <profileProperties>
  318. <macosx-bundled>true</macosx-bundled>
  319. </profileProperties>
  320. </configuration>
  321. </plugin>
  322. </plugins>
  323. </build>
  324. </profile>
  325. <profile>
  326. <id>linux</id>
  327. <activation>
  328. <activeByDefault>false</activeByDefault>
  329. <os>
  330. <family>unix</family>
  331. <name>linux</name>
  332. <arch>x86</arch>
  333. </os>
  334. </activation>
  335. <build>
  336. <plugins>
  337. <plugin>
  338. <groupId>org.eclipse.tycho</groupId>
  339. <artifactId>target-platform-configuration</artifactId>
  340. <configuration>
  341. <environments>
  342. <environment>
  343. <os>linux</os>
  344. <ws>gtk</ws>
  345. <arch>x86</arch>
  346. </environment>
  347. </environments>
  348. </configuration>
  349. </plugin>
  350. </plugins>
  351. </build>
  352. </profile>
  353. <profile>
  354. <id>linux64</id>
  355. <activation>
  356. <activeByDefault>false</activeByDefault>
  357. <os>
  358. <family>unix</family>
  359. <name>linux</name>
  360. <arch>amd64</arch>
  361. </os>
  362. </activation>
  363. <build>
  364. <plugins>
  365. <plugin>
  366. <groupId>org.eclipse.tycho</groupId>
  367. <artifactId>target-platform-configuration</artifactId>
  368. <configuration>
  369. <environments>
  370. <environment>
  371. <os>linux</os>
  372. <ws>gtk</ws>
  373. <arch>x86</arch>
  374. </environment>
  375. <environment>
  376. <os>linux</os>
  377. <ws>gtk</ws>
  378. <arch>x86_64</arch>
  379. </environment>
  380. </environments>
  381. </configuration>
  382. </plugin>
  383. </plugins>
  384. </build>
  385. </profile>
  386. <!-- Use this profile to build Overture for all platforms, but you
  387. may need to add -P\!linux (or whichever os) to disable the
  388. autodetected profile (per above), otherwise the autodetected
  389. profile may take precedence over the command-line specified
  390. profile. -jwc/23Jan2014
  391. -->
  392. <profile>
  393. <id>all-platforms</id>
  394. <build>
  395. <plugins>
  396. <plugin>
  397. <groupId>org.eclipse.tycho</groupId>
  398. <artifactId>target-platform-configuration</artifactId>
  399. <configuration>
  400. <environments>
  401. <environment>
  402. <os>win32</os>
  403. <ws>win32</ws>
  404. <arch>x86</arch>
  405. </environment>
  406. <environment>
  407. <os>win32</os>
  408. <ws>win32</ws>
  409. <arch>x86_64</arch>
  410. </environment>
  411. <environment>
  412. <os>linux</os>
  413. <ws>gtk</ws>
  414. <arch>x86</arch>
  415. </environment>
  416. <environment>
  417. <os>linux</os>
  418. <ws>gtk</ws>
  419. <arch>x86_64</arch>
  420. </environment>
  421. <environment>
  422. <os>macosx</os>
  423. <ws>cocoa</ws>
  424. <arch>x86_64</arch>
  425. </environment>
  426. </environments>
  427. </configuration>
  428. </plugin>
  429. </plugins>
  430. </build>
  431. </profile>
  432. <profile>
  433. <id>codesigning</id>
  434. <build>
  435. <plugins>
  436. <plugin>
  437. <groupId>org.apache.maven.plugins</groupId>
  438. <artifactId>maven-jarsigner-plugin</artifactId>
  439. <configuration>
  440. <!-- 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
  441. -->
  442. <removeExistingSignatures>true</removeExistingSignatures>
  443. <storetype>${keystore.type}</storetype>
  444. <keystore>${keystore.path}</keystore>
  445. <alias>${keystore.alias}</alias>
  446. <storepass>${keystore.store.password}</storepass>
  447. <keypass>${keystore.key.password}</keypass>
  448. </configuration>
  449. <executions>
  450. <execution>
  451. <id>sign</id>
  452. <goals>
  453. <goal>sign</goal>
  454. </goals>
  455. </execution>
  456. </executions>
  457. </plugin>
  458. </plugins>
  459. </build>
  460. </profile>
  461. </profiles>
  462. </project>