Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Updates pom.xml and new ecosystem build #17

Merged
merged 1 commit into from

2 participants

@skyluc

Makes pom.xml use the plugin-profile pom provided by scala IDE.
New ecosystem build which is taking scala IDE ecosystem paths as
parameter to define what to build.

@skyluc skyluc Updates pom.xml and new ecosystem build
Makes pom.xml use the plugin-profile pom provided by scala IDE.
New ecosystem build which is taking scala IDE ecosystem paths as
parameter to define what to build.
283bf1e
@kaptoxic kaptoxic merged commit 3a8068f into kaptoxic:master
@kaptoxic
Owner

Thank you, works like a charm! I would have serious troubles without this :)
I added the uploading the site files to the server...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Oct 11, 2013
  1. @skyluc

    Updates pom.xml and new ecosystem build

    skyluc authored
    Makes pom.xml use the plugin-profile pom provided by scala IDE.
    New ecosystem build which is taking scala IDE ecosystem paths as
    parameter to define what to build.
This page is out of date. Refresh to see the latest.
Showing with 82 additions and 459 deletions.
  1. +73 −45 ch.epfl.insynth.build/ecosystem-build.sh
  2. +9 −414 ch.epfl.insynth.build/pom.xml
View
118 ch.epfl.insynth.build/ecosystem-build.sh
@@ -1,65 +1,93 @@
#!/bin/bash -e
-# url names for each flavor defined below
-URL_NAMES=(
-"dev-indigo-2_9"
-"dev-indigo-2_10"
-"dev-juno-2_9"
-"dev-juno-2_10"
-"stable-indigo-2_9"
-"stable-indigo-2_10"
-"stable-juno-2_9"
-"stable-juno-2_10"
-)
-
-# combinations of flavors to build
-FLAVORS=(
-"-Pindigo -Pdev-scala-ide-indigo-scala-2.9 -P2.9.x"
-"-Pindigo -Pdev-scala-ide-indigo-scala-2.10 -P2.10.x"
-"-Pjuno -Pdev-scala-ide-juno-scala-2.9 -P2.9.x"
-"-Pjuno -Pdev-scala-ide-juno-scala-2.10 -P2.10.x"
-"-Pindigo -Pstable-scala-ide-indigo-scala-2.9 -P2.9.x"
-"-Pindigo -Pstable-scala-ide-indigo-scala-2.10 -P2.10.x"
-"-Pjuno -Pstable-scala-ide-juno-scala-2.9 -P2.9.x"
-"-Pjuno -Pstable-scala-ide-juno-scala-2.10 -P2.10.x"
-)
+if [ -n "${DEBUG}" ]
+then
+ set -x
+fi
+
+# takes has parameters eclipse update site URLs, like:
+# http://download.scala-ide.org/sdk/e37/scala29/stable/site/
+# http://download.scala-ide.org/sdk/next/e38/scala210/dev/site/
+#
+# It extract the profile information from the URL, build the plugins,
+# and merge the update sites.
# root dir (containing this script)
-#ROOT_DIR=$(dirname $0)
+ROOT_DIR=$(dirname $0)
+cd ${ROOT_DIR}
ROOT_DIR=${PWD}
-TARGET_DIR=/localhome/kuraj/temp/insynth-maven-build
+TARGET_DIR=${ROOT_DIR}/ecosystem
mkdir -p ${TARGET_DIR}
-for ((i=0; i < ${#FLAVORS[@]}; i++))
+############################
+## Installing merge tool
+############################
+MERGE_TOOL_REPO_DIR=${TARGET_DIR}/merge-tool
+MERGE_TOOL_DIR=${MERGE_TOOL_REPO_DIR}/maven-tool/merge-site
+if [ ! -d "${MERGE_TOOL_REPO_DIR}" ]
+then
+ git clone -o origin git://github.com/scala-ide/build-tools "${MERGE_TOOL_REPO_DIR}"
+fi
+
+cd "${MERGE_TOOL_REPO_DIR}"
+git fetch origin
+git checkout master
+git reset --hard
+git merge --ff-only origin/master
+
+
+############################
+## Real script
+############################
+
+COMBINED_SITE_DIR=${TARGET_DIR}/site
+mkdir -p ${COMBINED_SITE_DIR}
+
+for ECOSYSTEM_SITE in "$@"
do
-FLAVOR=${FLAVORS[$i]}
+ cd ${ROOT_DIR}
-COMB=${URL_NAMES[$i]}
-echo "Building InSynth with $FLAVOR into ${TARGET_DIR}/${COMB}"
+ echo ${ECOSYSTEM_SITE}
+ ECLIPSE_VERSION=${ECOSYSTEM_SITE#*/sdk*/e}
+ ECLIPSE_VERSION=${ECLIPSE_VERSION%%/*}
-mvn -Pset-versions $FLAVOR -Dtycho.style=maven --non-recursive exec:java
+ SCALA_VERSION=${ECOSYSTEM_SITE#*/sdk*/e*/scala}
+ SCALA_VERSION=${SCALA_VERSION%%/*}
-mvn -Pset-versions $FLAVOR -Dversion.tag=v clean package
+ case ${ECLIPSE_VERSION} in
+ 37 )
+ ECLIPSE_PROFILE="-Peclipse-indigo"
+ ;;
+ 38 )
+ ECLIPSE_PROFILE="-Peclipse-juno"
+ ;;
+ esac
-RETVAL=$?
-[ $RETVAL -ne 0 ] && echo "Maven build for $FLAVOR failed! Press enter to continue..." && read line
+ case ${SCALA_VERSION} in
+ 29 )
+ SCALA_PROFILE="-Pscala-2.9.x"
+ ;;
+ 210 )
+ SCALA_PROFILE="-Pscala-2.10.x"
+ ;;
+ 211 )
+ SCALA_PROFILE="-Pscala-2.11.x"
+ ;;
+ esac
-rm -rf ${TARGET_DIR}/$COMB
+ echo "Building InSynth with '${ECLIPSE_PROFILE} ${SCALA_PROFILE}'"
-cp -r ${ROOT_DIR}/ch.epfl.insynth.update-site/target/site/ ${TARGET_DIR}/$COMB
+ mvn -Pset-versions "${ECLIPSE_PROFILE}" "${SCALA_PROFILE}" -Drepo.scala-ide=${ECOSYSTEM_SITE} -Dtycho.style=maven --non-recursive exec:java
-# if needed publishing to LARA update site
-if [ $# -lt 1 ];
-then
- echo "Not copying files to insynth@laraserver.epfl.ch"
-else
- echo "Copying files to insynth@laraserver.epfl.ch"
- ssh insynth@laraserver.epfl.ch "rm -rf ~/public_html/$COMB"
- scp -r ${TARGET_DIR}/$COMB insynth@laraserver.epfl.ch:~/public_html/
-fi
+ mvn "${ECLIPSE_PROFILE}" "${SCALA_PROFILE}" -Drepo.scala-ide=${ECOSYSTEM_SITE} -Dversion.tag=v clean package
+
+ echo "Copying into combined site"
+
+ cd "${MERGE_TOOL_DIR}"
+ mvn "-Drepo.source=file://${ROOT_DIR}/ch.epfl.insynth.update-site/target/site" "-Drepo.dest=${COMBINED_SITE_DIR}" package
done
-exit
+echo "All done"
View
423 ch.epfl.insynth.build/pom.xml
@@ -12,6 +12,12 @@
<name>Build project for the InSynth plugin</name>
<packaging>pom</packaging>
+ <parent>
+ <groupId>org.scala-ide</groupId>
+ <artifactId>plugin-profiles</artifactId>
+ <version>1.0.0</version>
+ </parent>
+
<modules>
<module>ch.epfl.insynth</module>
<module>ch.epfl.insynth.feature</module>
@@ -21,227 +27,27 @@
</modules>
<properties>
- <encoding>UTF-8</encoding>
- <repo.scala-ide.root>http://download.scala-ide.org</repo.scala-ide.root>
-
<!-- InSynth -->
<insynth.library.name>Specify a profile!</insynth.library.name>
<insynth.library.version>1.0.0</insynth.library.version>
-
- <!-- dependencies repos -->
- <eclipse.codename>Specify a profile!</eclipse.codename>
- <repo.eclipse>Specify a profile!</repo.eclipse>
- <repo.ajdt>Specify a profile!</repo.ajdt>
- <weaving.hook.plugin.version>Specify a profile!</weaving.hook.plugin.version>
-
- <scala.version>Specify a profile!</scala.version>
- <version.tag>local</version.tag>
- <repo.scala-ide>Specify a profile!</repo.scala-ide>
- <!-- repository is different for each profile -->
-
- <!-- fixed versions -->
- <tycho.version>0.16.0</tycho.version>
- <scala.plugin.version>3.0.2</scala.plugin.version>
- <junit.version>4.10</junit.version>
-
- <!-- tycho test related -->
- <tycho.test.OSspecific />
- <!-- Partial workaround against JDT Weaving deadlocks. See #1000317 and
- the original ticket on https://issuetracker.springsource.com/browse/STS-1445 -->
- <tycho.test.weaving>-XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass -Dosgi.classloader.lock=classname</tycho.test.weaving>
- <tycho.test.jvmArgs>-Xmx800m -XX:MaxPermSize=256m -Dsdtcore.headless ${tycho.test.weaving} ${tycho.test.OSspecific}</tycho.test.jvmArgs>
-
</properties>
<profiles>
<profile>
- <!-- pull the data needed to add the version numbers to the manifests -->
- <id>set-versions</id>
- <dependencies>
- <dependency>
- <groupId>org.scala-ide</groupId>
- <artifactId>build-tools_2.9.2</artifactId>
- <version>0.2.0</version>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2.1</version>
- <executions>
- <execution>
- <id>set-versions</id>
- <goals>
- <goal>java</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <classpathScope>compile</classpathScope>
- <mainClass>org.scalaide.buildtools.UpdateAddonManifests</mainClass>
- <arguments>
- <argument>${repo.scala-ide}</argument>
- </arguments>
- </configuration>
- </plugin>
- </plugins>
- </build>
- <repositories>
- <repository>
- <!-- extra repository containing the build package -->
- <id>typesafe-ide</id>
- <name>Typesafe IDE repository</name>
- <url>http://repo.typesafe.com/typesafe/ide-2.9</url>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </repository>
- </repositories>
- </profile>
-
- <profile>
- <id>indigo</id>
+ <id>scala-2.9.x</id>
<properties>
- <eclipse.codename>indigo</eclipse.codename>
- <repo.eclipse>http://download.eclipse.org/releases/indigo/</repo.eclipse>
- <repo.ajdt>http://download.eclipse.org/tools/ajdt/37/update</repo.ajdt>
- <weaving.hook.plugin.version>1.0.200.I20120427-0800</weaving.hook.plugin.version>
- </properties>
- </profile>
- <profile>
- <id>juno</id>
- <properties>
- <eclipse.codename>juno</eclipse.codename>
- <repo.eclipse>http://download.eclipse.org/releases/juno/</repo.eclipse>
- <repo.ajdt>http://download.eclipse.org/tools/ajdt/42/update</repo.ajdt>
- <weaving.hook.plugin.version>1.0.200.v20120524-1707</weaving.hook.plugin.version>
- </properties>
- </profile>
-
- <profile>
- <id>2.9.x</id>
- <properties>
- <scala.version>2.9.3-RC2</scala.version>
- <version.suffix>2_09</version.suffix>
- <scala.version.short>2.9</scala.version.short>
<insynth.library.name>ch.epfl.insynth.library.jar</insynth.library.name>
</properties>
- <repositories>
- <repository>
- <id>typesafe-ide</id>
- <name>Typesafe IDE repository</name>
- <url>http://repo.typesafe.com/typesafe/ide-2.9</url>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </repository>
- </repositories>
</profile>
<profile>
- <id>2.10.x</id>
+ <id>scala-2.10.x</id>
<properties>
- <scala.version>2.10.1-RC2</scala.version>
- <version.suffix>2_10</version.suffix>
- <scala.version.short>2.10</scala.version.short>
<insynth.library.name>ch.epfl.insynth.library-2.10.jar</insynth.library.name>
</properties>
- <repositories>
- <repository>
- <id>typesafe-ide</id>
- <name>Typesafe IDE repository</name>
- <url>http://repo.typesafe.com/typesafe/ide-2.10</url>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </repository>
- </repositories>
- </profile>
-
- <!-- dev profiles - for Milestones and RCs -->
- <profile>
- <id>dev-scala-ide-indigo-scala-2.9</id>
- <properties>
- <repo.scala-ide>${repo.scala-ide.root}/ecosystem/next/e37/scala29/dev/base/</repo.scala-ide>
- </properties>
- </profile>
- <profile>
- <id>dev-scala-ide-indigo-scala-2.10</id>
- <properties>
- <repo.scala-ide>${repo.scala-ide.root}/ecosystem/next/e37/scala210/dev/base/</repo.scala-ide>
- </properties>
- </profile>
- <profile>
- <id>dev-scala-ide-juno-scala-2.9</id>
- <properties>
- <repo.scala-ide>${repo.scala-ide.root}/ecosystem/next/e38/scala29/dev/base/</repo.scala-ide>
- </properties>
- </profile>
- <profile>
- <id>dev-scala-ide-juno-scala-2.10</id>
- <properties>
- <repo.scala-ide>${repo.scala-ide.root}/ecosystem/next/e38/scala210/dev/base/</repo.scala-ide>
- </properties>
- </profile>
-
- <!-- stable profiles - for stable releases -->
- <profile>
- <id>stable-scala-ide-indigo-scala-2.9</id>
- <properties>
- <repo.scala-ide>${repo.scala-ide.root}/sdk/e37/scala29/stable/site/</repo.scala-ide>
- </properties>
- </profile>
- <profile>
- <id>stable-scala-ide-indigo-scala-2.10</id>
- <properties>
- <repo.scala-ide>${repo.scala-ide.root}/sdk/e37/scala210/stable/site/</repo.scala-ide>
- </properties>
- </profile>
- <profile>
- <id>stable-scala-ide-juno-scala-2.9</id>
- <properties>
- <repo.scala-ide>${repo.scala-ide.root}/sdk/e38/scala29/stable/site/</repo.scala-ide>
- </properties>
- </profile>
- <profile>
- <id>stable-scala-ide-juno-scala-2.10</id>
- <properties>
- <repo.scala-ide>${repo.scala-ide.root}/sdk/e38/scala210/stable/site/</repo.scala-ide>
- </properties>
</profile>
- <profile>
- <!-- nightly Scala IDE with Scala 2.9 -->
- <id>nightly-scala-ide-scala-2.9</id>
- <properties>
- <repo.scala-ide>${repo.scala-ide.root}/nightly-update-master-29x</repo.scala-ide>
- <scala.version>2.9.3-SNAPSHOT</scala.version>
- </properties>
- </profile>
- <profile>
- <!-- nightly Scala IDE with Scala 2.10.0 -->
- <id>nightly-scala-ide-scala-2.10.0</id>
- <properties>
- <repo.scala-ide>${repo.scala-ide.root}/nightly-update-master-2.10.0</repo.scala-ide>
- </properties>
- </profile>
- <profile>
- <!-- nightly Scala IDE for Eclipse Juno with Scala 2.9 -->
- <id>nightly-scala-ide-juno-scala-2.9</id>
- <properties>
- <repo.scala-ide>${repo.scala-ide.root}/nightly-update-juno-master-29x</repo.scala-ide>
- </properties>
- </profile>
- <profile>
- <!-- nightly Scala IDE for Eclipse Juno with Scala 2.10.0 -->
- <id>nightly-scala-ide-juno-master-scala-trunk</id>
- <properties>
- <repo.scala-ide>${repo.scala-ide.root}/nightly-update-juno-master-2.10.x</repo.scala-ide>
- </properties>
- </profile>
</profiles>
<!-- scm configuration is require to extract the github hash -->
@@ -250,194 +56,8 @@
<url>https://github.com/kaptoxic/scala-ide-insynth-integration/tree/master/ch.epfl.insynth.build</url>
</scm>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>${junit.version}</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
- <repositories>
- <repository>
- <id>sonatype.release</id>
- <name>Sonatype maven release repository</name>
- <url>https://oss.sonatype.org/content/repositories/releases/</url>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- <repository>
- <id>sonatype.snapshot</id>
- <name>Sonatype maven snapshot repository</name>
- <url>https://oss.sonatype.org/content/repositories/snapshots</url>
- <snapshots>
- <updatePolicy>daily</updatePolicy>
- </snapshots>
- </repository>
- <repository>
- <id>scala-ide</id>
- <name>Scala IDE p2 repository</name>
- <layout>p2</layout>
- <url>${repo.scala-ide}</url>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- <repository>
- <id>eclipse.${eclipse.codename}</id>
- <name>Eclipse p2 repository</name>
- <layout>p2</layout>
- <url>${repo.eclipse}</url>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- <repository>
- <id>ajdt.${eclipse.codename}</id>
- <name>AJDT for Eclipse p2 repository</name>
- <layout>p2</layout>
- <url>${repo.ajdt}</url>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- </repositories>
-
<build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho.version}</version>
- <configuration>
- <useUIHarness>false</useUIHarness>
- <useUIThread>false</useUIThread>
-
- <!-- Enable JDT weaving -->
- <systemProperties combine.children="append">
- <aj.weaving.verbose>true</aj.weaving.verbose>
- <org.aspectj.weaver.showWeaveInfo>true</org.aspectj.weaver.showWeaveInfo>
- <org.aspectj.osgi.verbose>true</org.aspectj.osgi.verbose>
- </systemProperties>
- <frameworkExtensions>
- <frameworkExtension>
- <groupId>p2.osgi.bundle</groupId>
- <artifactId>org.eclipse.equinox.weaving.hook</artifactId>
- <version>${weaving.hook.plugin.version}</version>
- </frameworkExtension>
- </frameworkExtensions>
- <bundleStartLevel>
- <bundle>
- <id>org.eclipse.equinox.weaving.aspectj</id>
- <level>2</level>
- <autoStart>true</autoStart>
- </bundle>
- </bundleStartLevel>
- <argLine>${tycho.test.jvmArgs}</argLine>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-maven-plugin</artifactId>
- <version>${tycho.version}</version>
- <extensions>true</extensions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-compiler-plugin</artifactId>
- <version>${tycho.version}</version>
- <configuration>
- <excludeResources>
- <excludeResource>**/*.scala</excludeResource>
- </excludeResources>
- </configuration>
- </plugin>
- <plugin>
- <!-- configuration of the scala compiler -->
- <groupId>net.alchim31.maven</groupId>
- <artifactId>scala-maven-plugin</artifactId>
- <version>${scala.plugin.version}</version>
- <executions>
- <execution>
- <goals>
- <goal>compile</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <jvmArgs>
- <jvmArg>-Xms512m</jvmArg>
- <jvmArg>-Xmx1024m</jvmArg>
- </jvmArgs>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- <version>${tycho.version}</version>
- <executions>
- <execution>
- <id>attach-source</id>
- <goals>
- <goal>plugin-source</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <version>2.1.2</version>
- <executions>
- <execution>
- <id>attach-sources</id>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <!-- for setting a better qualifier -->
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-packaging-plugin</artifactId>
- <version>${tycho.version}</version>
- <configuration>
- <format>'${version.tag}-${version.suffix}-'yyyyMMddHHmm'-${buildNumber}'</format>
- <archiveSite>true</archiveSite>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-versions-plugin</artifactId>
- <version>${tycho.version}</version>
- </plugin>
- <!-- plugin used to extract the git hash -->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>buildnumber-maven-plugin</artifactId>
- <version>1.1</version>
- <executions>
- <execution>
- <phase>validate</phase>
- <goals>
- <goal>create</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <doCheck>false</doCheck>
- <doUpdate>false</doUpdate>
- <shortRevisionLength>7</shortRevisionLength>
- </configuration>
- </plugin>
+ <plugins>
<!-- install InSynth library jar -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -461,31 +81,6 @@
</execution>
</executions>
</plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>target-platform-configuration</artifactId>
- <version>${tycho.version}</version>
- <configuration>
- <!-- tell tycho what target environments you are interested in -->
- <environments>
- <environment>
- <os>win32</os>
- <ws>win32</ws>
- <arch>x86</arch>
- </environment>
- <environment>
- <os>linux</os>
- <ws>gtk</ws>
- <arch>x86_64</arch>
- </environment>
- <environment>
- <os>macosx</os>
- <ws>cocoa</ws>
- <arch>x86_64</arch>
- </environment>
- </environments>
- </configuration>
- </plugin>
</plugins>
</build>
Something went wrong with that request. Please try again.