| <project name="Update Dependencies" default="update"> |
| <property name="idea.sdk.fetch.needed" value="true"/> |
| |
| <target name="update" depends="fetch-third-party"> |
| <execute_update |
| base.url="http://teamcity.jetbrains.com/guestAuth/repository/download/bt410/77484:id" |
| build.zip="ideaIC-123.SNAPSHOT.win.zip" |
| /> |
| </target> |
| |
| <target name="jb_update" depends="fetch-third-party"> |
| <execute_update |
| base.url="http://buildserver.labs.intellij.net/guestAuth/repository/download/bt3498/1745749:id" |
| build.zip="ideaIC-123.SNAPSHOT.win.zip" |
| /> |
| </target> |
| |
| <target name="fetch-third-party"> |
| <mkdir dir="dependencies"/> |
| <mkdir dir="dependencies/download"/> |
| |
| <!-- ProGuard --> |
| <get src="http://heanet.dl.sourceforge.net/project/proguard/proguard%20beta/4.8beta/proguard4.8beta1.zip" |
| dest="dependencies/download/proguard4.8beta1.zip" usetimestamp="true"/> |
| |
| <delete file="dependencies/proguard.jar" failonerror="false"/> |
| <unzip src="dependencies/download/proguard4.8beta1.zip" dest="dependencies"> |
| <patternset> |
| <include name="proguard4.8beta1/lib/proguard.jar"/> |
| </patternset> |
| <mapper type="flatten"/> |
| </unzip> |
| |
| <!-- ant contrib --> |
| <get src="http://heanet.dl.sourceforge.net/project/ant-contrib/ant-contrib/1.0b3/ant-contrib-1.0b3-bin.zip" |
| dest="dependencies/download/ant-contrib-1.0b3-bin.zip" usetimestamp="true"/> |
| |
| <delete file="dependencies/ant-contrib.jar" failonerror="false"/> |
| <unzip src="dependencies/download/ant-contrib-1.0b3-bin.zip" dest="dependencies"> |
| <patternset> |
| <include name="ant-contrib/ant-contrib-1.0b3.jar"/> |
| </patternset> |
| <mapper type="merge" to="ant-contrib.jar"/> |
| </unzip> |
| |
| <!-- JarJar --> |
| <get src="http://jarjar.googlecode.com/files/jarjar-1.2.jar" dest="dependencies/download/jarjar-1.2.jar" usetimestamp="true"/> |
| <copy file="dependencies/download/jarjar-1.2.jar" tofile="dependencies/jarjar.jar" overwrite="true"/> |
| |
| <!-- PluginVerifier --> |
| <get src="http://teamcity.jetbrains.com/guestAuth/repository/download/bt351/.lastPinned/plugin-verifier-1.0-SNAPSHOT.jar" |
| dest="dependencies/download/plugin-verifier-1.0-SNAPSHOT.jar" usetimestamp="true"/> |
| <copy file="dependencies/download/plugin-verifier-1.0-SNAPSHOT.jar" tofile="dependencies/plugin-verifier.jar" overwrite="true"/> |
| |
| <!-- ant 1.7.0 --> |
| <get src="http://archive.apache.org/dist/ant/binaries/apache-ant-1.7.0-bin.tar.gz" |
| dest="dependencies/download/apache-ant-1.7.0-bin.tar.gz" usetimestamp="true"/> |
| |
| <delete file="dependencies/ant.jar" failonerror="false"/> |
| <untar src="dependencies/download/apache-ant-1.7.0-bin.tar.gz" dest="dependencies" compression="gzip"> |
| <patternset> |
| <include name="apache-ant-1.7.0/lib/ant.jar"/> |
| </patternset> |
| <mapper type="flatten"/> |
| </untar> |
| |
| <delete dir="dependencies/ant" failonerror="false"/> |
| <untar src="dependencies/download/apache-ant-1.7.0-bin.tar.gz" dest="dependencies" compression="gzip"/> |
| <move file="dependencies/apache-ant-1.7.0" tofile="dependencies/ant"/> |
| |
| <!-- dx.jar --> |
| <get src="http://repository.jetbrains.com/remote-repos/com/google/android/tools/dx/1.7/dx-1.7.jar" |
| dest="dependencies/download/dx-1.7.jar" usetimestamp="true"/> |
| <copy file="dependencies/download/dx-1.7.jar" tofile="dependencies/dx.jar" overwrite="true"/> |
| |
| <get src="http://repository.jetbrains.com/remote-repos/com/google/android/tools/dx/1.7/dx-1.7-sources.jar" |
| dest="dependencies/download/dx-1.7-sources.jar" usetimestamp="true"/> |
| <copy file="dependencies/download/dx-1.7-sources.jar" tofile="dependencies/dx-sources.jar" overwrite="true"/> |
| |
| <!-- jline --> |
| <get src="http://repository.jetbrains.com/remote-repos/jline/jline/2.9/jline-2.9.jar" |
| dest="dependencies/download/jline-2.9.jar" usetimestamp="true"/> |
| <copy file="dependencies/download/jline-2.9.jar" tofile="dependencies/jline.jar" overwrite="true"/> |
| |
| <get src="http://repository.jetbrains.com/remote-repos/jline/jline/2.9/jline-2.9-sources.jar" |
| dest="dependencies/download/jline-2.9-sources.jar" usetimestamp="true"/> |
| <copy file="dependencies/download/jline-2.9-sources.jar" tofile="dependencies/jline-sources.jar" overwrite="true"/> |
| |
| <!-- jansi --> |
| <!-- |
| <get src="http://repository.jetbrains.com/remote-repos/org/fusesource/jansi/jansi/1.9/jansi-1.9.jar" |
| dest="dependencies/download/jansi-1.9.jar" usetimestamp="true"/> |
| <copy file="dependencies/download/jansi-1.9.jar" tofile="dependencies/jansi.jar" overwrite="true"/> |
| |
| <get src="http://repository.jetbrains.com/remote-repos/org/fusesource/jansi/jansi/1.9/jansi-1.9-sources.jar" |
| dest="dependencies/download/jansi-1.9-sources.jar" usetimestamp="true"/> |
| <copy file="dependencies/download/jansi-1.9-sources.jar" tofile="dependencies/jansi-sources.jar" overwrite="true"/> |
| --> |
| |
| <!-- Guava 12 sources--> |
| <get src="http://repository.jetbrains.com/remote-repos/com/google/guava/guava/12.0/guava-12.0-sources.jar" |
| dest="dependencies/download/guava-12.0-sources.jar" usetimestamp="true"/> |
| <copy file="dependencies/download/guava-12.0-sources.jar" tofile="dependencies/guava-12.0-sources.jar" overwrite="true"/> |
| |
| <!-- ASM 4 --> |
| <get-asm4-and-rename-packages/> |
| </target> |
| |
| <macrodef name="get-asm4-and-rename-packages"> |
| <sequential> |
| <!-- Download vanilla ASM 4.0 & unzip the needed jars and sources --> |
| <get src="http://repository.jetbrains.com/remote-repos/org/ow2/asm/asm-analysis/4.0/asm-analysis-4.0.jar" |
| dest="dependencies/download/asm-analysis-4.0.jar" usetimestamp="true"/> |
| |
| <get src="http://repository.jetbrains.com/remote-repos/org/ow2/asm/asm-util/4.0/asm-util-4.0.jar" |
| dest="dependencies/download/asm-util-4.0.jar" usetimestamp="true"/> |
| |
| <get src="http://repository.jetbrains.com/remote-repos/org/ow2/asm/asm-all/4.0/asm-all-4.0-sources.jar" |
| dest="dependencies/download/asm-all-4.0-sources.jar" usetimestamp="true"/> |
| |
| <!-- Rename packages in the jars --> |
| <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="${basedir}/dependencies/jarjar.jar"/> |
| |
| <jarjar jarfile="dependencies/jetbrains-asm-util-4.0.jar"> |
| <zipfileset src="dependencies/download/asm-util-4.0.jar"/> |
| |
| <rule pattern="org.objectweb.asm.**" result="org.jetbrains.asm4.@1"/> |
| </jarjar> |
| |
| <jarjar jarfile="dependencies/jetbrains-asm-analysis-4.0.jar"> |
| <zipfileset src="dependencies/download/asm-analysis-4.0.jar"/> |
| |
| <rule pattern="org.objectweb.asm.**" result="org.jetbrains.asm4.@1"/> |
| </jarjar> |
| |
| <!-- Rename packages in the sources --> |
| <delete dir="dependencies/download/asm-src" failonerror="false"/> |
| <unzip src="dependencies/download/asm-all-4.0-sources.jar" dest="dependencies/download/asm-src"> |
| <patternset> |
| <include name="**/*"/> |
| </patternset> |
| </unzip> |
| |
| <replaceregexp match="org.objectweb.asm" replace="org.jetbrains.asm4"> |
| <fileset dir="dependencies/download/asm-src/"> |
| <include name="**/*.java"/> |
| </fileset> |
| </replaceregexp> |
| |
| <move file="dependencies/download/asm-src/org/objectweb/asm" |
| tofile="dependencies/download/asm-src/org/jetbrains/asm4"/> |
| |
| <zip destfile="dependencies/jetbrains-asm-all-4.0-src.zip" basedir="dependencies/download/asm-src"/> |
| </sequential> |
| </macrodef> |
| |
| <macrodef name="execute_update"> |
| <attribute name="base.url" default="http://teamcity.example.com/guestAuth/repository/download/btXXX/XXXX:id"/> |
| <attribute name="base.url.for.core" default="@{base.url}"/> |
| <attribute name="build.zip" default="ideaIC-XXX.SNAPSHOT.win.zip"/> |
| |
| <sequential> |
| <taskdef resource="net/sf/antcontrib/antcontrib.properties" classpath="${basedir}/dependencies/ant-contrib.jar"/> |
| <property name="core" value="ideaSDK/core"/> |
| <property name="jps" value="ideaSDK/jps"/> |
| <property name="jps-test" value="${jps}/test"/> |
| |
| <if> |
| <istrue value="${idea.sdk.fetch.needed}"/> |
| |
| <then> |
| <delete dir="ideaSDK" failonerror="false"> |
| <exclude name="config/**"/> |
| <exclude name="system/**"/> |
| <exclude name="system-idea/**"/> |
| </delete> |
| |
| <mkdir dir="${core}"/> |
| <mkdir dir="${jps}"/> |
| <mkdir dir="${jps-test}"/> |
| <get src="@{base.url.for.core}/core/intellij-core.jar" dest="${core}/intellij-core.jar" usetimestamp="true"/> |
| <get src="@{base.url}/core/annotations.jar" dest="${core}/annotations.jar" usetimestamp="true"/> |
| <get src="@{base.url}/core/cli-parser-1.1.jar" dest="${core}/cli-parser-1.1.jar" usetimestamp="true"/> |
| <get src="@{base.url}/core/guava-12.0.jar" dest="${core}/guava-12.0.jar" usetimestamp="true"/> |
| <get src="@{base.url}/core/picocontainer.jar" dest="${core}/picocontainer.jar" usetimestamp="true"/> |
| <get src="@{base.url}/core/trove4j.jar" dest="${core}/trove4j.jar" usetimestamp="true"/> |
| |
| <get src="@{base.url}/jps/asm4-all.jar" dest="${jps}/asm4-all.jar" usetimestamp="true"/> |
| <get src="@{base.url}/jps/groovy-jps-plugin.jar" dest="${jps}/groovy-jps-plugin.jar" usetimestamp="true"/> |
| <get src="@{base.url}/jps/groovy_rt.jar" dest="${jps}/groovy_rt.jar" usetimestamp="true"/> |
| <get src="@{base.url}/jps/jdom.jar" dest="${jps}/jdom.jar" usetimestamp="true"/> |
| <get src="@{base.url}/jps/jgoodies-forms.jar" dest="${jps}/jgoodies-forms.jar" usetimestamp="true"/> |
| <get src="@{base.url}/jps/jna.jar" dest="${jps}/jna.jar" usetimestamp="true"/> |
| <get src="@{base.url}/jps/jps-builders.jar" dest="${jps}/jps-builders.jar" usetimestamp="true"/> |
| <get src="@{base.url}/jps/jps-model.jar" dest="${jps}/jps-model.jar" usetimestamp="true"/> |
| <get src="@{base.url}/jps/log4j.jar" dest="${jps}/log4j.jar" usetimestamp="true"/> |
| <get src="@{base.url}/jps/nanoxml-2.2.3.jar" dest="${jps}/nanoxml-2.2.3.jar" usetimestamp="true"/> |
| <get src="@{base.url}/jps/protobuf-2.4.1.jar" dest="${jps}/protobuf-2.4.1.jar" usetimestamp="true"/> |
| <get src="@{base.url}/jps/trove4j.jar" dest="${jps}/trove4j.jar" usetimestamp="true"/> |
| <get src="@{base.url}/jps/ui-designer-jps-plugin.jar" dest="${jps}/ui-designer-jps-plugin.jar" usetimestamp="true"/> |
| <get src="@{base.url}/jps/util.jar" dest="${jps}/util.jar" usetimestamp="true"/> |
| |
| <get src="@{base.url}/jps/test/jps-build-test.jar" dest="${jps-test}/jps-build-test.jar" usetimestamp="true"/> |
| |
| <get src="@{base.url}/@{build.zip}" dest="dependencies/download/@{build.zip}" usetimestamp="true"/> |
| |
| <get src="@{base.url}/sources.zip" dest="dependencies/download/idea-sdk-sources.zip" usetimestamp="true"/> |
| </then> |
| </if> |
| |
| <unzip src="dependencies/download/@{build.zip}" dest="ideaSDK"/> |
| |
| <mkdir dir="ideaSDK/sources"/> |
| <copy file="dependencies/download/idea-sdk-sources.zip" tofile="ideaSDK/sources/sources.zip"/> |
| |
| <copy file="ideaSDK/lib/jdom.jar" todir="${core}"/> |
| <copy file="ideaSDK/lib/jna.jar" todir="${core}"/> |
| <copy file="ideaSDK/lib/log4j.jar" todir="${core}"/> |
| <copy file="ideaSDK/lib/xstream-1.4.3.jar" todir="${core}"/> |
| <copy file="ideaSDK/lib/xpp3-1.1.4-min.jar" todir="${core}"/> |
| <copy file="ideaSDK/lib/asm4-all.jar" todir="${core}"/> |
| |
| <!-- TODO temporary workaround since util-rt is not packaged into intellij-core.jar --> |
| <copy file="ideaSDK/lib/util.jar" todir="${core}"/> |
| |
| <!-- |
| This one needs to be deleted because otherwise it gets onto the classpath |
| together with junit-4.10.jar and the classloading goes crazy that breaks |
| many nice features of IDEA including diffs in the test console. |
| --> |
| <delete file="ideaSDK/lib/junit.jar"/> |
| |
| </sequential> |
| </macrodef> |
| </project> |