49 lines
1.9 KiB
XML
49 lines
1.9 KiB
XML
<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="\<idea-plugin\>" replace="" />
|
|
<replaceregex pattern="\</idea-plugin\>" replace="" />
|
|
</tokenfilter>
|
|
</filterchain>
|
|
</loadfile>
|
|
|
|
<replace file="@{main.plugin.xml.dir}/plugin.xml" token="<!-- ULTIMATE-PLUGIN-PLACEHOLDER -->" 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> |