blob: cc36d38d6bbe4a1ce52e1cdf9890dc79c33c57fd [file] [log] [blame]
<project default="build_artifact">
<property name="artifact.root" value="out/artifacts/Kotlin"/>
<property name="production.root" value="out/production/kotlin-ultimate"/>
<property name="meta.inf" value="${production.root}/META-INF"/>
<property name="kotlin.plugin.jar" value="${artifact.root}/lib/kotlin-plugin.jar"/>
<macrodef name="merge_plugin_xml">
<attribute name="main.plugin.xml.dir" />
<sequential>
<loadfile srcfile="${meta.inf}/ultimate-plugin.xml" property="ultimate.plugin.xml.content">
<filterchain>
<tokenfilter>
<filetokenizer/>
<replaceregex pattern="\&lt;idea-plugin\&gt;" replace="" />
<replaceregex pattern="\&lt;/idea-plugin\&gt;" replace="" />
</tokenfilter>
</filterchain>
</loadfile>
<replace file="@{main.plugin.xml.dir}/plugin.xml" token="&lt;!-- ULTIMATE-PLUGIN-PLACEHOLDER --&gt;" value="${ultimate.plugin.xml.content}"/>
</sequential>
</macrodef>
<target name="build_artifact">
<copy todir="${artifact.root}">
<fileset dir="../${artifact.root}"/>
</copy>
<unzip src="${kotlin.plugin.jar}" dest="${production.root}">
<patternset>
<include name="META-INF/plugin.xml"/>
</patternset>
</unzip>
<merge_plugin_xml main.plugin.xml.dir="${meta.inf}"/>
<jar destfile="${kotlin.plugin.jar}" update="true">
<fileset dir="${production.root}"/>
<file file="${meta.inf}/plugin.xml"/>
</jar>
<delete file="${meta.inf}/plugin.xml"/>
</target>
<target name="patch_outer_plugin_xml_for_tests">
<merge_plugin_xml main.plugin.xml.dir="../out/production/idea/META-INF" />
</target>
</project>