<project name="mpsMakePlugin" default="build" basedir="..">
  <!-- Generated by MPS -->
  <property name="build.dir" location="build" />
  <property name="build.tmp" location="${build.dir}/tmp/mpsMakePlugin" />
  <property name="build.layout" location="${build.dir}/artifacts/mpsMakePlugin" />
  <property name="idea_home" location="" />
  <property name="mps_home" location="${basedir}" />
  <property name="kotlinc_home" location="${mps_home}/plugins/mps-kotlin/kotlinc" />
  <property name="artifacts.mpsBootstrapCore" location="${build.dir}/artifacts/mpsBootstrapCore" />
  <property name="artifacts.mpsCore" location="${build.dir}/artifacts/mpsCore" />
  <property name="artifacts.mpsWorkbench" location="${build.dir}/artifacts/mpsWorkbench" />
  <property name="artifacts.mpsJavaCore" location="${build.dir}/artifacts/mpsJavaCore" />
  <property name="artifacts.IDEA" location="${idea_home}" />
  <property file="${artifacts.mpsBootstrapCore}/build.properties" prefix="import.mpsBootstrapCore" />
  <property name="mpsBootstrapCore.version.major" value="${import.mpsBootstrapCore.mpsBootstrapCore.version.major}" />
  <property name="mpsBootstrapCore.version.minor" value="${import.mpsBootstrapCore.mpsBootstrapCore.version.minor}" />
  <property name="mpsBootstrapCore.version.bugfixNr" value="${import.mpsBootstrapCore.mpsBootstrapCore.version.bugfixNr}" />
  <property name="mpsBootstrapCore.version.eap" value="${import.mpsBootstrapCore.mpsBootstrapCore.version.eap}" />
  <property name="mpsBootstrapCore.version" value="${import.mpsBootstrapCore.mpsBootstrapCore.version}" />
  <property name="environment" value="env" />
  <property name="env.JAVA_HOME" value="${java.home}/.." />
  <property name="jdk.home" value="${env.JAVA_HOME}" />
  <property name="mps.generator.skipUnmodifiedModels" value="false" />
  <property name="mps.ant.log" value="warn" />
  
  <path id="path.javac2.classpath">
    <fileset dir="${idea_home}/lib">
      <include name="3rd-party.jar" />
      <include name="3rd-party-rt.jar" />
      <include name="util-8.jar" />
      <include name="module-intellij.libraries.asm.jar" />
      <include name="forms*.jar" />
    </fileset>
    <fileset dir="${idea_home}/plugins/java/lib">
      <include name="javac2.jar" />
    </fileset>
  </path>
  
  <path id="path.jdk.classpath">
    <pathelement path="${jdk.home}/Classes/classes.jar" />
    <pathelement path="${jdk.home}/lib/tools.jar" />
    <fileset dir="${jdk.home}">
      <include name="jre/lib/*.jar" />
    </fileset>
  </path>
  
  <path id="path.java.library.jps-builders-lib">
    <fileset file="${artifacts.IDEA}/plugins/java/lib/jps-builders.jar" />
  </path>
  
  <path id="path.mps.ant.path">
    <pathelement location="${artifacts.mpsBootstrapCore}/lib/ant/lib/ant-mps.jar" />
    <pathelement location="${artifacts.IDEA}/lib/util-8.jar" />
  </path>
  
  <taskdef name="javac2" classname="com.intellij.ant.Javac2" classpathref="path.javac2.classpath" loaderref="javac2.loader" />
  
  <taskdef resource="jetbrains/mps/build/ant/antlib.xml" classpathref="path.mps.ant.path" />
  
  <typedef name="skip" classname="com.intellij.ant.ClassFilterAnnotationRegexp" classpathref="path.javac2.classpath" loaderref="javac2.loader" />
  
  <typedef resource="org/jetbrains/kotlin/ant/antlib.xml" classpath="${kotlinc_home}/lib/kotlin-ant.jar" />
  
  <generator-settings id="m2m-defaults" strictMode="true" parallelThreads="8" inplaceTransform="false" warnWrongChild="true" createStaticRefs="true" skipUnmodifiedModels="${mps.generator.skipUnmodifiedModels}" />
  
  <target name="assemble" depends="classes, declare-mps-tasks">
    <mkdir dir="${build.layout}/java" />
    <copy todir="${build.layout}/java">
      <fileset dir="${basedir}/plugins/java" />
    </copy>
    <mkdir dir="${build.layout}/mps-make" />
    <mkdir dir="${build.layout}/mps-make/languages" />
    <mkdir dir="${build.tmp}/default/jetbrains.mps.ide.make.jar" />
    <mkdir dir="${build.tmp}/default/jetbrains.mps.ide.make.jar/META-INF" />
    <echoxml file="${build.tmp}/default/jetbrains.mps.ide.make.jar/META-INF/module.xml">
      <module namespace="jetbrains.mps.ide.make" type="solution" uuid="8f6725be-608d-433b-98fd-844f816eb05f">
        <dependencies>
          <module ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)" kind="rt" />
          <module ref="6ed54515-acc8-4d1e-a16c-9fd6cfe951ea(MPS.Core)" kind="rt" />
          <module ref="8865b7a8-5271-43d3-884c-6fd1d9cfdd34(MPS.OpenAPI)" kind="rt" />
          <module ref="86441d7a-e194-42da-81a5-2161ec62a379(MPS.Workbench)" kind="rt" />
          <module ref="4c6a28d1-2c60-478d-b36e-db9b3cbb21fb(closures.runtime)" kind="rt" />
          <module ref="9b80526e-f0bf-4992-bdf5-cee39c1833f3(collections.runtime)" kind="rt" />
          <module ref="52b81ac7-93fd-4e9e-b972-4995882da6d4(jetbrains.mps.baseLanguage.references.runtime)" kind="rt" />
          <module ref="d44dab97-aaac-44cb-9745-8a14db674c03(jetbrains.mps.baseLanguage.tuples.runtime)" kind="rt" />
          <module ref="2d3c70e9-aab2-4870-8d8d-6036800e4103(jetbrains.mps.kernel)" kind="rt" />
          <module ref="d936855b-48da-4812-a8a0-2bfddd633ac5(jetbrains.mps.lang.behavior.api)" kind="rt" />
          <module ref="d936855b-48da-4812-a8a0-2bfddd633ac4(jetbrains.mps.lang.behavior.runtime)" kind="rt" />
          <module ref="d7eb0a2a-bd50-4576-beae-e4a89db35f20(jetbrains.mps.lang.scopes.runtime)" kind="rt" />
          <module ref="a1250a4d-c090-42c3-ad7c-d298a3357dd4(jetbrains.mps.make.runtime)" kind="rt" />
          <module ref="9a4afe51-f114-4595-b5df-048ce3c596be(jetbrains.mps.runtime)" kind="rt" />
          <module ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)" kind="cl" />
          <module ref="6ed54515-acc8-4d1e-a16c-9fd6cfe951ea(MPS.Core)" kind="cl" />
          <module ref="215c4c45-ba99-49f5-9ab7-4b6901a63cfd(MPS.Generator)" kind="cl" />
          <module ref="498d89d2-c2e9-11e2-ad49-6cf049e62fe5(MPS.IDEA)" kind="cl" />
          <module ref="8865b7a8-5271-43d3-884c-6fd1d9cfdd34(MPS.OpenAPI)" kind="cl" />
          <module ref="742f6602-5a2f-4313-aa6e-ae1cd4ffdc61(MPS.Platform)" kind="cl" />
          <module ref="7124e466-fc92-4803-a656-d7a6b7eb3910(MPS.TextGen)" kind="cl" />
          <module ref="86441d7a-e194-42da-81a5-2161ec62a379(MPS.Workbench)" kind="cl" />
          <module ref="019b622b-0aef-4dd3-86d0-4eef01f3f6bb(jetbrains.mps.ide)" kind="cl" />
          <module ref="5b1f863d-65a0-41a6-a801-33896be24202(jetbrains.mps.ide.editor)" kind="cl" />
          <module ref="2d3c70e9-aab2-4870-8d8d-6036800e4103(jetbrains.mps.kernel)" kind="cl" />
          <module ref="343f8205-dc88-465b-9c5b-ce46b5f1c193(jetbrains.mps.lang.core.doc)" kind="cl" />
          <module ref="f8e20673-3f65-44e9-84c0-c4a4b6ede37e(jetbrains.mps.make.facets)" kind="cl" />
          <module ref="a1250a4d-c090-42c3-ad7c-d298a3357dd4(jetbrains.mps.make.runtime)" kind="cl" />
          <module ref="df9d410f-2ebb-43f7-893a-483a4f085250(jetbrains.mps.smodel.resources)" kind="cl" />
        </dependencies>
        <uses>
          <language id="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" />
          <language id="l:443f4c36-fcf5-4eb6-9500-8d06ed259e3e:jetbrains.mps.baseLanguage.classifiers" />
          <language id="l:fd392034-7849-419d-9071-12563d152375:jetbrains.mps.baseLanguage.closures" />
          <language id="l:83888646-71ce-4f1c-9c53-c54016f6ad4f:jetbrains.mps.baseLanguage.collections" />
          <language id="l:f2801650-65d5-424e-bb1b-463a8781b786:jetbrains.mps.baseLanguage.javadoc" />
          <language id="l:acfc188d-d5d6-4598-b370-6f4a983f05b2:jetbrains.mps.baseLanguage.methodReferences" />
          <language id="l:a247e09e-2435-45ba-b8d2-07e93feba96a:jetbrains.mps.baseLanguage.tuples" />
          <language id="l:ceab5195-25ea-4f22-9b92-103b95ca8c0c:jetbrains.mps.lang.core" />
          <language id="l:28f9e497-3b42-4291-aeba-0a1039153ab1:jetbrains.mps.lang.plugin" />
          <language id="l:ef7bf5ac-d06c-4342-b11d-e42104eb9343:jetbrains.mps.lang.plugin.standalone" />
          <language id="l:982eb8df-2c96-4bd7-9963-11712ea622e5:jetbrains.mps.lang.resources" />
          <language id="l:7866978e-a0f0-4cc7-81bc-4d213d9375e1:jetbrains.mps.lang.smodel" />
          <language id="l:c7fb639f-be78-4307-89b0-b5959c3fa8c8:jetbrains.mps.lang.text" />
          <language id="l:696c1165-4a59-463b-bc5d-902caab85dd0:jetbrains.mps.make.facet" />
        </uses>
        <classpath>
          <entry path="." />
        </classpath>
        <sources jar="jetbrains.mps.ide.make-src.jar" descriptor="jetbrains.mps.ide.make.msd" />
      </module>
    </echoxml>
    <jar destfile="${build.layout}/mps-make/languages/jetbrains.mps.ide.make.jar" duplicate="preserve">
      <fileset dir="${build.tmp}/java/out/jetbrains.mps.ide.make" />
      <fileset dir="${mps_home}/plugins/mps-make" includes="icons/**, startup.properties" />
      <fileset dir="${mps_home}/plugins/mps-make/source_gen" includes="**/trace.info, **/exports, **/*.mps, **/checkpoints" />
      <fileset dir="${build.tmp}/default/jetbrains.mps.ide.make.jar" />
    </jar>
    <copyModels todir="${build.tmp}/customProcessors/copyModels/plugins-mps-make-make">
      <fileset dir="${mps_home}/plugins/mps-make/make" includes="**/*.mps, **/*.mpsr, **/.model" />
    </copyModels>
    <jar destfile="${build.layout}/mps-make/languages/jetbrains.mps.ide.make-src.jar" duplicate="preserve">
      <fileset dir="${mps_home}/plugins/mps-make/source_gen">
        <exclude name="**/trace.info" />
        <exclude name="**/exports" />
        <exclude name="**/checkpoints" />
        <exclude name="**/*.mps" />
      </fileset>
      <zipfileset file="${mps_home}/plugins/mps-make/jetbrains.mps.ide.make.msd" prefix="module" />
      <zipfileset dir="${build.tmp}/customProcessors/copyModels/plugins-mps-make-make" prefix="module/make" />
    </jar>
    <mkdir dir="${build.layout}/mps-make/lib" />
    <jar destfile="${build.layout}/mps-make/lib/mps-make.jar" duplicate="preserve">
      <fileset dir="${build.tmp}/java/out/mps-make-plugin" />
      <zipfileset file="${mps_home}/plugins/mps-make/META-INF/plugin.xml" prefix="META-INF" />
    </jar>
    <jar destfile="${build.layout}/mps-make/lib/mps-jps.jar" duplicate="preserve">
      <fileset dir="${build.tmp}/java/out/mps-jps-plugin" />
    </jar>
    <echo file="${build.layout}/build.properties">mpsBootstrapCore.version.major=${mpsBootstrapCore.version.major}${line.separator}mpsBootstrapCore.version.minor=${mpsBootstrapCore.version.minor}${line.separator}mpsBootstrapCore.version.bugfixNr=${mpsBootstrapCore.version.bugfixNr}${line.separator}mpsBootstrapCore.version.eap=${mpsBootstrapCore.version.eap}${line.separator}mpsBootstrapCore.version=${mpsBootstrapCore.version}</echo>
  </target>
  
  <target name="buildDependents">
    <ant antfile="build/mpsTrueBootstrap.xml" inheritAll="false" useNativeBasedir="true" />
    <ant antfile="build/mpsBootstrapCore.xml" inheritAll="false" useNativeBasedir="true" />
    <ant antfile="build/mpsCore.xml" inheritAll="false" useNativeBasedir="true" />
    <ant antfile="build/mpsWorkbench.xml" inheritAll="false" useNativeBasedir="true" />
    <ant antfile="build/mpsJavaCore.xml" inheritAll="false" useNativeBasedir="true" />
  </target>
  
  <target name="fetchDependencies" />
  
  <target name="build" depends="assemble" />
  
  <target name="clean">
    <delete dir="${build.tmp}" />
    <delete dir="${build.layout}" />
  </target>
  
  <target name="compileJava" depends="java.compile.jetbrains.mps.ide.make, java.compile.mps-make-plugin, java.compile.mps-jps-plugin" />
  
  <target name="processResources" />
  
  <target name="classes" depends="compileJava, processResources" />
  
  <target name="test" depends="classes" />
  
  <target name="check" depends="test" />
  
  <target name="generate" depends="declare-mps-tasks, fetchDependencies">
    <echo message="generating" />
    <generate fork="true" targetJavaVersion="21" logLevel="${mps.ant.log}">      
      <settings refid="m2m-defaults" />
      <plugin path="${artifacts.mpsCore}/mps-core" id="jetbrains.mps.core" />
      <library file="${artifacts.mpsWorkbench}/languages/editor/jetbrains.mps.ide.editor.jar" />
      <library file="${artifacts.mpsWorkbench}/languages/plaf/jetbrains.mps.ide.ui.jar" />
      <library file="${artifacts.mpsWorkbench}/languages/workbench-stub.jar" />
      <library file="${artifacts.mpsWorkbench}/languages/workbench/jetbrains.mps.ide.jar" />
      <library file="${artifacts.mpsWorkbench}/languages/workbench/jetbrains.mps.lang.plugin.standalone.jar" />
      <chunk>
        <module file="${mps_home}/plugins/mps-make/jetbrains.mps.ide.make.msd" />
      </chunk>
      <jvmargs>
        <arg value="-ea" />
        <arg value="-Xmx512m" />
      </jvmargs>
      <macro name="idea_home" path="${idea_home}" />
      <macro name="mps_home" path="${mps_home}" />
      <macro name="kotlinc_home" path="${kotlinc_home}" />
    </generate>
  </target>
  
  <target name="declare-mps-tasks" />
  
  <target name="makeDependents">
    <ant antfile="build/mpsTrueBootstrap.xml" inheritAll="false" useNativeBasedir="true">
      <target name="assemble" />
    </ant>
    <ant antfile="build/mpsBootstrapCore.xml" inheritAll="false" useNativeBasedir="true">
      <target name="generate" />
      <target name="assemble" />
    </ant>
    <ant antfile="build/mpsCore.xml" inheritAll="false" useNativeBasedir="true">
      <target name="generate" />
      <target name="assemble" />
    </ant>
    <ant antfile="build/mpsWorkbench.xml" inheritAll="false" useNativeBasedir="true">
      <target name="generate" />
      <target name="assemble" />
    </ant>
    <ant antfile="build/mpsJavaCore.xml" inheritAll="false" useNativeBasedir="true">
      <target name="generate" />
      <target name="assemble" />
    </ant>
  </target>
  
  <target name="java.compile.jetbrains.mps.ide.make" depends="fetchDependencies">
    <mkdir dir="${mps_home}/plugins/mps-make/source_gen" />
    <mkdir dir="${build.tmp}/java/out/jetbrains.mps.ide.make" />
    <javac2 destdir="${build.tmp}/java/out/jetbrains.mps.ide.make" fork="false" encoding="utf8" includeantruntime="false" debug="true" source="21" target="21">
      <withKotlin moduleName="jetbrains.mps.ide.make">        
        <compilerarg value="-jvm-target=21" />
      </withKotlin>
      <skip pattern="kotlin/Metadata" />
      <compilerarg value="-Xlint:none" />
      <src>
        <path location="${mps_home}/plugins/mps-make/source_gen" />
      </src>
      <classpath>
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-core.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-platform.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-annotations.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-behavior-api.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-behavior-runtime.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-closures.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-collections.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-openapi.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-tuples.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-references.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-context.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-constraints-runtime.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-editor.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-editor-api.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-editor-runtime.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-generator.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-persistence.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-environment.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-project-check.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-textgen.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-icons.jar" />
        <fileset file="${artifacts.mpsWorkbench}/lib/mps-workbench.jar" />
        <fileset file="${artifacts.IDEA}/lib/app.jar" />
        <fileset file="${artifacts.IDEA}/lib/app-client.jar" />
        <fileset file="${artifacts.IDEA}/lib/lib.jar" />
        <fileset file="${artifacts.IDEA}/lib/lib-client.jar" />
        <fileset file="${artifacts.IDEA}/lib/util.jar" />
        <fileset file="${artifacts.IDEA}/lib/util_rt.jar" />
        <fileset file="${artifacts.IDEA}/lib/util-8.jar" />
        <fileset file="${artifacts.IDEA}/lib/forms_rt.jar" />
        <fileset file="${artifacts.IDEA}/lib/java-frontback.jar" />
        <fileset file="${artifacts.IDEA}/lib/jps-model.jar" />
        <fileset file="${artifacts.IDEA}/lib/testFramework.jar" />
        <fileset file="${artifacts.IDEA}/lib/stats.jar" />
        <fileset file="${artifacts.IDEA}/lib/platform-loader.jar" />
        <fileset file="${artifacts.IDEA}/lib/module-intellij.libraries.asm.jar" />
        <fileset file="${artifacts.IDEA}/lib/module-intellij.libraries.gson.jar" />
        <fileset file="${artifacts.IDEA}/lib/module-intellij.libraries.miglayout.swing.jar" />
        <fileset file="${artifacts.IDEA}/lib/module-intellij.platform.vcs.jar" />
        <fileset file="${artifacts.IDEA}/lib/module-intellij.platform.vcs.core.jar" />
        <fileset file="${artifacts.IDEA}/lib/module-intellij.xml.parser.jar" />
        <fileset file="${artifacts.IDEA}/lib/annotations.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/languages/languageDesign/jetbrains.mps.lang.core.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/languages/languageDesign/jetbrains.mps.lang.core.doc.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/languages/languageDesign/jetbrains.mps.lang.scopes.runtime.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/languages/make/jetbrains.mps.make.facets.jar" />
        <path refid="path.jdk.classpath" />
      </classpath>
    </javac2>
    <copy todir="${build.tmp}/java/out/jetbrains.mps.ide.make">
      <fileset dir="${mps_home}/plugins/mps-make/source_gen" includes="**/*.properties, **/*.xml, **/*.html, **/*.png, **/*.svg, **/*.txt, **/*.ico, **/*.zip, **/*.info" />
    </copy>
  </target>
  
  <target name="java.compile.mps-make-plugin" depends="fetchDependencies">
    <mkdir dir="${mps_home}/plugins/mps-make/plugin/source" />
    <mkdir dir="${build.tmp}/java/out/mps-make-plugin" />
    <javac2 destdir="${build.tmp}/java/out/mps-make-plugin" fork="false" encoding="utf8" includeantruntime="false" debug="true" source="21" target="21">
      <withKotlin moduleName="mps-make-plugin">        
        <compilerarg value="-jvm-target=21" />
      </withKotlin>
      <skip pattern="kotlin/Metadata" />
      <compilerarg value="-Xlint:none" />
      <src>
        <path location="${mps_home}/plugins/mps-make/plugin/source" />
      </src>
      <classpath>
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-generator.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-annotations.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-openapi.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-core.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-closures.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-collections.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-tuples.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-references.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-behavior-api.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-behavior-runtime.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-context.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-constraints-runtime.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-platform.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-environment.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-editor.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-editor-api.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-editor-runtime.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-icons.jar" />
        <fileset file="${artifacts.mpsWorkbench}/lib/mps-workbench.jar" />
        <fileset file="${artifacts.IDEA}/lib/annotations.jar" />
        <fileset file="${artifacts.IDEA}/lib/app.jar" />
        <fileset file="${artifacts.IDEA}/lib/app-client.jar" />
        <fileset file="${artifacts.IDEA}/lib/lib.jar" />
        <fileset file="${artifacts.IDEA}/lib/lib-client.jar" />
        <fileset file="${artifacts.IDEA}/lib/util.jar" />
        <fileset file="${artifacts.IDEA}/lib/util_rt.jar" />
        <fileset file="${artifacts.IDEA}/lib/util-8.jar" />
        <fileset file="${artifacts.IDEA}/lib/forms_rt.jar" />
        <fileset file="${artifacts.IDEA}/lib/java-frontback.jar" />
        <fileset file="${artifacts.IDEA}/lib/jps-model.jar" />
        <fileset file="${artifacts.IDEA}/lib/testFramework.jar" />
        <fileset file="${artifacts.IDEA}/lib/stats.jar" />
        <fileset file="${artifacts.IDEA}/lib/platform-loader.jar" />
        <fileset file="${artifacts.IDEA}/lib/module-intellij.libraries.asm.jar" />
        <fileset file="${artifacts.IDEA}/lib/module-intellij.libraries.gson.jar" />
        <fileset file="${artifacts.IDEA}/lib/module-intellij.libraries.miglayout.swing.jar" />
        <fileset file="${artifacts.IDEA}/lib/module-intellij.platform.vcs.jar" />
        <fileset file="${artifacts.IDEA}/lib/module-intellij.platform.vcs.core.jar" />
        <fileset file="${artifacts.IDEA}/lib/module-intellij.xml.parser.jar" />
        <path refid="path.jdk.classpath" />
      </classpath>
    </javac2>
    <copy todir="${build.tmp}/java/out/mps-make-plugin">
      <fileset dir="${mps_home}/plugins/mps-make/plugin/source" includes="**/*.properties, **/*.xml, **/*.html, **/*.png, **/*.svg, **/*.txt, **/*.ico, **/*.zip, **/*.info" />
    </copy>
  </target>
  
  <target name="java.compile.mps-jps-plugin" depends="fetchDependencies">
    <mkdir dir="${mps_home}/jps/common/src" />
    <mkdir dir="${mps_home}/jps/jps-plugin/src" />
    <mkdir dir="${mps_home}/jps/java-jps-plugin/src" />
    <mkdir dir="${build.tmp}/java/out/mps-jps-plugin" />
    <javac2 destdir="${build.tmp}/java/out/mps-jps-plugin" fork="false" encoding="utf8" includeantruntime="false" debug="true" source="21" target="21">
      <compilerarg value="-Xlint:none" />
      <src>
        <path location="${mps_home}/jps/common/src" />
        <path location="${mps_home}/jps/jps-plugin/src" />
        <path location="${mps_home}/jps/java-jps-plugin/src" />
      </src>
      <classpath>
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-annotations.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-platform.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-openapi.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-core.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-closures.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-collections.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-tuples.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-references.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-behavior-api.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-behavior-runtime.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-context.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-constraints-runtime.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mps-persistence.jar" />
        <fileset file="${artifacts.mpsBootstrapCore}/lib/mpsant/mps-tool.jar" />
        <fileset file="${artifacts.mpsJavaCore}/lib/java-core.jar" />
        <path refid="path.java.library.jps-builders-lib" />
        <fileset file="${artifacts.IDEA}/lib/trove.jar" />
        <fileset file="${artifacts.IDEA}/lib/annotations.jar" />
        <fileset file="${artifacts.IDEA}/lib/app.jar" />
        <fileset file="${artifacts.IDEA}/lib/app-client.jar" />
        <fileset file="${artifacts.IDEA}/lib/lib.jar" />
        <fileset file="${artifacts.IDEA}/lib/lib-client.jar" />
        <fileset file="${artifacts.IDEA}/lib/util.jar" />
        <fileset file="${artifacts.IDEA}/lib/util_rt.jar" />
        <fileset file="${artifacts.IDEA}/lib/util-8.jar" />
        <fileset file="${artifacts.IDEA}/lib/forms_rt.jar" />
        <fileset file="${artifacts.IDEA}/lib/java-frontback.jar" />
        <fileset file="${artifacts.IDEA}/lib/jps-model.jar" />
        <fileset file="${artifacts.IDEA}/lib/testFramework.jar" />
        <fileset file="${artifacts.IDEA}/lib/stats.jar" />
        <fileset file="${artifacts.IDEA}/lib/platform-loader.jar" />
        <fileset file="${artifacts.IDEA}/lib/module-intellij.libraries.asm.jar" />
        <fileset file="${artifacts.IDEA}/lib/module-intellij.libraries.gson.jar" />
        <fileset file="${artifacts.IDEA}/lib/module-intellij.libraries.miglayout.swing.jar" />
        <fileset file="${artifacts.IDEA}/lib/module-intellij.platform.vcs.jar" />
        <fileset file="${artifacts.IDEA}/lib/module-intellij.platform.vcs.core.jar" />
        <fileset file="${artifacts.IDEA}/lib/module-intellij.xml.parser.jar" />
        <path refid="path.jdk.classpath" />
      </classpath>
    </javac2>
    <copy todir="${build.tmp}/java/out/mps-jps-plugin">
      <fileset dir="${mps_home}/jps/common/resources" />
      <fileset dir="${mps_home}/jps/common/src" includes="**/*.properties, **/*.xml, **/*.html, **/*.png, **/*.svg, **/*.txt, **/*.ico, **/*.zip, **/*.info" />
      <fileset dir="${mps_home}/jps/jps-plugin/src" includes="**/*.properties, **/*.xml, **/*.html, **/*.png, **/*.svg, **/*.txt, **/*.ico, **/*.zip, **/*.info" />
      <fileset dir="${mps_home}/jps/java-jps-plugin/src" includes="**/*.properties, **/*.xml, **/*.html, **/*.png, **/*.svg, **/*.txt, **/*.ico, **/*.zip, **/*.info" />
    </copy>
  </target>
  
  <target name="cleanSources">
    <delete dir="${mps_home}/plugins/mps-make/source_gen" />
  </target>
</project>