<project name="Kotlin" default="dist">
    <include file="jslib_files.xml" />

    <property file="resources/manifest.properties"/>

    <!-- Set to false to disable proguard run on kotlin-compiler.jar. Speeds up the build -->
    <property name="shrink" value="true"/>
    <!-- Set to false to disable compiler's @NotNull assertions. Speeds up the build -->
    <property name="generate.assertions" value="true"/>
    <!-- Set to false to disable compiler's javadoc generation. Speeds up the build -->
    <property name="generate.javadoc" value="true"/>

    <property name="bootstrap.home" value="dependencies/bootstrap-compiler"/>
    <property name="bootstrap.compiler.home" value="${bootstrap.home}/Kotlin/kotlinc"/>
    <property name="bootstrap.runtime" value="${bootstrap.compiler.home}/lib/kotlin-runtime.jar"/>

    <property name="output.relative" value="dist"/>
    <property name="output" value="${basedir}/${output.relative}"/>
    <property name="kotlin-home" value="${output}/kotlinc"/>
    <property name="build.number" value="snapshot"/>
    <property name="bootstrap.build.no.tests" value="false"/>
    <property name="output.name" value="kotlin-compiler-${build.number}"/>
    <property name="idea.sdk" value="${basedir}/ideaSDK"/>

    <property name="java.target" value="1.6"/>

    <property name="external.annotations.path" value="${basedir}/annotations"/>

    <property name="dependencies.dir" value="${basedir}/dependencies"/>

    <path id="classpath">
        <file file="${bootstrap.runtime}"/>
        <fileset dir="${idea.sdk}" includes="core/*.jar"/>
        <fileset dir="${idea.sdk}" includes="lib/protobuf-2.5.0.jar"/>

        <fileset dir="${basedir}/lib" includes="**/*.jar"/>
        <fileset dir="${dependencies.dir}" includes="jline.jar"/>
        <fileset dir="${dependencies.dir}" includes="jansi.jar"/>
        <fileset dir="${dependencies.dir}" includes="cli-parser-1.1.1.jar"/>
        <fileset dir="${basedir}/ideaSDK/jps" includes="jps-model.jar"/>
    </path>

    <typedef resource="org/jetbrains/jet/buildtools/ant/antlib.xml" classpath="${bootstrap.compiler.home}/lib/kotlin-ant.jar"/>
    <taskdef resource="net/sf/antcontrib/antcontrib.properties" classpath="${dependencies.dir}/ant-contrib.jar"/>

    <taskdef name="javac2" classname="org.apache.tools.ant.taskdefs.Javac"/>
    <if>
        <istrue value="${generate.assertions}"/>
        <then>
            <path id="javac2.classpath">
                <pathelement location="${idea.sdk}/lib/javac2.jar"/>
                <pathelement location="${idea.sdk}/lib/asm-all.jar"/>
            </path>
            <taskdef name="javac2" classname="com.intellij.ant.Javac2" classpathref="javac2.classpath"/>
            <echo message="Use javac2 from Idea lib"/>
        </then>
        <else>
            <echo message="Use default javac compiler"/>
        </else>
    </if>

    <dirset id="compilerSources.dirset" dir="${basedir}/">
        <include name="compiler/frontend/src"/>
        <include name="core/descriptors/src"/>
        <include name="core/serialization/src"/>
        <include name="core/descriptor.loader.java/src"/>
        <include name="compiler/frontend.java/src"/>
        <include name="core/serialization.java/src"/>
        <include name="compiler/backend-common/src"/>
        <include name="compiler/backend/src"/>
        <include name="compiler/cli/src"/>
        <include name="compiler/cli/cli-common/src"/>
        <include name="compiler/util/src"/>
        <include name="core/util.runtime/src"/>
        <!--<include name="j2k/src"/>-->
        <include name="compiler/jet.as.java.psi/src"/>
        <include name="compiler/builtins-serializer"/>

        <include name="js/js.dart-ast/src"/>
        <include name="js/js.translator/src"/>
        <include name="js/js.frontend/src"/>
        <include name="js/js.inliner/src"/>
    </dirset>

    <property name="idea.out" value="${basedir}/out/production"/>
    <patternset id="compilerClassesFromIDEA.fileset">
        <include name="frontend/**"/>
        <include name="descriptors/**"/>
        <include name="serialization/**"/>
        <include name="descriptor.loader.java/**"/>
        <include name="frontend.java/**"/>
        <include name="serialization.java/**"/>
        <include name="backend/**"/>
        <include name="backend-common/**"/>
        <include name="cli/**"/>
        <include name="cli-common/**"/>
        <include name="util/**"/>
        <include name="util.runtime/**"/>
        <include name="jet.as.java.psi/**"/>
        <include name="builtins-serializer/**"/>

        <include name="js.dart-ast/**"/>
        <include name="js.translator/**"/>
        <include name="js.frontend/**"/>
        <include name="js.inliner/**"/>
    </patternset>

    <path id="compilerSources.path">
        <dirset refid="compilerSources.dirset"/>
    </path>

    <path id="preloaderSources.path">
        <dirset dir="compiler/preloader/src"/>
    </path>

    <macrodef name="cleandir">
        <attribute name="dir"/>

        <sequential>
            <echo message="Cleaning @{dir}"/>
            <delete dir="@{dir}" failonerror="false"/>
            <mkdir dir="@{dir}"/>
        </sequential>
    </macrodef>

    <target name="clean">
        <delete dir="${output}"/>
    </target>

    <target name="init">
        <mkdir dir="${kotlin-home}"/>
        <mkdir dir="${kotlin-home}/lib"/>
    </target>

    <target name="prepareDist">
        <copy todir="${kotlin-home}/bin">
            <fileset dir="${basedir}/compiler/cli/bin"/>
        </copy>
        <fixcrlf srcdir="${kotlin-home}/bin" excludes="**/*.bat" eol="unix"/>

        <copy todir="${kotlin-home}/license">
            <fileset dir="${basedir}/license"/>
        </copy>

        <echo file="${kotlin-home}/build.txt" message="${build.number}"/>

        <chmod dir="${kotlin-home}/bin" excludes="**/*.bat" perm="755"/>
    </target>

    <target name="compilerSources">
        <jar jarfile="${output}/kotlin-compiler-sources.jar">
            <!-- TODO How to convert it from pathset or dirset ? -->
            <fileset dir="compiler/frontend/src"/>
            <fileset dir="core/descriptors/src"/>
            <fileset dir="core/descriptor.loader.java/src"/>
            <fileset dir="core/serialization/src"/>
            <fileset dir="core/serialization.java/src"/>
            <fileset dir="compiler/frontend.java/src"/>
            <fileset dir="compiler/backend-common/src"/>
            <fileset dir="compiler/backend/src"/>
            <fileset dir="compiler/cli/src"/>
            <fileset dir="j2k/src"/>
            <fileset dir="compiler/util/src"/>
            <fileset dir="core/util.runtime/src"/>
            <fileset dir="compiler/jet.as.java.psi/src"/>
            <fileset dir="compiler/builtins-serializer"/>
            <fileset dir="js/js.dart-ast/src"/>
            <fileset dir="js/js.translator/src"/>
            <fileset dir="js/js.frontend/src"/>
            <fileset dir="js/js.inliner/src"/>
            <zipfileset file="${kotlin-home}/build.txt" prefix="META-INF"/>

            <manifest>
                <attribute name="Built-By" value="${manifest.impl.vendor}"/>

                <attribute name="Implementation-Vendor" value="${manifest.impl.vendor}"/>
                <attribute name="Implementation-Title" value="${manifest.impl.title.kotlin.compiler.sources}"/>
                <attribute name="Implementation-Version" value="${build.number}"/>
            </manifest>
        </jar>

        <if>
            <istrue value="${generate.javadoc}"/>

            <then>
                <delete dir="${output}/kotlin-compiler-javadoc" failonerror="false"/>
                <javadoc destdir="${output}/kotlin-compiler-javadoc"
                         sourcepathref="compilerSources.path"
                         classpathref="classpath"
                         linksource="yes"
                         windowtitle="${manifest.impl.title.kotlin.compiler}"/>
                <jar jarfile="${output}/kotlin-compiler-javadoc.jar">
                    <fileset dir="${output}/kotlin-compiler-javadoc"/>
                    <zipfileset file="${kotlin-home}/build.txt" prefix="META-INF"/>

                    <manifest>
                        <attribute name="Built-By" value="${manifest.impl.vendor}"/>

                        <attribute name="Implementation-Vendor" value="${manifest.impl.vendor}"/>
                        <attribute name="Implementation-Title" value="${manifest.impl.title.kotlin.compiler.javadoc}"/>
                        <attribute name="Implementation-Version" value="${build.number}"/>
                    </manifest>
                </jar>
            </then>

            <else>
                <jar jarfile="${output}/kotlin-compiler-javadoc.jar">
                    <manifest>
                        <attribute name="Built-By" value="${manifest.impl.vendor}"/>

                        <attribute name="Implementation-Vendor" value="${manifest.impl.vendor}"/>
                        <attribute name="Implementation-Title" value="${manifest.impl.title.kotlin.compiler.javadoc}"/>
                        <attribute name="Implementation-Version" value="${build.number}"/>
                    </manifest>
                </jar>
            </else>
        </if>
    </target>

    <target name="jslib">
        <property name="compiled.stdlib.js" value="stdlib.js" />
        <property name="stdlib.js.dir" value="${basedir}/js/js.translator/testData" />

        <kotlin2js output="${output}/${compiled.stdlib.js}" main="noCall">
            <src>
                <fileset refid="kotlin.builtin.files" />
                <resources refid="js.lib.files" />
            </src>
        </kotlin2js>

        <jar jarfile="${kotlin-home}/lib/kotlin-jslib.jar">
            <resources refid="js.lib.files" />
            <zipfileset file="${kotlin-home}/build.txt" prefix="META-INF"/>

            <manifest>
                <attribute name="Built-By" value="${manifest.impl.vendor}"/>

                <attribute name="Implementation-Vendor" value="${manifest.impl.vendor}"/>
                <attribute name="Implementation-Title" value="${manifest.impl.title.kotlin.javascript.stdlib}"/>
                <attribute name="Implementation-Version" value="${build.number}"/>
            </manifest>
        </jar>

        <taskdef name="closure-compiler"
                 classname="com.google.javascript.jscomp.ant.CompileTask"
                 classpath="${dependencies.dir}/closure-compiler.jar"/>

        <!-- value should be one of: whitespace, simple, advanced -->
        <property name="compilationLevel" value="simple" />
        <!-- value should be one of: default, quiet, verbose -->
        <property name="warningLevel" value="default" />

        <closure-compiler
            compilationLevel="${compilationLevel}"
            prettyprint="true"
            languagein="ECMASCRIPT5_STRICT"
            warning="${warningLevel}"
            output="${kotlin-home}/lib/kotlin.js" >

            <sources dir="${stdlib.js.dir}">
                <file name="kotlin_lib_ecma5.js"/>
                <file name="kotlin_lib.js"/>
                <file name="maps.js"/>
                <file name="long.js"/>
            </sources>

            <sources dir="${output}">
                <file name="${compiled.stdlib.js}"/>
            </sources>

            <sources dir="${stdlib.js.dir}">
                <file name="export_Kotlin_if_possible.js"/>
            </sources>

            <externs dir="${stdlib.js.dir}">
                <file name="externs.js"/>
            </externs>
        </closure-compiler>
    </target>

    <target name="preloader">
        <cleandir dir="${output}/classes/preloader"/>
        <javac2 destdir="${output}/classes/preloader" debug="true" debuglevel="lines,vars,source" includeAntRuntime="false"
                source="${java.target}" target="${java.target}">
            <src refid="preloaderSources.path"/>
        </javac2>

        <jar jarfile="${kotlin-home}/lib/kotlin-preloader.jar">
            <fileset dir="${output}/classes/preloader"/>

            <manifest>
                <attribute name="Built-By" value="${manifest.impl.vendor}"/>

                <attribute name="Implementation-Vendor" value="${manifest.impl.vendor}"/>
                <attribute name="Implementation-Title" value="${manifest.impl.title.kotlin.preloader}"/>
                <attribute name="Implementation-Version" value="${build.number}"/>

                <attribute name="Main-Class" value="org.jetbrains.jet.preloading.Preloader"/>
            </manifest>
        </jar>
    </target>

    <target name="builtins">
        <cleandir dir="${output}/builtins"/>
        <java classname="org.jetbrains.jet.utils.builtinsSerializer.BuiltinsSerializerPackage"
              classpath="${bootstrap.compiler.home}/lib/kotlin-compiler.jar"
              failonerror="true"
              fork="true">
            <assertions>
                <enable/>
            </assertions>
            <arg value="${output}/builtins"/>
            <arg value="core/builtins/native"/>
            <arg value="core/builtins/src"/>
        </java>
    </target>

    <macrodef name="pack_compiler">
        <attribute name="jarfile"/>
        <attribute name="compress" default="true"/>

        <sequential>
            <!--
            For "Compiler and Plugin - Bootstrap - No Tests" configuration the compiler will contain the runtime it was built against, and
            will NOT contain the new runtime in its "Class-Path" attribute. This is done because the new compiler is guaranteed to work
            against the OLD runtime (because the new compiler is just a Kotlin application, compiled by the old compiler with the old
            runtime), but _will not necessarily_ work against the new one.
            However we don't do this on the second run of our distribution, i.e. we do not include the new runtime in the NEWEST compiler.
            This is because there are little to no differences between the new and the newest runtime, and so we assume that our newest
            compiler will work with any of them. Also distributing two runtimes (inside the compiler and a separate one) could cause all
            kinds of problems and confusion for users who include both our compiler and runtime in their classpath
            -->
            <if>
                <istrue value="${bootstrap.build.no.tests}"/>
                <then>
                    <property name="compiler.manifest.class.path" value="."/>
                </then>
                <else>
                    <property name="compiler.manifest.class.path" value="kotlin-runtime.jar"/>
                </else>
            </if>

            <jar jarfile="@{jarfile}" compress="@{compress}" duplicate="preserve">
                <zipfileset src="${bootstrap.runtime}">
                    <include name="**/*.class" if="${bootstrap.build.no.tests}"/>
                </zipfileset>
                <fileset dir="${output}/classes/compiler"/>
                <fileset dir="${output}/builtins">
                    <include name="kotlin/**"/>
                    <exclude name="kotlin/internal/**"/>
                </fileset>
                <fileset dir="${basedir}/compiler/frontend.java/src" includes="META-INF/services/**"/>
                <fileset dir="${basedir}/compiler/backend/src" includes="META-INF/services/**"/>
                <fileset dir="${basedir}/resources" includes="manifest.properties"/>

                <zipgroupfileset dir="${basedir}/lib" includes="*.jar"/>
                <zipgroupfileset dir="${basedir}/ideaSDK/core" includes="*.jar" excludes="util.jar"/>
                <zipgroupfileset dir="${basedir}/ideaSDK/lib" includes="jna-utils.jar"/>
                <zipgroupfileset dir="${basedir}/ideaSDK/lib" includes="oromatcher.jar"/>
                <zipgroupfileset dir="${basedir}/ideaSDK/lib" includes="protobuf-2.5.0.jar"/>
                <zipgroupfileset dir="${basedir}/ideaSDK/jps" includes="jps-model.jar"/>
                <zipgroupfileset dir="${dependencies.dir}" includes="jline.jar"/>
                <zipgroupfileset dir="${dependencies.dir}" includes="cli-parser-1.1.1.jar"/>

                <manifest>
                    <attribute name="Built-By" value="${manifest.impl.vendor}"/>

                    <attribute name="Implementation-Vendor" value="${manifest.impl.vendor}"/>
                    <attribute name="Implementation-Title" value="${manifest.impl.title.kotlin.compiler}"/>
                    <attribute name="Implementation-Version" value="${build.number}"/>

                    <attribute name="Class-Path" value="${compiler.manifest.class.path}"/>
                    <attribute name="Main-Class" value="org.jetbrains.jet.cli.jvm.K2JVMCompiler"/>
                </manifest>
            </jar>
        </sequential>
    </macrodef>

    <target name="compiler_quick">
        <delete dir="${output}/classes/compiler"/>
        <copy todir="${output}/classes/compiler">
            <fileset dir="${idea.out}/">
                <patternset refid="compilerClassesFromIDEA.fileset"/>
            </fileset>
            <!-- out/production contains classes under module directories, here we are merging them all into one root-->
            <cutdirsmapper dirs="1"/>
        </copy>
        <delete file="${kotlin-home}/lib/kotlin-compiler.jar"/>
        <pack_compiler jarfile="${kotlin-home}/lib/kotlin-compiler.jar" compress="false"/>
    </target>

    <target name="compiler">
        <taskdef resource="proguard/ant/task.properties" classpath="${dependencies.dir}/proguard.jar"/>

        <cleandir dir="${output}/classes/compiler"/>

        <javac2 destdir="${output}/classes/compiler" debug="true" debuglevel="lines,vars,source" includeAntRuntime="false"
                source="${java.target}" target="${java.target}">
            <withKotlin externalannotations="${external.annotations.path}"/>
            <src refid="compilerSources.path"/>
            <classpath refid="classpath"/>
        </javac2>

        <pack_compiler jarfile="${output}/kotlin-compiler-before-shrink.jar"/>

        <delete file="${kotlin-home}/lib/kotlin-compiler.jar" failonerror="false"/>

        <if>
            <isfalse value="${shrink}"/>

            <then>
                <copy file="${output}/kotlin-compiler-before-shrink.jar"
                      tofile="${kotlin-home}/lib/kotlin-compiler.jar"/>
            </then>

            <else>
                <available property="rtjar" value="${java.home}/lib/rt.jar" file="${java.home}/lib/rt.jar"/>
                <available property="rtjar" value="${java.home}/../Classes/classes.jar" file="${java.home}/../Classes/classes.jar"/>

                <available property="jssejar" value="${java.home}/lib/jsse.jar" file="${java.home}/lib/jsse.jar"/>
                <available property="jssejar" value="${java.home}/../Classes/jsse.jar" file="${java.home}/../Classes/jsse.jar"/>

                <proguard><![CDATA[
                    -injars '${output}/kotlin-compiler-before-shrink.jar'(
                    !com/thoughtworks/xstream/converters/extended/ISO8601**,
                    !com/thoughtworks/xstream/converters/reflection/CGLIBEnhancedConverter**,
                    !com/thoughtworks/xstream/io/xml/Dom4J**,
                    !com/thoughtworks/xstream/io/xml/Xom**,
                    !com/thoughtworks/xstream/io/xml/Wstx**,
                    !com/thoughtworks/xstream/io/xml/KXml2**,
                    !com/thoughtworks/xstream/io/xml/BEAStax**,
                    !com/thoughtworks/xstream/io/json/Jettison**,
                    !com/thoughtworks/xstream/mapper/CGLIBMapper**,
                    !org/apache/log4j/jmx/Agent*,
                    !org/apache/log4j/net/JMS*,
                    !org/apache/log4j/net/SMTP*,
                    !org/apache/log4j/or/jms/MessageRenderer*,
                    !org/jdom/xpath/Jaxen*,
                    !org/mozilla/javascript/xml/impl/xmlbeans/**,
                    !META-INF/maven**,
                    **.class,**.properties,**.kt,**.kotlin_*,
                    META-INF/services/**,META-INF/native/**,META-INF/MANIFEST.MF,
                    messages/**)

                    -outjars '${kotlin-home}/lib/kotlin-compiler.jar'

                    -dontnote **
                    -dontwarn com.intellij.util.ui.IsRetina*
                    -dontwarn com.intellij.util.RetinaImage*
                    -dontwarn apple.awt.*
                    -dontwarn dk.brics.automaton.*
                    -dontwarn org.fusesource.**
                    -dontwarn org.xerial.snappy.SnappyBundleActivator
                    -dontwarn com.intellij.util.CompressionUtil
                    -dontwarn com.intellij.util.SnappyInitializer
                    -dontwarn net.sf.cglib.**
                    -dontwarn org.objectweb.asm.** # this is ASM3, the old version that we do not use

                    -libraryjars '${rtjar}'
                    -libraryjars '${jssejar}'
                    -libraryjars '${bootstrap.runtime}'

                    -target 1.6
                    -dontoptimize
                    -dontobfuscate

                    -keep class org.fusesource.** { *; }
                    -keep class org.jdom.input.JAXPParserFactory { *; }

                    -keep class org.jetbrains.annotations.** {
                        public protected *;
                    }

                    -keep class javax.inject.** {
                        public protected *;
                    }

                    -keep class org.jetbrains.k2js.** {
                        public protected *;
                    }

                    -keep class org.jetbrains.jet.** {
                        public protected *;
                    }

                    -keep class jet.** {
                        public protected *;
                    }

                    -keep class kotlin.** {
                        public protected *;
                    }

                    -keep class com.intellij.psi.** {
                        public protected *;
                    }

                    # for kdoc & dokka
                    -keep class com.intellij.openapi.util.TextRange { *; }
                    -keep class com.intellij.lang.impl.PsiBuilderImpl* {
                        public protected *;
                    }
                    -keep class com.intellij.openapi.util.text.StringHash { *; }

                    -keepclassmembers enum * {
                        public static **[] values();
                        public static ** valueOf(java.lang.String);
                    }

                    -keepclassmembers class * {
                        ** toString();
                        ** hashCode();
                        void start();
                        void stop();
                        void dispose();
                    }

                    -keepclassmembers class org.jetbrains.org.objectweb.asm.Opcodes {
                        *** ASM5;
                    }

                    -keepclassmembers class org.jetbrains.org.objectweb.asm.ClassReader {
                        *** SKIP_CODE;
                        *** SKIP_DEBUG;
                        *** SKIP_FRAMES;
                    }
                ]]></proguard>
            </else>
        </if>

        <jar jarfile="${output}/kotlin-compiler-for-maven.jar">
            <zipfileset src="${kotlin-home}/lib/kotlin-compiler.jar" includes="**"/>
            <zipfileset src="${bootstrap.runtime}" includes="**" excludes="META-INF/**"/>

            <manifest>
                <attribute name="Built-By" value="${manifest.impl.vendor}"/>

                <attribute name="Implementation-Vendor" value="${manifest.impl.vendor}"/>
                <attribute name="Implementation-Title" value="${manifest.impl.title.kotlin.compiler}"/>
                <attribute name="Implementation-Version" value="${build.number}"/>

                <attribute name="Main-Class" value="org.jetbrains.jet.cli.jvm.K2JVMCompiler"/>
            </manifest>
        </jar>
    </target>

    <target name="antTools">
        <cleandir dir="${output}/classes/buildTools"/>
        <javac2 destdir="${output}/classes/buildTools" debug="true" debuglevel="lines,vars,source" includeAntRuntime="false"
                source="${java.target}" target="${java.target}">
            <withKotlin externalannotations="${external.annotations.path}"/>
            <src>
                <dirset dir="${basedir}/build-tools">
                    <include name="core/src"/>
                    <include name="ant/src"/>
                </dirset>
            </src>
            <compilerarg value="-Xlint:all"/>
            <classpath>
                <fileset dir="${kotlin-home}/lib" includes="kotlin-compiler.jar"/>
                <file file="${bootstrap.runtime}"/>
                <fileset dir="${dependencies.dir}/ant-1.7/lib" includes="ant.jar"/>
            </classpath>
        </javac2>

        <jar destfile="${kotlin-home}/lib/kotlin-ant.jar">
            <fileset dir="${output}/classes/buildTools"/>
            <fileset dir="${basedir}/build-tools/ant/src" includes="**/*.xml"/>
            <zipfileset file="${kotlin-home}/build.txt" prefix="META-INF"/>

            <manifest>
                <attribute name="Built-By" value="${manifest.impl.vendor}"/>

                <attribute name="Implementation-Vendor" value="${manifest.impl.vendor}"/>
                <attribute name="Implementation-Title" value="${manifest.impl.title.kotlin.compiler.ant.task}"/>
                <attribute name="Implementation-Version" value="${build.number}"/>

                <attribute name="Class-Path" value="kotlin-compiler.jar"/>
            </manifest>
        </jar>
    </target>

    <target name="jdkAnnotations">
        <copy file="dependencies/annotations/kotlin-jdk-annotations.jar" todir="${kotlin-home}/lib"/>
    </target>

    <target name="androidSdkAnnotations">
        <copy file="dependencies/annotations/kotlin-android-sdk-annotations.jar" todir="${kotlin-home}/lib"/>
    </target>

    <target name="runtime">
        <macrodef name="new_kotlinc">
            <attribute name="src"/>
            <attribute name="output"/>
            <attribute name="classpath"/>

            <sequential>
                <cleandir dir="@{output}"/>

                <java classname="org.jetbrains.jet.cli.jvm.K2JVMCompiler" failonerror="true" fork="true">
                    <classpath>
                        <path refid="classpath"/>
                        <pathelement location="${kotlin-home}/lib/kotlin-compiler.jar"/>
                    </classpath>
                    <assertions>
                        <enable/>
                    </assertions>
                    <arg line="@{src}"/>
                    <arg value="-d"/>
                    <arg value="@{output}"/>
                    <arg value="-no-stdlib"/>
                    <arg value="-classpath"/>
                    <arg value="@{classpath}"/>
                </java>
            </sequential>
        </macrodef>

        <new_kotlinc src="${basedir}/core/builtins/src ${basedir}/core/runtime.jvm/src ${basedir}/core/reflection/src"
                     output="${output}/classes/runtime"
                     classpath="${basedir}/core/runtime.jvm/src"/>

        <javac2 destdir="${output}/classes/runtime" debug="true" debuglevel="lines,vars,source" includeAntRuntime="false"
                source="${java.target}" target="${java.target}">
            <src path="${basedir}/core/runtime.jvm/src"/>
            <classpath location="${output}/classes/runtime"/>
        </javac2>

        <new_kotlinc src="${basedir}/libraries/stdlib/src"
                     output="${output}/classes/stdlib"
                     classpath="${output}/classes/runtime"/>

        <jar destfile="${kotlin-home}/lib/kotlin-runtime.jar">
            <fileset dir="${output}/classes/runtime"/>
            <fileset dir="${output}/classes/stdlib"/>
            <zipfileset file="${kotlin-home}/build.txt" prefix="META-INF"/>

            <manifest>
                <attribute name="Built-By" value="${manifest.impl.vendor}"/>

                <attribute name="Implementation-Vendor" value="${manifest.impl.vendor}"/>
                <attribute name="Implementation-Title" value="${manifest.impl.title.kotlin.jvm.runtime}"/>
                <attribute name="Implementation-Version" value="${build.number}"/>
            </manifest>
        </jar>
    </target>

    <target name="runtime_sources">
        <jar destfile="${kotlin-home}/lib/kotlin-runtime-sources.jar">
            <fileset dir="${basedir}/core/builtins/native" includes="**/*"/>
            <fileset dir="${basedir}/core/builtins/src" includes="**/*"/>
            <fileset dir="${basedir}/core/runtime.jvm/src" includes="**/*"/>
            <fileset dir="${basedir}/core/reflection/src" includes="**/*"/>
            <fileset dir="${basedir}/libraries/stdlib/src" includes="**/*"/>
            <zipfileset file="${kotlin-home}/build.txt" prefix="META-INF"/>

            <manifest>
                <attribute name="Built-By" value="${manifest.impl.vendor}"/>

                <attribute name="Implementation-Vendor" value="${manifest.impl.vendor}"/>
                <attribute name="Implementation-Title" value="${manifest.impl.title.kotlin.jvm.runtime.sources}"/>
                <attribute name="Implementation-Version" value="${build.number}"/>
            </manifest>
        </jar>
    </target>

    <!-- See description -->
    <target name="dist"
            depends="clean,init,prepareDist,preloader,builtins,compiler,compilerSources,antTools,jdkAnnotations,androidSdkAnnotations,runtime,runtime_sources,jslib"
            description="Builds redistributables from sources"/>

    <!-- builds everything, but classes are reused from project out dir, doesn't run proguard and javadoc -->
    <target name="dist_quick"
            depends="clean,init,prepareDist,preloader,builtins,compiler_quick,antTools,jdkAnnotations,androidSdkAnnotations,runtime,runtime_sources,jslib"/>

    <!-- See description -->
    <target name="dist_quick_compiler_only"
            depends="init,prepareDist,preloader,builtins,compiler_quick"
            description="Builds compiler jar from project out dir"/>

    <target name="zip" depends="dist">
        <zip destfile="${output}/${output.name}.zip">
            <zipfileset prefix="kotlinc" dir="${kotlin-home}" excludes="bin/*"/>
            <zipfileset prefix="kotlinc/bin" dir="${kotlin-home}/bin" includes="*.bat" filemode="644"/>
            <zipfileset prefix="kotlinc/bin" dir="${kotlin-home}/bin" excludes="*.bat" filemode="755"/>
        </zip>
    </target>

    <target name="kotlin-for-upsource" depends="dist">
        <cleandir dir="${output}/classes/idea-analysis"/>

        <javac2 destdir="${output}/classes/idea-analysis" debug="true" debuglevel="lines,vars,source" includeAntRuntime="false"
                source="${java.target}" target="${java.target}">
            <withKotlin externalannotations="${external.annotations.path}"/>
            <src>
                <dirset dir="${basedir}/idea/ide-lazy-resolve">
                    <include name="src"/>
                </dirset>
                <dirset dir="${basedir}/idea/idea-analysis">
                    <include name="src"/>
                </dirset>
            </src>
            <classpath>
                <fileset dir="${idea.sdk}" includes="core/*.jar"/>
                <fileset dir="${idea.sdk}" includes="core-analysis/*.jar"/>
                <fileset dir="${idea.sdk}" includes="lib/protobuf-2.5.0.jar"/>

                <fileset dir="${basedir}/lib" includes="**/*.jar"/>
                <fileset dir="${dependencies.dir}" includes="jline.jar"/>
                <fileset dir="${dependencies.dir}" includes="jansi.jar"/>
                <fileset dir="${dependencies.dir}" includes="cli-parser-1.1.1.jar"/>
                <fileset dir="${basedir}/ideaSDK/jps" includes="jps-model.jar"/>
                <pathelement location="${output}/classes/runtime"/>
                <pathelement location="${output}/classes/compiler"/>
                <pathelement location="${output}/classes/stdlib"/>
            </classpath>
        </javac2>
      <!--copy resources-->
      <copy todir="${output}/classes/idea-analysis">
        <fileset dir="${basedir}/idea/idea-analysis/src" excludes="**/*.java, **/*.kt"/>
      </copy>

        <jar jarfile="${output}/kotlin-for-upsource0.jar">
            <fileset dir="${output}/classes/idea-analysis"/>
            <fileset dir="${output}/classes/compiler"/>
            <fileset dir="${output}/classes/runtime"/>
            <fileset dir="${output}/builtins">
                <include name="kotlin/**"/>
                <exclude name="kotlin/internal/**"/>
            </fileset>
            <fileset dir="${basedir}/compiler/frontend.java/src" includes="META-INF/services/**"/>
            <fileset dir="${basedir}/compiler/backend/src" includes="META-INF/services/**"/>

        <zipgroupfileset dir="${basedir}/lib" includes="*.jar"/>
        <zipgroupfileset dir="${kotlin-home}/lib" includes="kotlin-runtime-sources.jar"/>   <!--Library.kt-->
        <fileset dir="${output}/classes/stdlib"/>

        <!-- icons, etc. -->
        <fileset dir="idea/resources"/>
        <!-- plugin.xml and friends -->
        <fileset dir="idea/src" includes="META-INF/**"/>
      </jar>
      <sleep seconds="1"/>
      <jar jarfile="${output}/kotlin-for-upsource.jar">
        <zipfileset src="${output}/kotlin-for-upsource0.jar">
          <exclude name="javax/**/*.java"/>
        </zipfileset>
      </jar>
      <delete file="${output}/kotlin-for-upsource0.jar"/>

       <!--sources-->
      <jar jarfile="${output}/kotlin-for-upsource-sources.jar">
        <fileset dir="compiler/frontend/src"/>
        <fileset dir="core/descriptors/src"/>
        <fileset dir="core/descriptor.loader.java/src"/>
        <fileset dir="core/serialization/src"/>
        <fileset dir="core/serialization.java/src"/>
        <fileset dir="compiler/frontend.java/src"/>
        <fileset dir="compiler/backend-common/src"/>
        <fileset dir="compiler/backend/src"/>
        <fileset dir="compiler/cli/src"/>
        <fileset dir="j2k/src"/>
        <fileset dir="compiler/util/src"/>
        <fileset dir="core/util.runtime/src"/>
        <fileset dir="compiler/jet.as.java.psi/src"/>
        <fileset dir="compiler/builtins-serializer"/>
        <fileset dir="js/js.dart-ast/src"/>
        <fileset dir="js/js.translator/src"/>
        <fileset dir="js/js.frontend/src"/>
        <fileset dir="js/js.inliner/src"/>
        <fileset dir="idea/idea-analysis/src"/>
        <fileset dir="idea/ide-lazy-resolve/src"/>

        <manifest>
          <attribute name="Built-By" value="${manifest.impl.vendor}"/>

          <attribute name="Implementation-Vendor" value="${manifest.impl.vendor}"/>
          <attribute name="Implementation-Version" value="${build.number}"/>
        </manifest>
      </jar>

    </target>

    <target name="build-artifacts" depends="zip,kotlin-for-upsource"/>
</project>
