123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471 |
- <?xml version="1.0" encoding="UTF-8"?>
- <project
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
- xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.yakindu.sct</groupId>
- <artifactId>org.yakindu.sct.releng</artifactId>
- <version>2.1.0-SNAPSHOT</version>
- <relativePath>../org.yakindu.sct.releng/pom.xml</relativePath>
- </parent>
- <artifactId>org.yakindu.sct.releng.promote</artifactId>
- <packaging>eclipse-repository</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>
- <promotionSource>http://builds.itemis.de/urlToCIJob/lastSuccessfulBuild</promotionSource>
- <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.dir>${project.build.directory}/distro</distro.dir>
- <distro.work.dir>${distro.dir}/work</distro.work.dir>
- <profile>epp.package.modeling</profile>
- <features>org.eclipse.xtext.sdk.feature.group,org.eclipse.xtend.sdk.feature.group,org.yakindu.sct.sdk.feature.group,org.eclipse.gmf.runtime.emf.clipboard.core.patch.feature.group</features>
- <update.sites>${p2.target.repository},file:${local.update.site},${updateSiteUrl}</update.sites>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-p2-extras-plugin</artifactId>
- <version>${tycho.extras.version}</version>
- <inherited>false</inherited>
- <executions>
- <execution>
- <id>appendYakinduBase</id>
- <phase>package</phase>
- <goals>
- <goal>mirror</goal>
- </goals>
- <configuration>
- <source>
- <!-- source repositori(es) to mirror from -->
- <repository>
- <url>${promotionSource}artifact/update-site/</url>
- <layout>p2</layout>
- <!-- sypported layouts are "p2-metadata", "p2-artifacts", and "p2"
- (for joint repositories) -->
- </repository>
- </source>
- <destination>${local.update.site}</destination>
- <compress>true</compress>
- <append>true</append>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- for package of eclipse product creation -->
- <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 \
- -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 \
- -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 \
- -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 \
- -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 \
- -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>
- <profile>
- <!-- This profile is activated by default, if the remote repository should
- be extended. -->
- <!-- Deactivate if no remote repository should be copied to append artifacts -->
- <id>CopySource</id>
- <activation>
- <property>
- <name>appendToExistingRepository</name>
- <value>!false</value>
- </property>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-p2-extras-plugin</artifactId>
- <version>${tycho.extras.version}</version>
- <inherited>false</inherited>
- <executions>
- <execution>
- <id>copyRemoteSite</id>
- <phase>prepare-package</phase>
- <goals>
- <goal>mirror</goal>
- </goals>
- <configuration>
- <source>
- <!-- source repositori(es) to mirror from -->
- <repository>
- <url>${updateSiteUrl}</url>
- <layout>p2</layout>
- <!-- sypported layouts are "p2-metadata", "p2-artifacts", and
- "p2" (for joint repositories) -->
- </repository>
- </source>
- <destination>${local.update.site}</destination>
- <compress>true</compress>
- <append>false</append>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
- </project>
|