pom.xml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
  4. xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5. <modelVersion>4.0.0</modelVersion>
  6. <parent>
  7. <groupId>org.yakindu.sct</groupId>
  8. <artifactId>org.yakindu.sct.releng</artifactId>
  9. <version>2.1.0-SNAPSHOT</version>
  10. <relativePath>../org.yakindu.sct.releng/pom.xml</relativePath>
  11. </parent>
  12. <artifactId>org.yakindu.sct.repository</artifactId>
  13. <packaging>eclipse-repository</packaging>
  14. <properties>
  15. <eclipse.mirror.url>http://mirror.netcologne.de/eclipse</eclipse.mirror.url>
  16. <distro.work.dir>${project.build.directory}/distro/work</distro.work.dir>
  17. <distro.dir>${project.build.directory}/distro</distro.dir>
  18. <profile>epp.package.java</profile>
  19. <features>org.eclipse.xtext.sdk.feature.group,org.eclipse.xtend.sdk.feature.group,org.yakindu.sct.feature.group</features>
  20. <!-- TODO ,org.eclipse.gmf.runtime.emf.clipboard.core.patch.feature.group -->
  21. <update.sites>${project.baseUri}/target/repository,${p2.target.repository},${p2.base.repository}</update.sites>
  22. </properties>
  23. <build>
  24. <plugins>
  25. <plugin>
  26. <groupId>org.eclipse.tycho.extras</groupId>
  27. <artifactId>tycho-p2-extras-plugin</artifactId>
  28. <version>${tycho-extras-version}</version>
  29. <executions>
  30. <execution>
  31. <phase>package</phase>
  32. <goals>
  33. <goal>mirror</goal>
  34. </goals>
  35. </execution>
  36. </executions>
  37. <configuration>
  38. <source>
  39. <!-- source repositories to mirror from -->
  40. <repository>
  41. <url>${project.baseUri}/emfPatchExport</url>
  42. <layout>p2</layout>
  43. <!-- supported layouts are "p2-metadata", "p2-artifacts", and "p2" (for joint repositories; default) -->
  44. </repository>
  45. </source>
  46. <!-- The destination directory to mirror to. -->
  47. <destination>${project.build.directory}/repository</destination>
  48. <!-- Whether only strict dependencies should be followed. -->
  49. <!-- "strict" means perfect version match -->
  50. <followStrictOnly>false</followStrictOnly>
  51. <!-- Whether or not to follow optional requirements. -->
  52. <includeOptional>false</includeOptional>
  53. <!-- Whether or not to follow non-greedy requirements. -->
  54. <includeNonGreedy>false</includeNonGreedy>
  55. <!-- Whether to filter the resulting set of IUs to only -->
  56. <!-- include the latest version of each IU -->
  57. <latestVersionOnly>false</latestVersionOnly>
  58. <!-- don't mirror artifacts, only metadata -->
  59. <mirrorMetadataOnly>false</mirrorMetadataOnly>
  60. <!-- whether to compress the content.xml/artifacts.xml -->
  61. <compress>true</compress>
  62. <!-- whether to append to the target repository content -->
  63. <append>true</append>
  64. </configuration>
  65. </plugin>
  66. <plugin>
  67. <artifactId>maven-antrun-plugin</artifactId>
  68. <version>1.1</version>
  69. <executions>
  70. <execution>
  71. <id>download.distro</id>
  72. <phase>prepare-package</phase>
  73. <configuration>
  74. <tasks>
  75. <taskdef resource="net/sf/antcontrib/antlib.xml"
  76. classpathref="maven.plugin.classpath" />
  77. <property name="download.distro.src"
  78. value="${eclipse.mirror.url}/technology/epp/downloads/release/juno/SR2" />
  79. <property name="download.distro.dir"
  80. value="${project.build.directory}/../distro/download" />
  81. <for list="win32-win32-x86;win32-win32-x86_64;macosx-cocoa-x86_64"
  82. param="environment"
  83. delimiter=";"
  84. parallel="false">
  85. <sequential>
  86. <propertyregex property="distro.os"
  87. input="@{environment}"
  88. override="true"
  89. regexp="([^,]*)-([^\,]*)-([^\,]*)"
  90. select="\1"
  91. casesensitive="false" />
  92. <propertyregex property="distro.ws"
  93. input="@{environment}"
  94. override="true"
  95. regexp="([^,]*)-([^\,]*)-([^\,]*)"
  96. select="\2"
  97. casesensitive="false" />
  98. <propertyregex property="distro.arch"
  99. input="@{environment}"
  100. override="true"
  101. regexp="([^,]*)-([^\,]*)-([^\,]*)"
  102. select="\3"
  103. casesensitive="false" />
  104. <echo>distro.os ${distro.os} </echo>
  105. <echo>distro.ws ${distro.ws} </echo>
  106. <echo>distro.arch ${distro.arch} </echo>
  107. <!-- naming is platform specific, so we have to make a distinction
  108. here (as we only have two platforms, we do not have to make any other distinctions
  109. so far) -->
  110. <if>
  111. <and>
  112. <equals arg1="${distro.os}" arg2="win32" />
  113. <equals arg1="${distro.ws}" arg2="win32" />
  114. <equals arg1="${distro.arch}" arg2="x86" />
  115. </and>
  116. <then>
  117. <propertyregex property="distro.src.filename"
  118. input="eclipse-java-juno-SR2-win32.zip"
  119. override="true"
  120. regexp="(.*)"
  121. select="\1"
  122. casesensitive="false" />
  123. </then>
  124. </if>
  125. <if>
  126. <and>
  127. <equals arg1="${distro.os}" arg2="win32" />
  128. <equals arg1="${distro.ws}" arg2="win32" />
  129. <equals arg1="${distro.arch}" arg2="x86_64" />
  130. </and>
  131. <then>
  132. <propertyregex property="distro.src.filename"
  133. input="eclipse-java-juno-SR2-win32-x86_64.zip"
  134. override="true"
  135. regexp="(.*)"
  136. select="\1"
  137. casesensitive="false" />
  138. </then>
  139. </if>
  140. <if>
  141. <and>
  142. <equals arg1="${distro.os}" arg2="linux" />
  143. <equals arg1="${distro.ws}" arg2="gtk" />
  144. <equals arg1="${distro.arch}" arg2="x86_64" />
  145. </and>
  146. <then>
  147. <propertyregex property="distro.src.filename"
  148. input="eclipse-java-juno-SR2-linux-gtk-x86_64.tar.gz"
  149. override="true"
  150. regexp="(.*)"
  151. select="\1"
  152. casesensitive="false" />
  153. </then>
  154. </if>
  155. <if>
  156. <and>
  157. <equals arg1="${distro.os}" arg2="linux" />
  158. <equals arg1="${distro.ws}" arg2="gtk" />
  159. <equals arg1="${distro.arch}" arg2="x86" />
  160. </and>
  161. <then>
  162. <propertyregex property="distro.src.filename"
  163. input="eclipse-java-juno-SR2-linux-gtk.tar.gz"
  164. override="true"
  165. regexp="(.*)"
  166. select="\1"
  167. casesensitive="false" />
  168. </then>
  169. </if>
  170. <if>
  171. <and>
  172. <equals arg1="${distro.os}" arg2="macosx" />
  173. <equals arg1="${distro.ws}" arg2="cocoa" />
  174. <equals arg1="${distro.arch}" arg2="x86_64" />
  175. </and>
  176. <then>
  177. <propertyregex property="distro.src.filename"
  178. input="eclipse-java-juno-SR2-macosx-cocoa-x86_64.tar.gz"
  179. override="true"
  180. regexp="(.*)"
  181. select="\1"
  182. casesensitive="false" />
  183. </then>
  184. </if>
  185. <if>
  186. <not>
  187. <available file="${download.distro.dir}"
  188. type="dir" />
  189. </not>
  190. <then>
  191. <echo>mkdir ${download.distro.dir}</echo>
  192. <mkdir dir="${download.distro.dir}" />
  193. </then>
  194. </if>
  195. <if>
  196. <not>
  197. <available file="${download.distro.dir}/${distro.src.filename}" />
  198. </not>
  199. <then>
  200. <trycatch>
  201. <try>
  202. <get src="${download.distro.src}/${distro.src.filename}"
  203. dest="${download.distro.dir}/${distro.src.filename}" />
  204. </try>
  205. <catch>
  206. <echo>delete ${download.distro.dir}</echo>
  207. <delete file="${download.distro.dir}/${distro.src.filename}" />
  208. </catch>
  209. </trycatch>
  210. </then>
  211. </if>
  212. <if>
  213. <available file="${distro.work.dir}/@{environment}" type="dir" />
  214. <then>
  215. <delete dir="${distro.work.dir}/@{environment}" />
  216. </then>
  217. </if>
  218. <mkdir dir="${distro.work.dir}/@{environment}"/>
  219. <if>
  220. <or>
  221. <equals arg1="${distro.os}" arg2="win32" />
  222. </or>
  223. <then>
  224. <unzip src="${download.distro.dir}/${distro.src.filename}"
  225. dest="${distro.work.dir}/@{environment}/" />
  226. </then>
  227. <else>
  228. <exec dir="${distro.work.dir}/@{environment}" executable="tar">
  229. <arg line="-xzf ${download.distro.dir}/${distro.src.filename}" />
  230. </exec>
  231. </else>
  232. </if>
  233. </sequential>
  234. </for>
  235. </tasks>
  236. </configuration>
  237. <goals>
  238. <goal>run</goal>
  239. </goals>
  240. </execution>
  241. <execution>
  242. <id>repackage.distro</id>
  243. <phase>verify</phase>
  244. <goals>
  245. <goal>run</goal>
  246. </goals>
  247. <configuration>
  248. <tasks>
  249. <taskdef resource="net/sf/antcontrib/antlib.xml"
  250. classpathref="maven.plugin.classpath" />
  251. <for list="win32-win32-x86;win32-win32-x86_64;macosx-cocoa-x86_64"
  252. param="environment"
  253. delimiter=";"
  254. parallel="false">
  255. <sequential>
  256. <propertyregex property="distro.os"
  257. input="@{environment}"
  258. override="true"
  259. regexp="([^,]*)-([^\,]*)-([^\,]*)"
  260. select="\1"
  261. casesensitive="false" />
  262. <propertyregex property="distro.ws"
  263. input="@{environment}"
  264. override="true"
  265. regexp="([^,]*)-([^\,]*)-([^\,]*)"
  266. select="\2"
  267. casesensitive="false" />
  268. <propertyregex property="distro.arch"
  269. input="@{environment}"
  270. override="true"
  271. regexp="([^,]*)-([^\,]*)-([^\,]*)"
  272. select="\3"
  273. casesensitive="false" />
  274. <echo>mkdir ${distro.dir} for yakindu-sct-juno-SR1-${distro.os}-${distro.ws}-${distro.arch}.zip</echo>
  275. <mkdir dir="${distro.dir}" />
  276. <if>
  277. <or>
  278. <equals arg1="${distro.os}" arg2="win32" />
  279. </or>
  280. <then>
  281. <exec dir="${distro.work.dir}/@{environment}" executable="zip">
  282. <arg line="-q -r ${distro.dir}/yakindu-sct-juno-SR1-${distro.os}-${distro.ws}-${distro.arch}.zip eclipse" />
  283. </exec>
  284. </then>
  285. <else>
  286. <exec dir="${distro.work.dir}/@{environment}" executable="tar">
  287. <arg line="-czf ${distro.dir}/yakindu-sct-juno-SR1-${distro.os}-${distro.ws}-${distro.arch}.tar.gz eclipse" />
  288. </exec>
  289. </else>
  290. </if>
  291. </sequential>
  292. </for>
  293. </tasks>
  294. </configuration>
  295. </execution>
  296. </executions>
  297. <dependencies>
  298. <dependency>
  299. <groupId>ant-contrib</groupId>
  300. <artifactId>ant-contrib</artifactId>
  301. <version>1.0b3</version>
  302. <exclusions>
  303. <exclusion>
  304. <groupId>ant</groupId>
  305. <artifactId>ant</artifactId>
  306. </exclusion>
  307. </exclusions>
  308. </dependency>
  309. <dependency>
  310. <groupId>ant</groupId>
  311. <artifactId>ant-nodeps</artifactId>
  312. <version>1.6.5</version>
  313. </dependency>
  314. </dependencies>
  315. </plugin>
  316. <plugin>
  317. <groupId>org.eclipse.tycho.extras</groupId>
  318. <artifactId>tycho-eclipserun-plugin</artifactId>
  319. <version>${tycho-extras-version}</version>
  320. <executions>
  321. <execution>
  322. <id>install-features-into-distro-win32-win-32-x86</id>
  323. <phase>package</phase>
  324. <goals>
  325. <goal>eclipse-run</goal>
  326. </goals>
  327. <configuration>
  328. <appArgLine>-consoleLog -clean -nosplash -debug -consoleLog -application org.eclipse.equinox.p2.director -destination ${distro.work.dir}/win32-win32-x86/eclipse/ -profile ${profile} -p2.os win32 -p2.ws win32 -p2.arch x86 -repository ${update.sites} -installIUs ${features}
  329. </appArgLine>
  330. </configuration>
  331. </execution>
  332. <execution>
  333. <id>install-features-into-distro-win32-win-32-x86_64</id>
  334. <phase>package</phase>
  335. <goals>
  336. <goal>eclipse-run</goal>
  337. </goals>
  338. <configuration>
  339. <appArgLine>-consoleLog -clean -nosplash -debug -consoleLog -application org.eclipse.equinox.p2.director -destination ${distro.work.dir}/win32-win32-x86_64/eclipse/ -profile ${profile} -p2.os win32 -p2.ws win32 -p2.arch x86_64 -repository ${update.sites} -installIUs ${features}
  340. </appArgLine>
  341. </configuration>
  342. </execution>
  343. <execution>
  344. <id>install-features-into-distro-macosx-cocoa-x86_64</id>
  345. <phase>package</phase>
  346. <goals>
  347. <goal>eclipse-run</goal>
  348. </goals>
  349. <configuration>
  350. <appArgLine>-consoleLog -clean -nosplash -debug -consoleLog -application org.eclipse.equinox.p2.director -destination ${distro.work.dir}/macosx-cocoa-x86_64/eclipse/ -profile ${profile} -p2.os macosx -p2.ws cocoa -p2.arch x86_64 -repository ${update.sites} -installIUs ${features}
  351. </appArgLine>
  352. </configuration>
  353. </execution>
  354. </executions>
  355. </plugin>
  356. </plugins>
  357. <pluginManagement>
  358. <plugins>
  359. <plugin>
  360. <groupId>org.eclipse.tycho.extras</groupId>
  361. <artifactId>tycho-eclipserun-plugin</artifactId>
  362. <version>${tycho-extras-version}</version>
  363. <configuration>
  364. <argLine>-Declipse.p2.mirrors=false</argLine>
  365. <dependencies>
  366. <dependency>
  367. <artifactId>org.eclipse.equinox.p2.transport.ecf</artifactId>
  368. <type>eclipse-plugin</type>
  369. </dependency>
  370. <dependency>
  371. <artifactId>org.eclipse.core.net</artifactId>
  372. <type>eclipse-plugin</type>
  373. </dependency>
  374. <dependency>
  375. <artifactId>org.eclipse.equinox.p2.repository</artifactId>
  376. <type>eclipse-plugin</type>
  377. </dependency>
  378. <dependency>
  379. <artifactId>org.eclipse.equinox.p2.touchpoint.natives</artifactId>
  380. <type>eclipse-plugin</type>
  381. </dependency>
  382. <dependency>
  383. <artifactId>org.eclipse.equinox.p2.touchpoint.eclipse</artifactId>
  384. <type>eclipse-plugin</type>
  385. </dependency>
  386. <dependency>
  387. <artifactId>org.eclipse.equinox.p2.artifact.repository
  388. </artifactId>
  389. <type>eclipse-plugin</type>
  390. </dependency>
  391. <dependency>
  392. <artifactId>org.eclipse.equinox.p2.director.app</artifactId>
  393. <type>eclipse-plugin</type>
  394. </dependency>
  395. <dependency>
  396. <artifactId>org.eclipse.equinox.ds</artifactId>
  397. <type>eclipse-plugin</type>
  398. </dependency>
  399. </dependencies>
  400. </configuration>
  401. </plugin>
  402. </plugins>
  403. </pluginManagement>
  404. </build>
  405. </project>