Permalink
Browse files

Build against 14.0, 14.1, 15.0, and 2016.1

Build against all the version I claim to support.
  • Loading branch information...
1 parent 18ca31c commit b24d65902b587213363962a4a480b4b098d931c0 @KronicDeth committed Mar 20, 2016
View
@@ -2,15 +2,34 @@ cache:
directories:
- cache
- dependencies
-language: elixir
-elixir:
-- 1.1.1
-- 1.2.0
-otp_release:
-- 18.2
+language: java
+matrix:
+ include:
+ - env: ELIXIR_VERSION="1.2.3" IDEA_TARBALL_ROOT_BASENAME="idea-IC-145.258.11" IDEA_VERSION="2016.1"
+ jdk: oraclejdk8
+ - env: ELIXIR_VERSION="1.1.1" IDEA_TARBALL_ROOT_BASENAME="idea-IC-145.258.11" IDEA_VERSION="2016.1"
+ jdk: oraclejdk8
+
+ - env: ELIXIR_VERSION="1.2.3" IDEA_TARBALL_ROOT_BASENAME="idea-IC-143.2287.1" IDEA_VERSION="15.0.4"
+ jdk: oraclejdk8
+ - env: ELIXIR_VERSION="1.1.1" IDEA_TARBALL_ROOT_BASENAME="idea-IC-143.2287.1" IDEA_VERSION="15.0.4"
+ jdk: oraclejdk8
+
+ - env: ELIXIR_VERSION="1.2.3" IDEA_TARBALL_ROOT_BASENAME="idea-IC-141.3056.4" IDEA_VERSION="14.1.6"
+ jdk: openjdk6
+ - env: ELIXIR_VERSION="1.1.1" IDEA_TARBALL_ROOT_BASENAME="idea-IC-141.3056.4" IDEA_VERSION="14.1.6"
+ jdk: openjdk6
+
+ - env: ELIXIR_VERSION="1.2.3" IDEA_TARBALL_ROOT_BASENAME="idea-IC-139.1603.1" IDEA_VERSION="14.0.4"
+ jdk: openjdk6
+ - env: ELIXIR_VERSION="1.1.1" IDEA_TARBALL_ROOT_BASENAME="idea-IC-139.1603.1" IDEA_VERSION="14.0.4"
+ jdk: openjdk6
before_install:
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
-install: ant -logger org.apache.tools.ant.listener.AnsiColorLogger -f intellij-elixir.xml get.idea get.intellij-erlang release.intellij_elixir
+install:
+ - if [ ! -f cache/erlang/18.3/activate ]; then curl -O https://raw.githubusercontent.com/yrashk/kerl/master/kerl && chmod a+x kerl && ./kerl update releases && ./kerl build 18.3 18.3 && ./kerl install 18.3 cache/erlang/18.3; fi
+ - source cache/erlang/18.3/activate
+ - ant -logger org.apache.tools.ant.listener.AnsiColorLogger -f intellij-elixir.xml get.idea get.intellij-erlang release.intellij_elixir
script: ant -logger org.apache.tools.ant.listener.AnsiColorLogger -f intellij-elixir.xml test.modules
sudo: false
View
@@ -2,11 +2,13 @@
<project default="get.elixir" name="elixir">
<dirname property="elixir.basedir" file="${ant.file.elixir}"/>
+ <property environment="env"/>
+ <property name="elixir.version" value="${env.ELIXIR_VERSION}"/>
<property name="elixir.output.dir" value="${elixir.basedir}/dependencies/elixir"/>
- <property name="elixir.sha1" value="v${env.TRAVIS_ELIXIR_VERSION}"/>
+ <property name="elixir.sha1" value="v${elixir.version}"/>
<property name="elixir.zip" value="${elixir.sha1}.zip"/>
<property name="elixir.cache" value="${elixir.basedir}/cache/elixir"/>
- <property name="elixir.zip.root.basename" value="elixir-${env.TRAVIS_ELIXIR_VERSION}"/>
+ <property name="elixir.zip.root.basename" value="elixir-${elixir.version}"/>
<property name="elixir.output.zip.root.dir" value="${elixir.output.dir}/${elixir.zip.root.basename}"/>
<available file="${elixir.output.zip.root.dir}" property="elixir.output.zip.root.available"/>
@@ -26,6 +28,13 @@
</copy>
</target>
+ <target name="set.elixir.code.lib.dir" depends="make.elixir" description="Set elixir.code.lib.dir to :code.lib_dir">
+ <exec executable="${elixir.output.zip.root.dir}/bin/elixir" outputproperty="elixir.code.lib.dir">
+ <arg value="-e"/>
+ <arg value="IO.puts :code.lib_dir"/>
+ </exec>
+ </target>
+
<target name="get.elixir.zip" description="Get Elixir ${elixir.sha1} zip from Github" unless="elixir.zip.available">
<mkdir dir="${elixir.output.dir}"/>
<get dest="${elixir.output.dir}"
@@ -34,7 +43,17 @@
verbose="true"/>
</target>
+ <target name="make.elixir" depends="unpack.elixir.zip" description="Build Elixir">
+ <exec dir="${elixir.output.zip.root.dir}" executable="make" />
+ </target>
+
<target name="unpack.elixir.zip" depends="get.elixir.zip" description="unzip ${elixir.zip}" unless="elixir.output.zip.root.available">
<unzip src="${elixir.output.dir}/${elixir.zip}" dest="${elixir.output.dir}"/>
+ <chmod perm="u+x">
+ <file file="${elixir.output.zip.root.dir}/rebar"/>
+ <fileset dir="${elixir.output.zip.root.dir}/bin">
+ <exclude name="*.bat"/>
+ </fileset>
+ </chmod>
</target>
</project>
View
@@ -2,11 +2,12 @@
<project default="get.idea" name="idea">
<dirname property="idea.basedir" file="${ant.file.idea}"/>
- <property name="idea.output.dir" value="${idea.basedir}/dependencies/idea"/>
- <property name="idea.version" value="14.1.6"/>
+ <property environment="env"/>
+ <property name="idea.version" value="${env.IDEA_VERSION}"/>
+ <property name="idea.output.dir" value="${idea.basedir}/dependencies/idea/${idea.version}"/>
<property name="idea.tarball" value="ideaIC-${idea.version}.tar.gz"/>
- <property name="idea.cache" value="${idea.basedir}/cache/idea"/>
- <property name="idea.tarball.root.basename" value="idea-IC-141.3056.4"/>
+ <property name="idea.cache" value="${idea.basedir}/cache/idea/${idea.version}"/>
+ <property name="idea.tarball.root.basename" value="${env.IDEA_TARBALL_ROOT_BASENAME}"/>
<property name="idea.output.tarball.root.dir" value="${idea.output.dir}/${idea.tarball.root.basename}"/>
<available file="${idea.output.tarball.root.dir}" property="idea.output.tarball.root.available"/>
@@ -44,4 +45,4 @@
<arg value="-z"/>
</exec>
</target>
-</project>
+</project>
View
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="intellij-elixir" default="all">
-
-
+
+
<property file="intellij-elixir.properties"/>
<!-- Uncomment the following property if no tests compilation is needed -->
- <!--
+ <!--
<property name="skip.tests" value="true"/>
-->
-
+
<!-- Compiler options -->
-
+
<property name="compiler.debug" value="on"/>
<property name="compiler.generate.no.warnings" value="off"/>
<property name="compiler.args" value=""/>
@@ -60,11 +60,6 @@
<import file="${basedir}/intellij-erlang.xml"/>
<!-- JDK definitions -->
- <exec executable="elixir" outputproperty="elixir.code.lib.dir">
- <arg value="-e"/>
- <arg value="IO.puts :code.lib_dir"/>
- </exec>
-
<property environment="env"/>
<property name="jdk.home" value="${env.JAVA_HOME}"/>
<property name="jdk.bin" value="${jdk.home}/bin"/>
@@ -73,9 +68,6 @@
<property name="project.jdk.home" value="${jdk.home}"/>
<path id="jdk.classpath">
- <fileset dir="${elixir.code.lib.dir}">
- <include name="jinterface-*/priv/OtpErlang.jar"/>
- </fileset>
<fileset dir="${idea.cache}">
<include name="lib/annotations.jar"/>
<include name="lib/asm-all.jar"/>
@@ -87,23 +79,65 @@
<include name="lib/bootstrap.jar"/>
<include name="lib/cglib-2.2.2.jar"/>
<include name="lib/cli-parser-1.1.jar"/>
+
+ <!-- 14.X -->
<include name="lib/commons-codec-1.8.jar"/>
+ <!-- 2016.1 -->
+ <include name="lib/commons-codec-1.9.jar"/>
+
<include name="lib/commons-httpclient-3.1-patched.jar"/>
+
+ <!-- 14.X -->
<include name="lib/commons-logging-1.1.3.jar"/>
+ <!-- 2016.1 -->
+ <include name="lib/commons-logging-1.2.jar"/>
+
<include name="lib/commons-net-3.1.jar"/>
+
+ <!-- 14.X -->
<include name="lib/ecj-4.4.jar"/>
+ <!-- 2016.1 -->
+ <include name="lib/ecj-4.4.2.jar"/>
+
<include name="lib/extensions.jar"/>
+
+ <!-- 14.X -->
<include name="lib/fluent-hc-4.3.2.jar"/>
+ <!-- 2016.1 -->
+ <include name="lib/fluent-hc-4.4.1.jar"/>
+
<include name="lib/forms_rt.jar"/>
<include name="lib/freemarker.jar"/>
+
+ <!-- 14.X -->
<include name="lib/groovy-all-2.2.1.jar"/>
+ <!-- 2016.1 -->
+ <include name="lib/groovy-all-2.4.6.jar"/>
+
+ <!-- 14.X -->
<include name="lib/gson-2.2.4.jar"/>
+ <!-- 2016.1 -->
+ <include name="lib/gson-2.5.jar"/>
+
<include name="lib/guava-17.0.jar"/>
<include name="lib/hamcrest-core-1.3.jar"/>
<include name="lib/hamcrest-library-1.3.jar"/>
+
+ <!-- 14.X -->
<include name="lib/httpclient-4.3.2.jar"/>
+ <!-- 2016.1 -->
+ <include name="lib/httpclient-4.4.1.jar"/>
+
+ <!-- 14.X -->
<include name="lib/httpcore-4.3.1.jar"/>
+ <!-- 2016.1 -->
+ <include name="lib/httpcore-4.4.1.jar"/>
+
+ <!-- 14.X -->
<include name="lib/httpmime-4.3.2.jar"/>
+ <!-- 2016.1 -->
+ <include name="lib/httpmime-4.4.1.jar"/>
+
<include name="lib/icons.jar"/>
<include name="lib/idea.jar"/>
<include name="lib/idea_rt.jar"/>
@@ -121,10 +155,16 @@
<include name="lib/jing.jar"/>
<include name="lib/jna-utils.jar"/>
<include name="lib/jna.jar"/>
+ <include name="lib/jps-builders.jar"/>
<include name="lib/jps-launcher.jar"/>
<include name="lib/jps-model.jar"/>
<include name="lib/jps-server.jar"/>
+
+ <!-- 14.X -->
<include name="lib/jsch-0.1.51.jar"/>
+ <!-- 2016.1 -->
+ <include name="lib/jsch-0.1.52.jar"/>
+
<include name="lib/jsch.agentproxy.connector-factory.jar"/>
<include name="lib/jsch.agentproxy.core.jar"/>
<include name="lib/jsch.agentproxy.pageant.jar"/>
@@ -133,22 +173,45 @@
<include name="lib/jsch.agentproxy.usocket-nc.jar"/>
<include name="lib/jsr166e.jar"/>
<include name="lib/jsr173_1.0_api.jar"/>
+
+ <!-- 14.X -->
<include name="lib/junit-4.11.jar"/>
+ <!-- 2016.1 -->
+ <include name="lib/junit-4.12.jar"/>
+
<include name="lib/jzlib-1.1.1.jar"/>
<include name="lib/log4j.jar"/>
+
+ <!-- 2016.1 -->
+ <include name="lib/kotlin-runtime.jar"/>
+
<include name="lib/markdownj-core-0.4.2-SNAPSHOT.jar"/>
<include name="lib/microba.jar"/>
<include name="lib/miglayout-swing.jar"/>
<include name="lib/nanoxml-2.2.3.jar"/>
<include name="lib/nekohtml-1.9.14.jar"/>
+
+ <!-- 14.X -->
<include name="lib/netty-all-4.1.0.Beta3.jar"/>
+ <!-- 2016.1 -->
+ <include name="lib/netty-all-4.1.0.Beta8.jar"/>
+
<include name="lib/openapi.jar"/>
<include name="lib/optimizedFileManager.jar"/>
<include name="lib/oromatcher.jar"/>
<include name="lib/picocontainer.jar"/>
<include name="lib/protobuf-2.5.0.jar"/>
+
+ <!-- 14.X -->
<include name="lib/proxy-vole_20120920.jar"/>
+ <!-- 2016.1 -->
+ <include name="lib/proxy-vole_20131209.jar"/>
+
+ <!-- 14.X -->
<include name="lib/pty4j-0.3.jar"/>
+ <!-- 2016.1 -->
+ <include name="lib/pty4j-0.6.jar"/>
+
<include name="lib/purejavacomm.jar"/>
<include name="lib/resolver.jar"/>
<include name="lib/resources.jar"/>
@@ -158,19 +221,33 @@
<include name="lib/rt/jps-plugin-system.jar"/>
<include name="lib/sanselan-0.98-snapshot.jar"/>
<include name="lib/serviceMessages.jar"/>
+
+ <!-- 14.X -->
<include name="lib/snappy-in-java-0.3.jar"/>
+ <!-- 2016.1 -->
+ <include name="lib/snappy-in-java-0.3.1.jar"/>
+
<include name="lib/swingx-core-1.6.2.jar"/>
<include name="lib/trang-core.jar"/>
<include name="lib/trove4j.jar"/>
<include name="lib/trove4j_src.jar"/>
<include name="lib/util.jar"/>
<include name="lib/velocity.jar"/>
+
+ <!-- 14.X -->
<include name="lib/winp-1.21-patched.jar"/>
+ <!-- 2016.1 -->
+ <include name="lib/winp-1.23-patched.jar"/>
+
<include name="lib/xbean.jar"/>
<include name="lib/xerces.jar"/>
<include name="lib/xmlrpc-2.0.jar"/>
<include name="lib/xpp3-1.1.4-min.jar"/>
+
+ <!-- 14.X -->
<include name="lib/xstream-1.4.3.jar"/>
+ <!-- 2016.1 -->
+ <include name="lib/xstream-1.4.8.jar"/>
</fileset>
<fileset dir="${intellij-erlang.cache}">
<include name="lib/erlang.jar"/>
@@ -185,12 +262,12 @@
</path>
<!-- Project Libraries -->
-
+
<path id="library.junit.classpath">
<pathelement location="${idea.cache}/lib/junit.jar"/>
</path>
-
-
+
+
<!-- Global Libraries -->
<!-- Register Custom Compiler Taskdefs -->
<target name="register.custom.compilers" depends="get.idea">
@@ -204,20 +281,20 @@
<taskdef name="javac2" classname="com.intellij.ant.Javac2" classpathref="javac2.classpath"/>
<taskdef name="instrumentIdeaExtensions" classname="com.intellij.ant.InstrumentIdeaExtensions" classpathref="javac2.classpath"/>
</target>
-
+
<!-- Modules -->
<import file="${basedir}/intellij_elixir.xml"/>
<import file="${basedir}/module_intellij-elixir.xml"/>
-
+
<target name="init" description="Build initialization">
<!-- Perform any build initialization in this target -->
</target>
-
+
<target name="clean" depends="clean.module.intellij-elixir" description="cleanup all"/>
-
+
<target name="build.modules" depends="init, clean, plugin.build.jar.intellij-elixir" description="build all modules"/>
<target name="test.modules" depends="test.module.intellij-elixir" description="test all modules"/>
<target name="all" depends="build.modules" description="build all"/>
-</project>
+</project>
Oops, something went wrong.

0 comments on commit b24d659

Please sign in to comment.