|
|
@@ -12,6 +12,8 @@
|
|
|
<artifactId>org.yakindu.sct.releng.promote</artifactId>
|
|
|
<packaging>pom</packaging>
|
|
|
|
|
|
+ <!-- Search for 'target architecture' to find places where the architecture for distros is set -->
|
|
|
+
|
|
|
<properties>
|
|
|
<!-- scp settings for publishing udpdate site -->
|
|
|
<promotionTarget>indigo/integration</promotionTarget>
|
|
|
@@ -19,6 +21,15 @@
|
|
|
<updateSiteUrl>http://updates.yakindu.com/${promotionTarget}</updateSiteUrl>
|
|
|
<local.update.site>${project.build.directory}/local-update-site</local.update.site>
|
|
|
<tycho.extras.version>0.14.0</tycho.extras.version>
|
|
|
+
|
|
|
+ <eclipse.mirror.url>http://mirror.netcologne.de/eclipse</eclipse.mirror.url>
|
|
|
+ <distro.work.dir>${project.build.directory}/distro/work</distro.work.dir>
|
|
|
+ <distro.dir>${project.build.directory}/distro</distro.dir>
|
|
|
+
|
|
|
+ <profile>epp.package.modeling</profile>
|
|
|
+ <features>org.eclipse.xtext.sdk.feature.group,org.eclipse.xtend.sdk.feature.group,org.yakindu.sct.feature.group</features>
|
|
|
+ <update.sites>${p2.target.repository},${updateSiteUrl}</update.sites>
|
|
|
+
|
|
|
</properties>
|
|
|
|
|
|
<build>
|
|
|
@@ -53,7 +64,402 @@
|
|
|
</execution>
|
|
|
</executions>
|
|
|
</plugin>
|
|
|
+
|
|
|
+ <!-- for package of eclipse product creation -->
|
|
|
+ <plugin>
|
|
|
+ <groupId>org.eclipse.tycho.extras</groupId>
|
|
|
+ <artifactId>tycho-p2-extras-plugin</artifactId>
|
|
|
+ <version>${tycho-extras-version}</version>
|
|
|
+ <executions>
|
|
|
+ <execution>
|
|
|
+ <phase>package</phase>
|
|
|
+ <goals>
|
|
|
+ <goal>mirror</goal>
|
|
|
+ </goals>
|
|
|
+ </execution>
|
|
|
+ </executions>
|
|
|
+ <configuration>
|
|
|
+ <source>
|
|
|
+ <!-- source repositories to mirror from -->
|
|
|
+ <repository>
|
|
|
+ <url>${project.baseUri}/emfPatchExport</url>
|
|
|
+ <layout>p2</layout>
|
|
|
+ <!-- supported layouts are "p2-metadata", "p2-artifacts", and "p2"
|
|
|
+ (for joint repositories; default) -->
|
|
|
+ </repository>
|
|
|
+ </source>
|
|
|
+
|
|
|
+ <!-- The destination directory to mirror to. -->
|
|
|
+ <destination>${project.build.directory}/repository</destination>
|
|
|
+ <!-- Whether only strict dependencies should be followed. -->
|
|
|
+ <!-- "strict" means perfect version match -->
|
|
|
+ <followStrictOnly>false</followStrictOnly>
|
|
|
+ <!-- Whether or not to follow optional requirements. -->
|
|
|
+ <includeOptional>false</includeOptional>
|
|
|
+ <!-- Whether or not to follow non-greedy requirements. -->
|
|
|
+ <includeNonGreedy>false</includeNonGreedy>
|
|
|
+ <!-- Whether to filter the resulting set of IUs to only -->
|
|
|
+ <!-- include the latest version of each IU -->
|
|
|
+ <latestVersionOnly>false</latestVersionOnly>
|
|
|
+ <!-- don't mirror artifacts, only metadata -->
|
|
|
+ <mirrorMetadataOnly>false</mirrorMetadataOnly>
|
|
|
+ <!-- whether to compress the content.xml/artifacts.xml -->
|
|
|
+ <compress>true</compress>
|
|
|
+ <!-- whether to append to the target repository content -->
|
|
|
+ <append>true</append>
|
|
|
+ </configuration>
|
|
|
+ </plugin>
|
|
|
+ <plugin>
|
|
|
+ <artifactId>maven-antrun-plugin</artifactId>
|
|
|
+ <version>1.1</version>
|
|
|
+ <executions>
|
|
|
+ <execution>
|
|
|
+ <id>download.distro</id>
|
|
|
+ <phase>prepare-package</phase>
|
|
|
+ <configuration>
|
|
|
+ <tasks>
|
|
|
+ <taskdef resource="net/sf/antcontrib/antlib.xml"
|
|
|
+ classpathref="maven.plugin.classpath" />
|
|
|
+ <property name="download.distro.src"
|
|
|
+ value="${eclipse.mirror.url}/technology/epp/downloads/release/juno/SR1" />
|
|
|
+ <property name="download.distro.dir"
|
|
|
+ value="${project.build.directory}/distro/download" />
|
|
|
+
|
|
|
+ <!-- 'target architecture' for distros -->
|
|
|
+ <for list="macosx-cocoa-x86_64;win32-win32-x86;win32-win32-x86_64;linux-gtk-x86;linux-gtk-x86_64"
|
|
|
+ param="environment" delimiter=";" parallel="false">
|
|
|
+ <sequential>
|
|
|
+ <propertyregex property="distro.os" input="@{environment}"
|
|
|
+ override="true" regexp="([^,]*)-([^\,]*)-([^\,]*)" select="\1"
|
|
|
+ casesensitive="false" />
|
|
|
+ <propertyregex property="distro.ws" input="@{environment}"
|
|
|
+ override="true" regexp="([^,]*)-([^\,]*)-([^\,]*)" select="\2"
|
|
|
+ casesensitive="false" />
|
|
|
+ <propertyregex property="distro.arch" input="@{environment}"
|
|
|
+ override="true" regexp="([^,]*)-([^\,]*)-([^\,]*)" select="\3"
|
|
|
+ casesensitive="false" />
|
|
|
+ <echo>distro.os ${distro.os} </echo>
|
|
|
+ <echo>distro.ws ${distro.ws} </echo>
|
|
|
+ <echo>distro.arch ${distro.arch} </echo>
|
|
|
+ <!-- naming is platform specific, so we have to make a distinction
|
|
|
+ here (as we only have two platforms, we do not have to make any other distinctions
|
|
|
+ so far) -->
|
|
|
+ <if>
|
|
|
+ <and>
|
|
|
+ <equals arg1="${distro.os}" arg2="win32" />
|
|
|
+ <equals arg1="${distro.ws}" arg2="win32" />
|
|
|
+ <equals arg1="${distro.arch}" arg2="x86" />
|
|
|
+ </and>
|
|
|
+ <then>
|
|
|
+ <propertyregex property="distro.src.filename"
|
|
|
+ input="eclipse-modeling-juno-SR1-win32.zip" override="true"
|
|
|
+ regexp="(.*)" select="\1" casesensitive="false" />
|
|
|
+ </then>
|
|
|
+ </if>
|
|
|
+ <if>
|
|
|
+ <and>
|
|
|
+ <equals arg1="${distro.os}" arg2="win32" />
|
|
|
+ <equals arg1="${distro.ws}" arg2="win32" />
|
|
|
+ <equals arg1="${distro.arch}" arg2="x86_64" />
|
|
|
+ </and>
|
|
|
+ <then>
|
|
|
+ <propertyregex property="distro.src.filename"
|
|
|
+ input="eclipse-modeling-juno-SR1-win32-x86_64.zip"
|
|
|
+ override="true" regexp="(.*)" select="\1" casesensitive="false" />
|
|
|
+ </then>
|
|
|
+ </if>
|
|
|
+ <if>
|
|
|
+ <and>
|
|
|
+ <equals arg1="${distro.os}" arg2="linux" />
|
|
|
+ <equals arg1="${distro.ws}" arg2="gtk" />
|
|
|
+ <equals arg1="${distro.arch}" arg2="x86_64" />
|
|
|
+ </and>
|
|
|
+ <then>
|
|
|
+ <propertyregex property="distro.src.filename"
|
|
|
+ input="eclipse-modeling-juno-SR1-linux-gtk-x86_64.tar.gz"
|
|
|
+ override="true" regexp="(.*)" select="\1" casesensitive="false" />
|
|
|
+ </then>
|
|
|
+ </if>
|
|
|
+ <if>
|
|
|
+ <and>
|
|
|
+ <equals arg1="${distro.os}" arg2="linux" />
|
|
|
+ <equals arg1="${distro.ws}" arg2="gtk" />
|
|
|
+ <equals arg1="${distro.arch}" arg2="x86" />
|
|
|
+ </and>
|
|
|
+ <then>
|
|
|
+ <propertyregex property="distro.src.filename"
|
|
|
+ input="eclipse-modeling-juno-SR1-linux-gtk.tar.gz"
|
|
|
+ override="true" regexp="(.*)" select="\1" casesensitive="false" />
|
|
|
+ </then>
|
|
|
+ </if>
|
|
|
+ <if>
|
|
|
+ <and>
|
|
|
+ <equals arg1="${distro.os}" arg2="macosx" />
|
|
|
+ <equals arg1="${distro.ws}" arg2="cocoa" />
|
|
|
+ <equals arg1="${distro.arch}" arg2="x86_64" />
|
|
|
+ </and>
|
|
|
+ <then>
|
|
|
+ <propertyregex property="distro.src.filename"
|
|
|
+ input="eclipse-modeling-juno-SR1-macosx-cocoa-x86_64.tar.gz"
|
|
|
+ override="true" regexp="(.*)" select="\1" casesensitive="false" />
|
|
|
+ </then>
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <if>
|
|
|
+ <not>
|
|
|
+ <available file="${download.distro.dir}" type="dir" />
|
|
|
+ </not>
|
|
|
+ <then>
|
|
|
+ <echo>mkdir ${download.distro.dir}</echo>
|
|
|
+ <mkdir dir="${download.distro.dir}" />
|
|
|
+ </then>
|
|
|
+ </if>
|
|
|
+ <if>
|
|
|
+ <not>
|
|
|
+ <available file="${download.distro.dir}/${distro.src.filename}" />
|
|
|
+ </not>
|
|
|
+ <then>
|
|
|
+ <trycatch>
|
|
|
+ <try>
|
|
|
+ <get src="${download.distro.src}/${distro.src.filename}"
|
|
|
+ dest="${download.distro.dir}/${distro.src.filename}" />
|
|
|
+ </try>
|
|
|
+ <catch>
|
|
|
+ <echo>delete ${download.distro.dir}</echo>
|
|
|
+ <delete file="${download.distro.dir}/${distro.src.filename}" />
|
|
|
+ </catch>
|
|
|
+ </trycatch>
|
|
|
+ </then>
|
|
|
+ </if>
|
|
|
+ <if>
|
|
|
+ <available file="${distro.work.dir}/@{environment}"
|
|
|
+ type="dir" />
|
|
|
+ <then>
|
|
|
+ <delete dir="${distro.work.dir}/@{environment}" />
|
|
|
+ </then>
|
|
|
+ </if>
|
|
|
+ <mkdir dir="${distro.work.dir}/@{environment}" />
|
|
|
+ <if>
|
|
|
+ <or>
|
|
|
+ <equals arg1="${distro.os}" arg2="win32" />
|
|
|
+ </or>
|
|
|
+ <then>
|
|
|
+ <unzip src="${download.distro.dir}/${distro.src.filename}"
|
|
|
+ dest="${distro.work.dir}/@{environment}/" />
|
|
|
+ </then>
|
|
|
+ <else>
|
|
|
+ <exec dir="${distro.work.dir}/@{environment}"
|
|
|
+ executable="tar">
|
|
|
+ <arg line="-xzf ${download.distro.dir}/${distro.src.filename}" />
|
|
|
+ </exec>
|
|
|
+ </else>
|
|
|
+ </if>
|
|
|
+ </sequential>
|
|
|
+ </for>
|
|
|
+ </tasks>
|
|
|
+ </configuration>
|
|
|
+ <goals>
|
|
|
+ <goal>run</goal>
|
|
|
+ </goals>
|
|
|
+ </execution>
|
|
|
+ <execution>
|
|
|
+ <id>repackage.distro</id>
|
|
|
+ <phase>verify</phase>
|
|
|
+ <goals>
|
|
|
+ <goal>run</goal>
|
|
|
+ </goals>
|
|
|
+ <configuration>
|
|
|
+ <tasks>
|
|
|
+ <taskdef resource="net/sf/antcontrib/antlib.xml"
|
|
|
+ classpathref="maven.plugin.classpath" />
|
|
|
+ <!-- 'target architecture' for distros -->
|
|
|
+ <for list="macosx-cocoa-x86_64;win32-win32-x86;win32-win32-x86_64;linux-gtk-x86;linux-gtk-x86_64"
|
|
|
+ param="environment" delimiter=";" parallel="false">
|
|
|
+ <sequential>
|
|
|
+ <propertyregex property="distro.os" input="@{environment}"
|
|
|
+ override="true" regexp="([^,]*)-([^\,]*)-([^\,]*)" select="\1"
|
|
|
+ casesensitive="false" />
|
|
|
+ <propertyregex property="distro.ws" input="@{environment}"
|
|
|
+ override="true" regexp="([^,]*)-([^\,]*)-([^\,]*)" select="\2"
|
|
|
+ casesensitive="false" />
|
|
|
+ <propertyregex property="distro.arch" input="@{environment}"
|
|
|
+ override="true" regexp="([^,]*)-([^\,]*)-([^\,]*)" select="\3"
|
|
|
+ casesensitive="false" />
|
|
|
+ <echo>mkdir ${distro.dir} for
|
|
|
+ yakindu-sct-juno-SR1-${distro.os}-${distro.ws}-${distro.arch}.zip</echo>
|
|
|
+ <mkdir dir="${distro.dir}" />
|
|
|
+
|
|
|
+ <if>
|
|
|
+ <or>
|
|
|
+ <equals arg1="${distro.os}" arg2="win32" />
|
|
|
+ </or>
|
|
|
+ <then>
|
|
|
+ <exec dir="${distro.work.dir}/@{environment}"
|
|
|
+ executable="zip">
|
|
|
+ <arg
|
|
|
+ line="-q -r ${distro.dir}/yakindu-sct-juno-SR1-${distro.os}-${distro.ws}-${distro.arch}.zip eclipse" />
|
|
|
+ </exec>
|
|
|
+ </then>
|
|
|
+ <else>
|
|
|
+ <exec dir="${distro.work.dir}/@{environment}"
|
|
|
+ executable="tar">
|
|
|
+ <arg
|
|
|
+ line="-czf ${distro.dir}/yakindu-sct-juno-SR1-${distro.os}-${distro.ws}-${distro.arch}.tar.gz eclipse" />
|
|
|
+ </exec>
|
|
|
+ </else>
|
|
|
+ </if>
|
|
|
+ </sequential>
|
|
|
+ </for>
|
|
|
+ </tasks>
|
|
|
+ </configuration>
|
|
|
+ </execution>
|
|
|
+ </executions>
|
|
|
+ <dependencies>
|
|
|
+ <dependency>
|
|
|
+ <groupId>ant-contrib</groupId>
|
|
|
+ <artifactId>ant-contrib</artifactId>
|
|
|
+ <version>1.0b3</version>
|
|
|
+ <exclusions>
|
|
|
+ <exclusion>
|
|
|
+ <groupId>ant</groupId>
|
|
|
+ <artifactId>ant</artifactId>
|
|
|
+ </exclusion>
|
|
|
+ </exclusions>
|
|
|
+ </dependency>
|
|
|
+ <dependency>
|
|
|
+ <groupId>ant</groupId>
|
|
|
+ <artifactId>ant-nodeps</artifactId>
|
|
|
+ <version>1.6.5</version>
|
|
|
+ </dependency>
|
|
|
+ </dependencies>
|
|
|
+ </plugin>
|
|
|
+ <plugin>
|
|
|
+ <groupId>org.eclipse.tycho.extras</groupId>
|
|
|
+ <artifactId>tycho-eclipserun-plugin</artifactId>
|
|
|
+ <version>${tycho-extras-version}</version>
|
|
|
+ <executions>
|
|
|
+ <!-- Add execution per 'target architecture' -->
|
|
|
+ <execution>
|
|
|
+ <id>install-features-into-distro-macosx-cocoa-x86_64</id>
|
|
|
+ <phase>package</phase>
|
|
|
+ <goals>
|
|
|
+ <goal>eclipse-run</goal>
|
|
|
+ </goals>
|
|
|
+ <configuration>
|
|
|
+ <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}
|
|
|
+ </appArgLine>
|
|
|
+ </configuration>
|
|
|
+ </execution>
|
|
|
+ <execution>
|
|
|
+ <id>install-features-into-distro-win32-win-32-x86</id>
|
|
|
+ <phase>package</phase>
|
|
|
+ <goals>
|
|
|
+ <goal>eclipse-run</goal>
|
|
|
+ </goals>
|
|
|
+ <configuration>
|
|
|
+ <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}
|
|
|
+ </appArgLine>
|
|
|
+ </configuration>
|
|
|
+ </execution>
|
|
|
+ <execution>
|
|
|
+ <id>install-features-into-distro-win32-win-32-x86_64</id>
|
|
|
+ <phase>package</phase>
|
|
|
+ <goals>
|
|
|
+ <goal>eclipse-run</goal>
|
|
|
+ </goals>
|
|
|
+ <configuration>
|
|
|
+ <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}
|
|
|
+ </appArgLine>
|
|
|
+ </configuration>
|
|
|
+ </execution>
|
|
|
+ <execution>
|
|
|
+ <id>install-features-into-distro-linux-gtk-x86</id>
|
|
|
+ <phase>package</phase>
|
|
|
+ <goals>
|
|
|
+ <goal>eclipse-run</goal>
|
|
|
+ </goals>
|
|
|
+ <configuration>
|
|
|
+ <appArgLine>-consoleLog -clean -nosplash -debug -consoleLog
|
|
|
+ -application org.eclipse.equinox.p2.director -destination
|
|
|
+ ${distro.work.dir}/linux-gtk-x86/eclipse/ -profile
|
|
|
+ ${profile} -p2.os linux -p2.ws gtk -p2.arch x86
|
|
|
+ -repository ${update.sites} -installIUs ${features}
|
|
|
+ </appArgLine>
|
|
|
+ </configuration>
|
|
|
+ </execution>
|
|
|
+ <execution>
|
|
|
+ <id>install-features-into-distro-linux-gtk-x86_64</id>
|
|
|
+ <phase>package</phase>
|
|
|
+ <goals>
|
|
|
+ <goal>eclipse-run</goal>
|
|
|
+ </goals>
|
|
|
+ <configuration>
|
|
|
+ <appArgLine>-consoleLog -clean -nosplash -debug -consoleLog
|
|
|
+ -application org.eclipse.equinox.p2.director -destination
|
|
|
+ ${distro.work.dir}/linux-gtk-x86_64/eclipse/ -profile
|
|
|
+ ${profile} -p2.os linux -p2.ws gtk -p2.arch x86_64
|
|
|
+ -repository ${update.sites} -installIUs ${features}
|
|
|
+ </appArgLine>
|
|
|
+ </configuration>
|
|
|
+ </execution>
|
|
|
+ </executions>
|
|
|
+ </plugin>
|
|
|
</plugins>
|
|
|
+ <pluginManagement>
|
|
|
+ <plugins>
|
|
|
+ <plugin>
|
|
|
+ <groupId>org.eclipse.tycho.extras</groupId>
|
|
|
+ <artifactId>tycho-eclipserun-plugin</artifactId>
|
|
|
+ <version>${tycho-extras-version}</version>
|
|
|
+ <configuration>
|
|
|
+ <argLine>-Declipse.p2.mirrors=false</argLine>
|
|
|
+ <dependencies>
|
|
|
+ <dependency>
|
|
|
+ <artifactId>org.eclipse.equinox.p2.transport.ecf</artifactId>
|
|
|
+ <type>eclipse-plugin</type>
|
|
|
+ </dependency>
|
|
|
+ <dependency>
|
|
|
+ <artifactId>org.eclipse.equinox.p2.repository</artifactId>
|
|
|
+ <type>eclipse-plugin</type>
|
|
|
+ </dependency>
|
|
|
+ <dependency>
|
|
|
+ <artifactId>org.eclipse.equinox.p2.touchpoint.natives</artifactId>
|
|
|
+ <type>eclipse-plugin</type>
|
|
|
+ </dependency>
|
|
|
+ <dependency>
|
|
|
+ <artifactId>org.eclipse.equinox.p2.touchpoint.eclipse</artifactId>
|
|
|
+ <type>eclipse-plugin</type>
|
|
|
+ </dependency>
|
|
|
+ <dependency>
|
|
|
+ <artifactId>org.eclipse.equinox.p2.artifact.repository
|
|
|
+ </artifactId>
|
|
|
+ <type>eclipse-plugin</type>
|
|
|
+ </dependency>
|
|
|
+ <dependency>
|
|
|
+ <artifactId>org.eclipse.equinox.p2.director.app</artifactId>
|
|
|
+ <type>eclipse-plugin</type>
|
|
|
+ </dependency>
|
|
|
+ <dependency>
|
|
|
+ <artifactId>org.eclipse.equinox.ds</artifactId>
|
|
|
+ <type>eclipse-plugin</type>
|
|
|
+ </dependency>
|
|
|
+ </dependencies>
|
|
|
+ </configuration>
|
|
|
+ </plugin>
|
|
|
+ </plugins>
|
|
|
+ </pluginManagement>
|
|
|
</build>
|
|
|
|
|
|
<profiles>
|
|
|
@@ -98,7 +504,6 @@
|
|
|
<append>false</append>
|
|
|
</configuration>
|
|
|
</execution>
|
|
|
-
|
|
|
</executions>
|
|
|
</plugin>
|
|
|
</plugins>
|