<project xmlns:if="ant:if" xmlns:unless="ant:unless" name="Update Dependencies" default="update">
    <!--171 -> as30-->
    <import file="common.xml" optional="false"/>
    <import file="node_utils.xml" optional="false"/>

    <property name="automerge_dummy" value="This property is used to trick git merge. Do not delete empty lines around."/>
    <property name="ideaVersion" value="171-SNAPSHOT"/>
    <property name="idea.kotlin.branch" value="rc"/>

    <property name="android.studio.major.version" value="3.0"/>

    <!-- Uncomment this to download fixed version of Android Studio-->
    <!--<property name="android.studio.version" value="3.0.0.7"/>-->
    <!--<property name="android.studio.build.number" value="171.4195411"/>-->

    <!-- how to find this version in AndroidStudioApplicationInfo.xml: https://jetbrains.quip.com/4IQyAOhyghPb -->
    <property name="android.studio.intellij-core.build.number" value="171.4249.39"/>

    <property name="kotlin.bootstrap.branch" value=""/>
    <property name="kotlin.bootstrap.branch.locator" value=""/>
    <property name="kotlin.bootstrap.locator" value="buildType:bt345,tag:bootstrap,status:SUCCESS${kotlin.bootstrap.branch.locator}"/>
    <property name="kotlin.bootstrap.locator.force" value="false"/>

    <property name="markdown.locator" value="buildType:IntelliJMarkdownParser_Build,status:SUCCESS,tag:forKotlin"/>

    <property name="bootstrap.build.no.tests" value="false"/>

    <!--<property name="use.ultimate.by.default" value="true"/>-->

    <property name="sdk.version.prefix" value="IU" if:set="use.ultimate.by.default"/>
    <property name="sdk.version.prefix" value="IC" unless:set="use.ultimate.by.default"/>

    <!-- Uncomment to enable force version increment in branch. Set override.version.disabled to temporary disable feature without commits -->
    <!--
    <property name="override.version.branch" value="${kotlin.bootstrap.branch.locator}"/>
    <property name="override.version.url" value="https://teamcity.jetbrains.com/guestAuth/app/rest/builds/?locator=buildType:bt345,count:1,branch:${override.version.branch}"/>
    -->
    <!--<property name="override.version.disabled" value="true"/>-->

    <condition property="kotlinc.executable.path" value="kotlinc.bat" else="kotlinc">
        <os family="windows"/>
    </condition>

    <property name="uast.version" value="1.0.12"/>

    <property name="kotlinx.coroutines.version" value="0.14.1"/>

    <property name="generators" value="${basedir}/generators"/>

    <property name="idea.dir" value="ideaSDK"/>
    <property name="idea.sdk.fetch.needed" value="true"/>

    <property name="dependencies.info.file" value="${dependencies}/dependencies.properties"/>

    <property name="gradle.libs.repo" value="http://repo.gradle.org/gradle/libs-releases-local"/>

    <property name="native-platform-lib-version" value="0.14"/>

    <property file="${dependencies.info.file}" prefix="dependencies.info.prev"/>

    <target name="update" depends="fetch-third-party,fetch-annotations,get_android_studio"
            description="Update dependencies and Android Studio"/>

    <!--<target name="update_teamcity" depends="fetch-third-party,fetch-annotations">-->
        <!--<execute_update_with_idea_teamcity_artifacts-->
            <!--teamcity.server.url="https://teamcity.jetbrains.com"-->
            <!--build.locator.request="buildType:bt410,status:SUCCESS,branch:idea/${ideaVersion}-${idea.kotlin.branch}"/>-->
    <!--</target>-->

    <target name="jb_update" depends="fetch-third-party,fetch-annotations" description="Update dependencies for JB local network">
        <execute_update_with_idea_maven_artifacts
            base.url="http://jetbrains-com-mirror.labs.intellij.net/intellij-repository/snapshots/com/jetbrains/intellij/idea"
            idea.maven.version="${ideaVersion}"/>
    </target>

    <target name="get-ivy-library">
        <mkdir dir="${dependencies}/download"/>
        <get-maven-library prefix="org/apache/ivy" lib="ivy" version="2.4.0" target.jar.name.base="ivy"/>
    </target>

    <macrodef name="get-maven-library">
        <attribute name="prefix"/>
        <attribute name="lib"/>
        <attribute name="version"/>
        <attribute name="bin" default="true"/>
        <attribute name="src" default="true"/>
        <attribute name="server" default="http://repository.jetbrains.com/remote-repos"/>
        <attribute name="jar.name.base" default="@{lib}-@{version}"/>
        <attribute name="target.jar.name.base" default="@{jar.name.base}"/>
        <attribute name="path" default="@{prefix}/@{lib}/@{version}/@{jar.name.base}"/>
        <attribute name="download" default="${dependencies}/download"/>
        <attribute name="dependencies" default="${dependencies}"/>
        <sequential>
            <sequential if:true="@{bin}">
                <get src="@{server}/@{path}.jar" dest="@{download}/@{jar.name.base}.jar" usetimestamp="true"/>
                <copy file="@{download}/@{jar.name.base}.jar" tofile="@{dependencies}/@{target.jar.name.base}.jar" overwrite="true"/>
            </sequential>

            <sequential if:true="@{src}">
                <get src="@{server}/@{path}-sources.jar" dest="@{download}/@{jar.name.base}-sources.jar" usetimestamp="true"/>
                <copy file="@{download}/@{jar.name.base}-sources.jar" tofile="@{dependencies}/@{target.jar.name.base}-sources.jar"
                      overwrite="true"/>
            </sequential>
        </sequential>
    </macrodef>

    <!--
    This doesn't download sources, see https://issues.apache.org/jira/browse/IVY-1003.
    Please download sources manually if you need them.
    -->
    <macrodef name="get-maven-library-with-dependencies">
        <attribute name="group"/>
        <attribute name="artifact"/>
        <attribute name="version"/>
        <attribute name="target.dir" default="maven"/>

        <sequential>
            <mkdir dir="${dependencies}/@{target.dir}"/>

            <java classname="org.apache.ivy.Main" fork="true">
                <arg value="-dependency"/>
                <arg value="@{group}"/>
                <arg value="@{artifact}"/>
                <arg value="@{version}"/>
                <arg value="-retrieve"/>
                <arg value="${dependencies}/@{target.dir}/[artifact]-[revision](-[classifier]).[ext]"/>

                <classpath>
                    <pathelement location="${dependencies}/ivy.jar"/>
                </classpath>
            </java>
        </sequential>
    </macrodef>

    <macrodef name="get-ant-library">
        <attribute name="version"/>
        <attribute name="folderName"/>
        <sequential>
            <get src="http://archive.apache.org/dist/ant/binaries/apache-ant-@{version}-bin.tar.gz"
                 dest="${dependencies}/download/apache-ant-@{version}-bin.tar.gz" usetimestamp="true"/>

            <get src="http://archive.apache.org/dist/ant/source/apache-ant-@{version}-src.zip"
                 dest="${dependencies}/apache-ant-@{version}-src.zip" usetimestamp="true"/>

            <delete dir="${dependencies}/@{folderName}" failonerror="false"/>
            <untar src="${dependencies}/download/apache-ant-@{version}-bin.tar.gz" dest="${dependencies}" compression="gzip"/>
            <move file="${dependencies}/apache-ant-@{version}" tofile="${dependencies}/@{folderName}"/>
        </sequential>
    </macrodef>

    <target name="make-native-platform-uberjar">
        <property name="dependencies" value="${dependencies}"/>
        <property name="download" value="${dependencies}/download"/>
        <property name="server" value="${gradle.libs.repo}"/>
        <property name="version" value="${native-platform-lib-version}"/>
        <property name="common.name" value="native-platform"/>
        <property name="common.prefix" value="${server}/net/rubygrapefruit/${common.name}"/>

        <macrodef name="get-lib">
            <attribute name="suffix"/>
            <sequential>
                <get src="${common.prefix}@{suffix}/${version}/${common.name}@{suffix}-${version}.jar" dest="${download}/${common.name}@{suffix}.jar" usetimestamp="true"/>
            </sequential>
        </macrodef>

        <mkdir dir="${dependencies}"/>
        <mkdir dir="${download}"/>

        <get-lib suffix=""/>
        <get-lib suffix="-windows-amd64"/>
        <get-lib suffix="-windows-i386"/>
        <get-lib suffix="-osx-amd64"/>
        <get-lib suffix="-osx-i386"/>
        <get-lib suffix="-linux-amd64"/>
        <get-lib suffix="-linux-i386"/>
        <get-lib suffix="-freebsd-amd64-libcpp"/>
        <get-lib suffix="-freebsd-amd64-libstdcpp"/>
        <get-lib suffix="-freebsd-i386-libcpp"/>
        <get-lib suffix="-freebsd-i386-libstdcpp"/>

        <jar destfile="${dependencies}/${common.name}-uberjar.jar">
            <zipfileset src="${download}/${common.name}.jar" includes="**" />
            <zipfileset src="${download}/${common.name}-windows-amd64.jar" includes="**" />
            <zipfileset src="${download}/${common.name}-windows-i386.jar" includes="**" />
            <zipfileset src="${download}/${common.name}-osx-amd64.jar" includes="**" />
            <zipfileset src="${download}/${common.name}-osx-i386.jar" includes="**" />
            <zipfileset src="${download}/${common.name}-linux-amd64.jar" includes="**" />
            <zipfileset src="${download}/${common.name}-linux-i386.jar" includes="**" />
            <zipfileset src="${download}/${common.name}-freebsd-amd64-libcpp.jar" includes="**" />
            <zipfileset src="${download}/${common.name}-freebsd-amd64-libstdcpp.jar" includes="**" />
            <zipfileset src="${download}/${common.name}-freebsd-i386-libcpp.jar" includes="**" />
            <zipfileset src="${download}/${common.name}-freebsd-i386-libstdcpp.jar" includes="**" />
        </jar>
    </target>

    <target name="fetch-third-party" depends="get-ivy-library, make-dependency-dirs, make-native-platform-uberjar">
        <antcall target="override-version"/>

        <!-- ProGuard -->
        <get-maven-library prefix="net/sf/proguard" lib="proguard-base" version="5.3" target.jar.name.base="proguard" src="false"/>
        <get-maven-library prefix="net/sf/proguard" lib="proguard-anttask" version="5.3" target.jar.name.base="proguard-anttask" src="false"/>

        <!-- JarJar -->
        <get src="http://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/jarjar/jarjar-1.4.jar" dest="${dependencies}/download/jarjar-1.4.jar" usetimestamp="true"/>
        <copy file="${dependencies}/download/jarjar-1.4.jar" tofile="${dependencies}/jarjar.jar" overwrite="true"/>

        <!-- ant 1.8.2 -->
        <get-ant-library version="1.8.2" folderName="ant-1.8"/>

        <!-- dx.jar -->
        <property name="android-build-tools.zip" value="build-tools_r21.1.1-linux.zip"/>
        <get
            src="https://dl-ssl.google.com/android/repository/${android-build-tools.zip}"
            dest="${dependencies}/download/${android-build-tools.zip}"
            usetimestamp="true"/>
        <unzip src="${dependencies}/download/${android-build-tools.zip}" dest="${dependencies}"/>

        <property name="android-sources.tgz" value="dx.tar.gz"/>
        <get
            src="https://android.googlesource.com/platform/dalvik/+archive/android-5.0.0_r2/${android-sources.tgz}"
            dest="${dependencies}/download/${android-sources.tgz}"
            usetimestamp="true"/>
        <delete dir="${dependencies}/dx-src" failonerror="false"/>
        <untar src="${dependencies}/download/${android-sources.tgz}" dest="${dependencies}/dx-src" compression="gzip"/>

        <mkdir dir="${dependencies}/jflex"/>
        <get src="https://raw.github.com/JetBrains/intellij-community/master/tools/lexer/jflex-1.7.0-SNAPSHOT.jar"
             dest="${dependencies}/jflex/JFlex.jar" usetimestamp="true"/>
        <get src="https://raw.github.com/JetBrains/intellij-community/master/tools/lexer/idea-flex.skeleton"
             dest="${dependencies}/jflex/idea-flex.skeleton" usetimestamp="true"/>

        <!-- jline -->
        <get-maven-library prefix="org/jline" lib="jline" version="3.3.1" target.jar.name.base="jline3"/>

        <!-- jansi -->
        <get-maven-library prefix="org/fusesource/jansi" lib="jansi" version="1.16" target.jar.name.base="jansi"/>

        <!-- Guava 19 sources-->
        <get-maven-library prefix="com/google/guava" lib="guava" version="19.0" bin="false"/>

        <!-- ASM -->
        <get src="https://raw.github.com/JetBrains/intellij-community/171/lib/src/asm-src.zip"
             dest="${dependencies}/asm-src.zip"/>

        <!-- Junit Sources -->
        <get-maven-library prefix="junit" lib="junit" version="4.12" bin="false"/>
        <get-maven-library prefix="org/hamcrest" lib="hamcrest-core" version="1.3" bin="false"/>

        <!-- Android SDK platform -->
        <ant antfile="download_android_sdk.xml" target="download_android_sdk"/>

        <!-- Javaslang -->
        <get-maven-library prefix="io/javaslang" lib="javaslang" version="2.0.6"/>

        <!-- Uast -->
        <property name="uast.server" value="http://dl.bintray.com/kotlin/uast"/>
        <get-maven-library prefix="org/jetbrains/uast" lib="uast-tests" version="${uast.version}" target.jar.name.base="uast-tests" server="${uast.server}"/>

        <get-maven-library-with-dependencies
            group="org.robolectric"
            artifact="robolectric"
            version="3.1"
            target.dir="robolectric"/>

        <get-maven-library prefix="org/apache/maven" lib="maven-ant-tasks" version="2.1.3"
                           target.jar.name.base="maven-ant-tasks" download="${dependencies}/robolectric" />

        <!-- kotlinx.coroutines -->
        <get-maven-library prefix="org/jetbrains/kotlinx" lib="kotlinx-coroutines-core" version="${kotlinx.coroutines.version}"
                           target.jar.name.base="kotlinx-coroutines-core" server="http://dl.bintray.com/kotlin/kotlinx/"/>

        <get-maven-library prefix="org/jetbrains/kotlinx" lib="kotlinx-coroutines-jdk8" version="${kotlinx.coroutines.version}"
                           target.jar.name.base="kotlinx-coroutines-jdk8" server="http://dl.bintray.com/kotlin/kotlinx/"/>


        <delete file="${dependencies}/android.jar" failonerror="false"/>
        <get src="http://dl-ssl.google.com/android/repository/android-19_r02.zip"
             dest="${dependencies}/download/android-sdk.zip" usetimestamp="true"/>
        <unzip src="${dependencies}/download/android-sdk.zip" dest="${dependencies}">
            <patternset>
                <include name="**/android.jar"/>
            </patternset>
            <mapper type="flatten"/>
        </unzip>

        <get-protobuf-and-rename-packages/>

        <download_teamcity_artifact
            teamcity.server.url="https://teamcity.jetbrains.com"
            build.locator.request="${markdown.locator}"
            artifact.path="markdown_jar/markdown.jar"
            dest="${dependencies}/markdown.jar"
            usetimestamp="true"
            build.number.pattern="\d+\s-\sKotlin\s[\w-+\.]+"
        />

        <!-- node.js -->
        <antcall target="download-nodejs-and-npm"/>

        <!-- JSON.org -->
        <get src="https://repo.maven.apache.org/maven2/org/json/json/20160807/json-20160807.jar" dest="${dependencies}/json-org.jar"/>
    </target>

    <macrodef name="get-protobuf-and-rename-packages">
        <sequential>
            <macrodef name="rename-packages-in-binaries">
                <attribute name="target.jar"/>
                <attribute name="source.jar"/>

                <sequential>
                    <delete file="@{target.jar}" failonerror="false"/>
                    <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="${dependencies}/jarjar.jar"/>
                    <jarjar jarfile="@{target.jar}" filesonly="true">
                        <zipfileset src="@{source.jar}">
                            <exclude name="META-INF/maven/com.google.protobuf/protobuf-java/pom.properties"/>
                        </zipfileset>
                        <rule pattern="com.google.protobuf.**" result="org.jetbrains.kotlin.protobuf.@1"/>
                    </jarjar>
                </sequential>
            </macrodef>

            <macrodef name="rename-packages-in-sources">
                <attribute name="target.jar"/>
                <attribute name="source.jar"/>

                <sequential>
                    <local name="tmp.src"/>
                    <property name="tmp.src" value="${dependencies}/download/protobuf-src"/>

                    <delete dir="${tmp.src}" failonerror="false"/>
                    <unzip src="@{source.jar}" dest="${tmp.src}">
                        <patternset includes="**/*"/>
                    </unzip>

                    <replaceregexp match="com\.google\.protobuf" replace="org.jetbrains.kotlin.protobuf" flags="g">
                        <fileset dir="${tmp.src}/" includes="**/*.java"/>
                    </replaceregexp>

                    <move file="${tmp.src}/com/google/protobuf"
                          tofile="${tmp.src}/org/jetbrains/kotlin/protobuf"/>

                    <delete file="@{target.jar}" failonerror="false"/>
                    <zip destfile="@{target.jar}" basedir="${tmp.src}"/>
                </sequential>
            </macrodef>

            <property name="protobuf.version" value="2.6.1"/>

            <!-- Download protobuf and rename packages -->
            <get-maven-library prefix="com/google/protobuf" lib="protobuf-java" version="${protobuf.version}"/>
            <delete file="${dependencies}/protobuf-java-${protobuf.version}.jar"/>
            <delete file="${dependencies}/protobuf-java-${protobuf.version}-sources.jar"/>

            <rename-packages-in-binaries
                source.jar="${dependencies}/download/protobuf-java-${protobuf.version}.jar"
                target.jar="${dependencies}/protobuf-${protobuf.version}.jar"
            />

            <rename-packages-in-sources
                source.jar="${dependencies}/download/protobuf-java-${protobuf.version}-sources.jar"
                target.jar="${dependencies}/protobuf-${protobuf.version}-sources.jar"
            />
        </sequential>
    </macrodef>

    <macrodef name="execute_update_with_idea_maven_artifacts">
        <attribute name="base.url"/>
        <attribute name="idea.maven.version"/>

        <sequential>
            <get src="@{base.url}/BUILD/@{idea.maven.version}/BUILD-@{idea.maven.version}.txt" dest="${dependencies}/version.txt"/>
            <loadfile property="execute.build.id" srcFile="${dependencies}/version.txt"/>

            <condition property="idea.sdk.exists">
                <available file="${idea.dir}/build.txt"/>
            </condition>

            <loadfile property="idea.sdk.version" srcFile="${idea.dir}/build.txt" if:set="idea.sdk.exists"/>

            <condition property="edition.matched">
                <equals arg1="${idea.sdk.version}" arg2="${sdk.version.prefix}-${execute.build.id}"/>
            </condition>

            <local name="idea.already.downloaded"/>
            <condition property="idea.already.downloaded">
                <and>
                    <equals arg1="${dependencies.info.prev.idea.build.id}" arg2="${execute.build.id}"/>
                    <istrue value="${edition.matched}"/>
                </and>
            </condition>

            <echo message="IDEA build id: ${execute.build.id}. Already downloaded." if:set="idea.already.downloaded"/>

            <sequential unless:set="idea.already.downloaded">
                <echo message="IDEA build id: ${execute.build.id}, previous build id: ${dependencies.info.prev.idea.build.id}"/>

                <delete dir="${idea.dir}" unless:set="edition.matched">
                    <exclude name="config-idea/**"/>
                    <exclude name="system-idea/**"/>
                </delete>

                <download_and_update_idea idea.maven.version="@{idea.maven.version}" base.repository.url="@{base.url}"/>

                <propertyfile file="${dependencies.info.file}">
                    <entry key="idea.build.id" value="${execute.build.id}"/>
                </propertyfile>
            </sequential>
        </sequential>
    </macrodef>

    <macrodef name="execute_update_with_idea_teamcity_artifacts">
        <attribute name="teamcity.server.url"/>
        <attribute name="build.locator.request"/>

        <sequential>
            <loadresource property="execute.build.id">
                <url url="@{teamcity.server.url}/guestAuth/app/rest/builds/?locator=@{build.locator.request},count:1"/>
                <filterchain>
                    <tokenfilter>
                        <filetokenizer/>
                        <replaceregex pattern="^(.*)\sid=&quot;(\d+)&quot;(.*)$" replace="\2" flags="s"/>
                    </tokenfilter>
                </filterchain>
            </loadresource>

            <local name="idea.already.downloaded"/>
            <condition property="idea.already.downloaded">
                <equals arg1="${dependencies.info.prev.idea.build.id}" arg2="${execute.build.id}"/>
            </condition>

            <echo message="IDEA build id: ${execute.build.id}. Already downloaded." if:set="idea.already.downloaded"/>

            <sequential unless:set="idea.already.downloaded">
                <echo message="IDEA build id: ${execute.build.id}, previous build id: ${dependencies.info.prev.idea.build.id}"/>
                <download_and_update_idea_teamcity base.url="@{teamcity.server.url}/guestAuth/app/rest/builds/id:${execute.build.id}"/>

                <propertyfile file="${dependencies.info.file}">
                    <entry key="idea.build.id" value="${execute.build.id}"/>
                </propertyfile>
            </sequential>
        </sequential>
    </macrodef>

    <macrodef name="download_teamcity_artifact">
        <attribute name="teamcity.server.url"/>
        <attribute name="build.locator.request"/>
        <attribute name="artifact.path"/>
        <attribute name="dest"/>
        <attribute name="usetimestamp"/>
        <attribute name="build.number.pattern" default="[\w-+\.]+"/>

        <sequential>
            <local name="artifact.build.id"/>

            <local name="build.request.url"/>
            <property name="build.request.url"
                      value="@{teamcity.server.url}/guestAuth/app/rest/builds/?locator=@{build.locator.request},count:1"/>

            <echo message="Requested URL ${build.request.url}"/>

            <loadresource property="artifact.build.id">
                <url url="${build.request.url}"/>
                <filterchain>
                    <tokenfilter>
                        <filetokenizer/>
                        <replaceregex pattern="^(.*)\sid=&quot;(\d+)&quot;(.*)$" replace="\2" flags="s"/>
                    </tokenfilter>
                </filterchain>
            </loadresource>

            <local name="processed.artifact.path"/>

            <local name="artifact.build.number"/>
            <loadresource property="artifact.build.number">
                <url url="${build.request.url}"/>
                <filterchain>
                    <tokenfilter>
                        <filetokenizer/>
                        <replaceregex pattern="^(.*)\snumber=&quot;(@{build.number.pattern})&quot;(.*)$" replace="\2" flags="s"/>
                    </tokenfilter>
                </filterchain>
            </loadresource>

            <loadresource property="processed.artifact.path">
                <string value="@{artifact.path}"/>
                <filterchain>
                    <replacestring from="{build.number}" to="${artifact.build.number}"/>
                </filterchain>
            </loadresource>

            <echo message="Build Number: ${artifact.build.number} Build Id: ${artifact.build.id}"/>

            <get
                src="@{teamcity.server.url}/guestAuth/app/rest/builds/id:${artifact.build.id}/artifacts/content/${processed.artifact.path}"
                dest="@{dest}" usetimestamp="@{usetimestamp}"/>
        </sequential>
    </macrodef>

    <macrodef name="configure_idea_sdk_dir">
        <attribute name="idea.dir"/>
        <attribute name="idea.sdk.fetch.needed"/>

        <attribute name="download.dir.intellij-core"/>
        <attribute name="download.dir.jps-standalone"/>

        <attribute name="download.file.archive.idea"/>

        <attribute name="download.file.archive.sources"/>
        <attribute name="download.file.archive.jps-build-test"/>

        <attribute name="core" default="@{idea.dir}/core"/>
        <attribute name="jps" default="@{idea.dir}/jps"/>
        <attribute name="jps-test" default="@{jps}/test"/>
        <attribute name="sources" default="@{idea.dir}/sources"/>

        <sequential>
            <sequential if:true="@{idea.sdk.fetch.needed}">
                <delete dir="@{idea.dir}" failonerror="false">
                    <exclude name="config-idea/**"/>
                    <exclude name="system-idea/**"/>
                </delete>

                <unzip src="@{download.file.archive.idea}" dest="@{idea.dir}" />

                <sequential if:set="isMac">
                    <!-- Java can't manipulate permissions -->
                    <exec executable="chmod">
                        <arg value="a+x"/>
                        <arg path="@{idea.dir}/bin/mac/fsnotifier"/>
                        <arg path="@{idea.dir}/bin/inspect.sh"/>
                        <arg path="@{idea.dir}/bin/printenv.py"/>
                        <arg path="@{idea.dir}/bin/restarter"/>
                    </exec>
                </sequential>

                <sequential if:set="isLinux">
                    <!-- Java can't manipulate permissions -->
                    <exec executable="chmod">
                        <arg value="a+x"/>
                        <arg path="@{idea.dir}/bin/linux/fsnotifier"/>
                        <arg path="@{idea.dir}/bin/linux/fsnotifier64"/>
                        <arg path="@{idea.dir}/bin/inspect.sh"/>
                        <arg path="@{idea.dir}/bin/idea.sh"/>
                    </exec>
                </sequential>

                <!--
                     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="@{idea.dir}/lib/junit.jar"/>

                <!--
                Plugin depends on newer runtime and reflect jar from our bootstrap compiler.
                Avoid depending on old runtime during build phase but attach original runtime when idea starts.
                -->
                <mkdir dir="@{idea.dir}/idea-kotlin-runtime"/>
                <move file="@{idea.dir}/lib/kotlin-runtime.jar" todir="@{idea.dir}/idea-kotlin-runtime"/>
                <move file="@{idea.dir}/lib/kotlin-reflect.jar" todir="@{idea.dir}/idea-kotlin-runtime"/>

                <delete dir="@{idea.dir}/plugins/Kotlin"/>

                <echo message="@{download.dir.intellij-core}/intellij-core-analysis.jar"/>

                <mkdir dir="@{core-analysis}"/>
                <copy file="@{download.dir.intellij-core}/intellij-core-analysis.jar"
                      tofile="@{core-analysis}/intellij-core-analysis.jar"
                      verbose="true"/>

                <copy_intellij_core_files core="@{core}" download.dir.intellij-core="@{download.dir.intellij-core}" idea.dir="@{idea.dir}" />

                <copy_intellij_jps_files download.dir.jps-standalone="@{download.dir.jps-standalone}" jps="@{jps}" />

                <mkdir dir="@{jps-test}"/>
                <copy file="@{download.file.archive.jps-build-test}" tofile="@{jps-test}/jps-build-test.jar"/>

                <mkdir dir="@{sources}"/>
                <copy file="@{download.file.archive.sources}" tofile="@{sources}/sources.jar" overwrite="true" failonerror="false"/>
            </sequential>
        </sequential>
    </macrodef>

    <macrodef name="copy_intellij_core_files">
        <attribute name="core" />
        <attribute name="download.dir.intellij-core" />
        <attribute name="idea.dir" />
        <attribute name="xstream.version" default="1.4.3" />

        <sequential>
            <mkdir dir="@{core}"/>
            <copy todir="@{core}" flatten="true" verbose="true">
                <resources>
                    <file file="@{download.dir.intellij-core}/intellij-core.jar"/>
                    <file file="@{download.dir.intellij-core}/annotations.jar"/>
                    <file file="@{download.dir.intellij-core}/guava-19.0.jar"/>
                    <file file="@{download.dir.intellij-core}/picocontainer.jar"/>
                    <file file="@{download.dir.intellij-core}/trove4j.jar"/>

                    <file file="@{idea.dir}/lib/jdom.jar"/>
                    <file file="@{idea.dir}/lib/jna.jar"/>
                    <file file="@{idea.dir}/lib/log4j.jar"/>
                    <file file="@{idea.dir}/lib/xstream-1.4.8.jar"/>
                    <file file="@{idea.dir}/lib/xpp3-1.1.4-min.jar"/>
                    <file file="@{idea.dir}/lib/asm-all.jar"/>
                    <file file="@{idea.dir}/lib/snappy-in-java-0.5.1.jar"/>

                        <!-- TODO temporary workaround since util-rt is not packaged into intellij-core.jar -->
                        <file file="@{idea.dir}/lib/util.jar"/>
                    </resources>
                </copy></sequential>
    </macrodef>

    <macrodef name="copy_intellij_jps_files">
        <attribute name="jps" />
        <attribute name="download.dir.jps-standalone" />

        <sequential>
            <mkdir dir="@{jps}"/>
            <copy todir="@{jps}" flatten="true" verbose="true">
                <resources>
                    <file file="@{download.dir.jps-standalone}/groovy-jps-plugin.jar"/>
                    <file file="@{download.dir.jps-standalone}/groovy_rt.jar"/>
                    <file file="@{download.dir.jps-standalone}/jdom.jar"/>
                    <file file="@{download.dir.jps-standalone}/jgoodies-forms.jar"/>
                    <file file="@{download.dir.jps-standalone}/jna.jar"/>
                    <file file="@{download.dir.jps-standalone}/jps-builders.jar"/>
                    <file file="@{download.dir.jps-standalone}/jps-builders-6.jar"/>
                    <file file="@{download.dir.jps-standalone}/jps-model.jar"/>
                    <file file="@{download.dir.jps-standalone}/log4j.jar"/>
                    <file file="@{download.dir.jps-standalone}/nanoxml-2.2.3.jar"/>
                    <file file="@{download.dir.jps-standalone}/trove4j.jar"/>
                    <file file="@{download.dir.jps-standalone}/ui-designer-jps-plugin.jar"/>
                    <file file="@{download.dir.jps-standalone}/util.jar"/>
                </resources>
            </copy>
        </sequential>
    </macrodef>

    <macrodef name="download_and_update_idea">
        <attribute name="idea.maven.version"/>
        <attribute name="base.repository.url"/>

        <attribute name="download.dir" default="${dependencies}/idea${ideaVersion}"/>

        <sequential>
            <delete dir="@{download.dir}"/>
            <mkdir dir="@{download.dir}"/>

            <property name="idea.id" value="idea${sdk.version.prefix}"/>

            <get src="@{base.repository.url}/ideaIC/@{idea.maven.version}/ideaIC-@{idea.maven.version}-sources.jar"
                 dest="@{download.dir}/ideaIC-@{idea.maven.version}-sources.jar" usetimestamp="true" ignoreerrors="true"/>

            <get src="@{base.repository.url}/${idea.id}/@{idea.maven.version}/${idea.id}-@{idea.maven.version}.zip"
                 dest="@{download.dir}/${idea.id}-@{idea.maven.version}.zip" usetimestamp="true"/>

            <download_and_unzip
                dir="@{download.dir}/intellij-core-@{idea.maven.version}"
                url="@{base.repository.url}/intellij-core/@{idea.maven.version}/intellij-core-@{idea.maven.version}.zip"
                usetimestamp="true"/>

            <get src="@{base.repository.url}/jps-build-test/@{idea.maven.version}/jps-build-test-@{idea.maven.version}.jar"
                 dest="@{download.dir}/jps-build-test-@{idea.maven.version}.jar" usetimestamp="true"/>

            <download_and_unzip
                dir="@{download.dir}/jps-standalone-@{idea.maven.version}"
                url="@{base.repository.url}/jps-standalone/@{idea.maven.version}/jps-standalone-@{idea.maven.version}.zip"
                usetimestamp="true"/>

            <configure_idea_sdk_dir
                idea.dir="${idea.dir}"
                idea.sdk.fetch.needed="${idea.sdk.fetch.needed}"

                download.dir.intellij-core="@{download.dir}/intellij-core-@{idea.maven.version}"
                download.dir.jps-standalone="@{download.dir}/jps-standalone-@{idea.maven.version}"
                download.file.archive.idea="@{download.dir}/${idea.id}-@{idea.maven.version}.zip"
                download.file.archive.sources="@{download.dir}/ideaIC-@{idea.maven.version}-sources.jar"
                download.file.archive.jps-build-test="@{download.dir}/jps-build-test-@{idea.maven.version}.jar"/>
        </sequential>
    </macrodef>

    <macrodef name="download_and_update_idea_teamcity">
        <attribute name="base.url"/>

        <sequential>
            <loadresource property="idea.build.number">
                <url url="@{base.url}/artifacts/children"/>
                <filterchain>
                    <tokenfilter>
                        <filetokenizer/>

                        <replaceregex pattern="^(.*)ideaIC-([\w\.]+)\.win\.zip(.*)$" replace="\2" flags="s"/>
                    </tokenfilter>
                </filterchain>
            </loadresource>

            <property name="idea.archive.name" value="ideaIC-${idea.build.number}.zip"/>

            <echo message="IDEA build number: ${idea.build.number}"/>
            <echo message="IDEA archive file: ${idea.archive.name}"/>

            <property name="content.base.url" value="@{base.url}/artifacts/content"/>
            <property name="idea.download.dir" value="${dependencies}/idea" />
            <property name="jps.extracted.dir" value="${idea.download.dir}/standalone-jps"/>
            <property name="core.dir" value="${idea.download.dir}/core"/>

            <sequential if:true="${idea.sdk.fetch.needed}">
                <delete dir="${idea.download.dir}"/>
                <mkdir dir="${idea.download.dir}"/>

                <get src="${content.base.url}/jps/standalone-jps-IC-${idea.build.number}.zip"
                     dest="${idea.download.dir}/standalone-jps.zip"/>
                <unzip src="${idea.download.dir}/standalone-jps.zip"
                       dest="${jps.extracted.dir}"/>

                <delete file="${idea.download.dir}/${idea.archive.name}" failonerror="false"/>
                <get src="${content.base.url}/${idea.archive.name}"
                     dest="${idea.download.dir}/${idea.archive.name}"/>

                <get src="${content.base.url}/jps/jps-build-test-IC-${idea.build.number}.jar"
                     dest="${idea.download.dir}/jps-build-test.jar"
                     usetimestamp="true"/>

                <mkdir dir="${core.dir}"/>
                <get src="${content.base.url}/core/intellij-core.jar" dest="${core.dir}/intellij-core.jar"/>
                <get src="${content.base.url}/core/annotations.jar" dest="${core.dir}/annotations.jar"/>
                <get src="${content.base.url}/core/guava-19.0.jar" dest="${core.dir}/guava-19.0.jar"/>
                <get src="${content.base.url}/core/picocontainer.jar" dest="${core.dir}/picocontainer.jar"/>
                <get src="${content.base.url}/core/trove4j.jar" dest="${core.dir}/trove4j.jar"/>

                <delete file="${idea.download.dir}/idea-sdk-sources.jar" failonerror="false"/>
                <get src="${content.base.url}/sources.zip" dest="${idea.download.dir}/idea-sdk-sources.jar"/>
            </sequential>

            <configure_idea_sdk_dir
                idea.dir="${idea.dir}"
                idea.sdk.fetch.needed="${idea.sdk.fetch.needed}"

                download.dir.intellij-core="${core.dir}"
                download.dir.jps-standalone="${jps.extracted.dir}"
                download.file.archive.idea="${idea.download.dir}/${idea.archive.name}"
                download.file.archive.sources="${idea.download.dir}/idea-sdk-sources.jar"
                download.file.archive.jps-build-test="${idea.download.dir}/jps-build-test.jar"/>
        </sequential>
    </macrodef>

    <macrodef name="download_and_unzip">
        <attribute name="url"/>
        <attribute name="dir"/>
        <attribute name="usetimestamp"/>

        <sequential>
            <get src="@{url}" dest="@{dir}.zip" usetimestamp="@{usetimestamp}"/>

            <local name="need.unpack"/>
            <condition property="need.unpack">
                <not>
                    <available file="@{dir}" type="dir"/>
                </not>
            </condition>

            <unzip src="@{dir}.zip" dest="@{dir}" if:set="need.unpack"/>
            <echo message="Folder exist - so not unpacked @{dir}" unless:set="need.unpack"/>
        </sequential>
    </macrodef>

    <!--
    Currently we use empty annotations.
    Future options are:
      - Drop the target when will be sure that custom annotations are unneeded
      - Fill the target with downloading correct annotations
    -->
    <target name="fetch-annotations"/>

    <target name="get_android_studio">
        <condition property="android.os.tag" value="windows">
            <os family="windows"/>
        </condition>

        <condition property="android.os.tag" value="mac">
            <os family="mac"/>
        </condition>

        <condition property="strip.dirs.count" value="2">
            <os family="mac"/>
        </condition>

        <condition property="strip.dirs.count" value="1">
            <not>
                <os family="mac"/>
            </not>
        </condition>

        <condition property="android.os.tag" value="linux">
            <and>
                <os family="unix"/>
                <not>
                    <os family="mac"/>
                </not>
            </and>
        </condition>

        <local name="have.android.studio.version"/>
        <condition property="have.android.studio.version">
            <and>
                <isset property="android.studio.version"/>
                <isset property="android.studio.build.number"/>
            </and>
        </condition>

        <sequential unless:set="have.android.studio.version">
            <loadresource property="android.studio.version">
                <url url="https://developer.android.com/studio/preview/index.html"/>
                <filterchain>
                    <tokenfilter>
                        <filetokenizer/>
                        <replaceregex
                            pattern="^(.*?)https?://dl\.google\.com/dl/android/studio/ide-zips/(${android.studio.major.version}\.[\d\.]+)/android-studio-ide(.*)$"
                            replace="\2" flags="s"/>
                    </tokenfilter>
                </filterchain>
            </loadresource>
            <loadresource property="android.studio.build.number">
                <url url="https://developer.android.com/studio/preview/index.html"/>
                <filterchain>
                    <tokenfilter>
                        <filetokenizer/>
                        <replaceregex
                            pattern="^(.*?)https?://dl\.google\.com/dl/android/studio/ide-zips/${android.studio.major.version}\.[\d\.]+/android-studio-ide-([\d\.]+)-(.*)$"
                            replace="\2" flags="s"/>
                    </tokenfilter>
                </filterchain>
            </loadresource>
        </sequential>

        <echo message="Download android studio: ${android.studio.version} ${android.studio.build.number}"/>

        <property name="android.file.name" value="android-studio-ide-${android.studio.build.number}-${android.os.tag}.zip"/>
        <property name="android.studio.url"
                  value="http://dl.google.com/dl/android/studio/ide-zips/${android.studio.version}/${android.file.name}"/>
        <property name="android.download.dir" value="${dependencies}/android-studio"/>
        <property name="android.destination.dir" value="ideaSDK"/>

        <mkdir dir="${android.download.dir}"/>

        <get src="${android.studio.url}" dest="${android.download.dir}" usetimestamp="true"/>

        <delete dir="${android.destination.dir}" failonerror="false" includeemptydirs="true">
            <exclude name="config/**"/>
            <exclude name="system/**"/>
        </delete>

        <unzip src="${android.download.dir}/${android.file.name}" dest="${android.destination.dir}">
            <cutdirsmapper dirs="${strip.dirs.count}"/>
        </unzip>

        <!-- Delete bundled to AS Kotlin plugin -->
        <delete dir="${android.destination.dir}/plugins/Kotlin" failonerror="false" includeemptydirs="true" />

        <local name="android.studio.mac"/>
        <condition property="android.studio.mac">
            <matches pattern=".+mac\.zip" string="${android.file.name}"/>
        </condition>

        <local name="android.studio.linux"/>
        <condition property="android.studio.linux">
            <matches pattern=".+linux\.zip" string="${android.file.name}"/>
        </condition>

        <exec executable="chmod" if:set="android.studio.mac">
            <arg value="-R"/>
            <arg value="a+x"/>
            <arg path="${android.destination.dir}/bin/"/>
            <!-- Needed to run gradle -->
            <arg path="${android.destination.dir}/jre/jdk/Contents/Home/bin/"/>
            <arg path="${android.destination.dir}/jre/jdk/Contents/Home/lib/"/>
            <arg path="${android.destination.dir}/jre/jdk/Contents/Home/jre/bin/"/>
            <arg path="${android.destination.dir}/jre/jdk/Contents/Home/jre/lib/"/>
        </exec>

        <exec executable="chmod" if:set="android.studio.linux">
            <arg value="a+x"/>
            <arg path="${android.destination.dir}/bin/fsnotifier"/>
            <arg path="${android.destination.dir}/bin/fsnotifier64"/>
            <arg path="${android.destination.dir}/bin/inspect.sh"/>
            <arg path="${android.destination.dir}/bin/studio.sh"/>
        </exec>

        <!--
        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="${android.destination.dir}/lib/junit.jar"/>

        <!--
        Plugin depends on newer runtime and reflect jar from our bootstrap compiler.
        Avoid depending on old runtime during build phase but attach original runtime when idea starts.
        -->
        <mkdir dir="${android.destination.dir}/idea-kotlin-runtime"/>
        <move file="${android.destination.dir}/lib/kotlin-runtime.jar" todir="${android.destination.dir}/idea-kotlin-runtime"/>
        <move file="${android.destination.dir}/lib/kotlin-reflect.jar" todir="${android.destination.dir}/idea-kotlin-runtime"/>

        <property name="as.core.dir" value="${android.destination.dir}/core"/>
        <property name="as.lib.dir" value="${android.destination.dir}/lib"/>

        <property name="base.repository.url" value="https://www.jetbrains.com/intellij-repository/releases/com/jetbrains/intellij/idea"/>

        <get
            src="${base.repository.url}/intellij-core/${android.studio.intellij-core.build.number}/intellij-core-${android.studio.intellij-core.build.number}.zip"
            dest="${android.download.dir}/intellij-core-${android.studio.intellij-core.build.number}.zip"
            usetimestamp="true"/>
        <unzip src="${android.download.dir}/intellij-core-${android.studio.intellij-core.build.number}.zip" dest="${android.download.dir}/intellij-core" />

        <get
            src="${base.repository.url}/jps-standalone/${android.studio.intellij-core.build.number}/jps-standalone-${android.studio.intellij-core.build.number}.zip"
            dest="${android.download.dir}/jps-standalone-${android.studio.intellij-core.build.number}.zip"
            usetimestamp="true"/>

        <unzip src="${android.download.dir}/jps-standalone-${android.studio.intellij-core.build.number}.zip" dest="${android.download.dir}/jps-standalone" />

        <copy_intellij_core_files idea.dir="${android.destination.dir}"
                                  download.dir.intellij-core="${android.download.dir}/intellij-core"
                                  core="${android.destination.dir}/core"
                                  xstream.version="1.4.8" />

        <copy_intellij_jps_files jps="${android.destination.dir}/jps" download.dir.jps-standalone="${android.download.dir}/jps-standalone" />

        <mkdir dir="${android.destination.dir}/core-analysis"/>
        <copy file="${android.download.dir}/intellij-core/intellij-core-analysis.jar"
              tofile="${android.destination.dir}/core-analysis/intellij-core-analysis.jar"/>
    </target>

    <target name="override-version">
        <condition property="need.version.override">
            <and>
                <isset property="override.version.url"/>
                <equals arg1="${override.version.branch}" arg2="${teamcity.build.branch}"/>
                <not>
                    <isset property="override.version.disabled"/>
                </not>
                <not>
                    <istrue value="${bootstrap.build.no.tests}"/>
                </not>
                <isset property="teamcity.version"/>
            </and>
        </condition>

        <sequential if:set="need.version.override">
            <local name="override.version.build.number"/>
            <loadresource property="override.version.build.number">
                <url url="${override.version.url}"/>
                <filterchain>
                    <tokenfilter>
                        <filetokenizer/>
                        <replaceregex pattern="^(.*)\snumber=&quot;([\w-+\.]+)&quot;(.*)$" replace="\2" flags="s"/>
                    </tokenfilter>
                </filterchain>
            </loadresource>

            <echo message="URL: ${override.version.url} Version: ${override.version.build.number}"/>

            <exec executable="${dependencies}/bootstrap-compiler/Kotlin/kotlinc/bin/${kotlinc.executable.path}" failonerror="false">
                <arg value="-cp"/>
                <arg value="${dependencies}/bootstrap-compiler/Kotlin/kotlinc/lib/kotlin-compiler.jar"/>
                <arg value="-script"/>
                <arg value="${generators}/infrastructure/increment-version.kts"/>
                <arg value="${override.version.build.number}"/>
                <arg value="${dependencies}/updated-version.txt"/>
            </exec>

            <loadfile property="updated.version.number" srcFile="${dependencies}/updated-version.txt"/>

            <echo message="##teamcity[buildNumber '${updated.version.number}']"/>
        </sequential>
    </target>
</project>
