build/mps.xml (328 lines of code) (raw):
<project name="mps" default="build" basedir="..">
<!-- Generated by MPS -->
<property name="build.dir" location="build" />
<property name="build.tmp" location="${build.dir}/tmp/mps" />
<property name="build.layout" location="${build.dir}/artifacts/mps" />
<loadfile property="build.number" srcFile="${basedir}/build.txt" />
<tstamp>
<format property="date" pattern="yyyyMMdd" />
</tstamp>
<property name="build.vcs.number" value="HEAD" />
<property name="teamcity.buildConfName" value="local" />
<loadfile property="idea.platform.build.number" srcFile="${basedir}/lib/build.txt" />
<property name="mps.build.counter" value="SNAPSHOT" />
<property file="${basedir}/build/dependencies/dependencies.properties" prefix="loaded.for.runtimeBuild" />
<property name="runtimeBuild" value="${loaded.for.runtimeBuild.runtimeBuild}" />
<property name="mps_home" location="${basedir}" />
<property name="artifacts.mpsBuild" location="${build.dir}/artifacts/mpsBuild" />
<property name="artifacts.mpsConsolePlugin" location="${build.dir}/artifacts/mpsConsolePlugin" />
<property name="artifacts.mpsTroveCollections" location="${build.dir}/artifacts/mpsTroveCollections" />
<property name="artifacts.mpsStandalone" location="${build.dir}/artifacts/mpsStandalone" />
<property name="artifacts.mpsDevKit" location="${build.dir}/artifacts/mpsDevKit" />
<property name="artifacts.mpsPlugins" location="${build.dir}/artifacts/mpsPlugins" />
<property name="artifacts.mpsJava" location="${build.dir}/artifacts/mpsJava" />
<property name="artifacts.mpsHttpSupportPlugin" location="${build.dir}/artifacts/mpsHttpSupportPlugin" />
<property name="artifacts.mpsNavigationBar" location="${build.dir}/artifacts/mpsNavigationBar" />
<property name="artifacts.mpsMakePlugin" location="${build.dir}/artifacts/mpsMakePlugin" />
<property name="artifacts.mpsBuildUI" location="${build.dir}/artifacts/mpsBuildUI" />
<property name="artifacts.mpsVcs" location="${build.dir}/artifacts/mpsVcs" />
<property name="artifacts.mpsMigrationCore" location="${build.dir}/artifacts/mpsMigrationCore" />
<property name="artifacts.mpsMigration" location="${build.dir}/artifacts/mpsMigration" />
<property name="artifacts.mpsDebuggerPlugin" location="${build.dir}/artifacts/mpsDebuggerPlugin" />
<property name="artifacts.mpsDiagramEditor" location="${build.dir}/artifacts/mpsDiagramEditor" />
<property name="artifacts.jetpad" location="${build.dir}/artifacts/jetpad" />
<property name="artifacts.mpsExecutionPlugin" location="${build.dir}/artifacts/mpsExecutionPlugin" />
<property name="artifacts.mpsTooltips" location="${build.dir}/artifacts/mpsTooltips" />
<property name="artifacts.mpsTesting" location="${build.dir}/artifacts/mpsTesting" />
<property name="artifacts.mpsContextActionsTool" location="${build.dir}/artifacts/mpsContextActionsTool" />
<property name="artifacts.mpsSpellCheckPlugin" location="${build.dir}/artifacts/mpsSpellCheckPlugin" />
<property name="artifacts.mpsKotlinPlugin" location="${build.dir}/artifacts/mpsKotlinPlugin" />
<property name="artifacts.mpsCore" location="${build.dir}/artifacts/mpsCore" />
<property name="artifacts.mpsAntToolsPlugin" location="${build.dir}/artifacts/mpsAntToolsPlugin" />
<property file="${artifacts.mpsBuild}/build.properties" prefix="import.mpsBuild" />
<property name="mpsBootstrapCore.version.major" value="${import.mpsBuild.mpsBootstrapCore.version.major}" />
<property name="mpsBootstrapCore.version.minor" value="${import.mpsBuild.mpsBootstrapCore.version.minor}" />
<property name="mpsBootstrapCore.version.bugfixNr" value="${import.mpsBuild.mpsBootstrapCore.version.bugfixNr}" />
<property name="mpsBootstrapCore.version.eap" value="${import.mpsBuild.mpsBootstrapCore.version.eap}" />
<property name="mpsBootstrapCore.version" value="${import.mpsBuild.mpsBootstrapCore.version}" />
<target name="assemble" depends="collect-tips-mps-tips, fetchDependencies">
<mkdir dir="${build.layout}/bin" />
<copy todir="${build.layout}/bin">
<fileset dir="${mps_home}/bin">
<exclude name="**/*.dll" />
<exclude name="**/*.exe" />
<exclude name="**/linux/" />
<exclude name="**/mac/" />
<exclude name="**/nix/" />
<exclude name="**/win/" />
</fileset>
</copy>
<copy todir="${build.layout}/bin">
<fileset file="${mps_home}/workbench/mps-icons/source/mps.svg" />
</copy>
<mkdir dir="${build.layout}/languages" />
<copy todir="${build.layout}/languages">
<fileset dir="${artifacts.mpsStandalone}/languages" />
</copy>
<mkdir dir="${build.layout}/lib" />
<copy todir="${build.layout}/lib">
<fileset dir="${artifacts.mpsStandalone}/lib">
<exclude name="jna/" />
<exclude name="pty4j/" />
</fileset>
</copy>
<mkdir dir="${build.tmp}/default/branding.jar" />
<mkdir dir="${build.tmp}/default/branding.jar/idea" />
<echoxml file="${build.tmp}/default/branding.jar/idea/MPSApplicationInfo.xml">
<component>
<version major="${mpsBootstrapCore.version.major}" minor="${mpsBootstrapCore.version.minor}${mpsBootstrapCore.version.bugfixNr}" eap="true" update-channel="MPS261EAP" />
<company name="JetBrains s.r.o." url="https://www.jetbrains.com/?fromIDE" copyrightStart="2009" />
<build number="${build.number}" date="${date}" />
<logo url="/splash.png" textcolor="FFFFFF" progressColor="FFFFFF" progressY="396" progressHeight="4" />
<icon ico="/MPS.ico" svg="/mps.svg" svg-small="/mps_16.svg" />
<package code="code" />
<names product="MPS" fullname="JetBrains MPS" script="mps" />
<welcome-screen logo-url="/MPS_welcomeScreen.png" />
<plugins url="https://plugins.jetbrains.com/" />
<update-urls check="https://www.jetbrains.com/mps/update.xml" patches="https://www.jetbrains.com/mps/download/?utm_source=product&utm_media=link&utm_campaign=MPS&utm_content=${mpsBootstrapCore.version.major}.${mpsBootstrapCore.version.minor}" />
<help root="mps" webhelp-url="https://www.jetbrains.com/mps/webhelp/" />
<documentation url="https://www.jetbrains.com/help/mps/${mpsBootstrapCore.version.major}.${mpsBootstrapCore.version.minor}/fast-track-to-mps.html" />
<support url="https://www.jetbrains.com/support/mps/index.html" />
<feedback url="https://www.jetbrains.com/feedback/feedback.jsp?product=mps" />
<whatsnew url="https://www.jetbrains.com/mps/whatsnew/index.html" />
<keymap win="https://www.jetbrains.com/help/mps/${mpsBootstrapCore.version.major}.${mpsBootstrapCore.version.minor}/default-keymap-reference.html" mac="https://www.jetbrains.com/help/mps/${mpsBootstrapCore.version.major}.${mpsBootstrapCore.version.minor}/default-keymap-reference.html" />
<jetbrains-tv url="https://www.youtube.com/user/JetBrainsTV/search?query=MPS" />
<youtrack url="https://youtrack.jetbrains.com/newissue?project=MPS&clearDraft=true&description=$DESCR" />
</component>
</echoxml>
<jar destfile="${build.layout}/lib/branding.jar" duplicate="preserve">
<fileset file="${basedir}/workbench/mps-icons/source/mps.svg" />
<fileset file="${basedir}/workbench/mps-icons/source/mps_16.svg" />
<fileset file="${basedir}/workbench/mps-icons/source/MPS.ico" />
<fileset file="${basedir}/workbench/mps-icons/source/MPS_welcomeScreen.png" />
<fileset file="${basedir}/workbench/mps-icons/source/splash.png" />
<fileset file="${basedir}/workbench/mps-icons/source/splash@2x.png" />
<fileset file="${basedir}/workbench/mps-icons/source/about@2x.png" />
<fileset file="${basedir}/workbench/mps-icons/source/MPS_welcomeScreen@2x.png" />
<fileset file="${basedir}/euaMps.html" />
<fileset dir="${build.tmp}/default/branding.jar" />
</jar>
<jar destfile="${build.layout}/lib/mps-tips.jar" duplicate="preserve">
<fileset file="${build.tmp}/out/mps-tips/mps-tips/**" />
</jar>
<mkdir dir="${build.tmp}/default/MPS-src.zip" />
<copy todir="${build.tmp}/default/MPS-src.zip">
<fileset dir="${mps_home}">
<include name="MPSPlugin/**/*.java" />
<include name="core/**/*.java" />
<include name="plugins/**/*.java" />
<include name="workbench/**/*.java" />
<include name="testbench/**/*.java" />
<exclude name="**/sandbox/**" />
<exclude name="**/languages/**" />
</fileset>
<regexpmapper from="(.*)(/|\\)(src|sources|source|source_gen|source-api)(/|\\)(.*)" to="\5" />
</copy>
<zip destfile="${build.layout}/lib/MPS-src.zip">
<fileset dir="${build.tmp}/default/MPS-src.zip" />
</zip>
<mkdir dir="${build.layout}/license" />
<copy todir="${build.layout}/license">
<fileset dir="${artifacts.mpsStandalone}/license" />
</copy>
<copy file="${artifacts.mpsStandalone}/LICENSE.txt" todir="${build.layout}" />
<mkdir dir="${build.layout}/plugins" />
<copy todir="${build.layout}/plugins">
<fileset dir="${artifacts.mpsStandalone}/plugins" />
</copy>
<mkdir dir="${build.layout}/plugins/mps-core" />
<copy todir="${build.layout}/plugins/mps-core">
<fileset dir="${artifacts.mpsCore}/mps-core" />
</copy>
<mkdir dir="${build.layout}/plugins/mps-build" />
<copy todir="${build.layout}/plugins/mps-build">
<fileset dir="${artifacts.mpsBuild}/mps-build" />
</copy>
<copy todir="${build.layout}/plugins">
<fileset dir="${artifacts.mpsConsolePlugin}" />
</copy>
<mkdir dir="${build.layout}/plugins/mps-trove" />
<copy todir="${build.layout}/plugins/mps-trove">
<fileset dir="${artifacts.mpsTroveCollections}/mps-trove" />
</copy>
<mkdir dir="${build.layout}/plugins/mps-java" />
<copy todir="${build.layout}/plugins/mps-java">
<fileset dir="${artifacts.mpsJava}/mps-java" />
</copy>
<mkdir dir="${build.layout}/plugins/mps-devkit" />
<copy todir="${build.layout}/plugins/mps-devkit">
<fileset dir="${artifacts.mpsDevKit}/mps-devkit" />
</copy>
<copy todir="${build.layout}/plugins">
<fileset dir="${artifacts.mpsExecutionPlugin}" />
</copy>
<copy todir="${build.layout}/plugins">
<fileset dir="${artifacts.mpsMakePlugin}" />
</copy>
<copy todir="${build.layout}/plugins">
<fileset dir="${artifacts.mpsPlugins}" />
</copy>
<mkdir dir="${build.layout}/plugins/mps-vcs" />
<copy todir="${build.layout}/plugins/mps-vcs">
<fileset dir="${artifacts.mpsVcs}/mps-vcs" />
</copy>
<mkdir dir="${build.layout}/plugins/vcs-git" />
<copy todir="${build.layout}/plugins/vcs-git">
<fileset dir="${artifacts.mpsVcs}/vcs-git" />
</copy>
<mkdir dir="${build.layout}/plugins/mps-git4idea" />
<copy todir="${build.layout}/plugins/mps-git4idea">
<fileset dir="${artifacts.mpsVcs}/mps-git4idea" />
</copy>
<mkdir dir="${build.layout}/plugins/vcs-svn" />
<copy todir="${build.layout}/plugins/vcs-svn">
<fileset dir="${artifacts.mpsVcs}/vcs-svn" />
</copy>
<mkdir dir="${build.layout}/plugins/mps-migration" />
<copy todir="${build.layout}/plugins/mps-migration">
<fileset dir="${artifacts.mpsMigration}/mps-migration" />
</copy>
<mkdir dir="${build.layout}/plugins/mps-project-migrations" />
<copy todir="${build.layout}/plugins/mps-project-migrations">
<fileset dir="${artifacts.mpsMigration}/mps-project-migrations" />
</copy>
<mkdir dir="${build.layout}/plugins/mps-tooltips" />
<copy todir="${build.layout}/plugins/mps-tooltips">
<fileset dir="${artifacts.mpsTooltips}/mps-tooltips" />
</copy>
<mkdir dir="${build.layout}/plugins/mps-build-ui" />
<copy todir="${build.layout}/plugins/mps-build-ui">
<fileset dir="${artifacts.mpsBuildUI}/mps-build-ui" />
</copy>
<copy todir="${build.layout}/plugins">
<fileset dir="${artifacts.jetpad}" />
</copy>
<copy todir="${build.layout}/plugins">
<fileset dir="${artifacts.mpsDiagramEditor}" />
</copy>
<copy todir="${build.layout}/plugins">
<fileset dir="${artifacts.mpsDebuggerPlugin}" />
</copy>
<mkdir dir="${build.layout}/plugins/mps-junit5" />
<copy todir="${build.layout}/plugins/mps-junit5">
<fileset dir="${artifacts.mpsTesting}/mps-junit5" />
</copy>
<mkdir dir="${build.layout}/plugins/mps-testing" />
<copy todir="${build.layout}/plugins/mps-testing">
<fileset dir="${artifacts.mpsTesting}/mps-testing" />
</copy>
<copy todir="${build.layout}/plugins">
<fileset dir="${artifacts.mpsHttpSupportPlugin}" />
</copy>
<copy todir="${build.layout}/plugins">
<fileset dir="${artifacts.mpsNavigationBar}" />
</copy>
<copy todir="${build.layout}/plugins">
<fileset dir="${artifacts.mpsContextActionsTool}" />
</copy>
<copy todir="${build.layout}/plugins">
<fileset dir="${artifacts.mpsSpellCheckPlugin}" />
</copy>
<mkdir dir="${build.layout}/plugins/mps-kotlin" />
<copy todir="${build.layout}/plugins/mps-kotlin">
<fileset dir="${artifacts.mpsKotlinPlugin}/mps-kotlin" />
</copy>
<mkdir dir="${build.layout}/plugins/mps-ant-make" />
<copy todir="${build.layout}/plugins/mps-ant-make">
<fileset dir="${artifacts.mpsAntToolsPlugin}/mps-ant-make" />
</copy>
<zip destfile="${build.layout}/samples.zip">
<zipfileset dir="${basedir}/samples" prefix="MPSSamples">
<exclude name="**/vcs.xml" />
<exclude name="**/*.history" />
</zipfileset>
</zip>
<echo file="${build.layout}/build.number">build.number=${build.number}${line.separator}date=${date}${line.separator}revision.number=${build.vcs.number}${line.separator}configuration.name=${teamcity.buildConfName}${line.separator}version=${mpsBootstrapCore.version}${line.separator}idea.platform.build.number=${idea.platform.build.number}</echo>
<copy todir="${build.layout}">
<fileset file="${basedir}/build.txt" />
<filterchain>
<tokenfilter>
<replaceregex pattern=".+" replace="${build.number}" flags="" />
</tokenfilter>
</filterchain>
</copy>
<copy todir="${build.layout}">
<fileset file="${basedir}/about.txt" />
</copy>
<copy todir="${build.layout}">
<fileset file="${basedir}/releaseNotes.txt" />
</copy>
<copy todir="${build.layout}">
<fileset file="${basedir}/readme.txt" />
<filterchain>
<tokenfilter>
<replaceregex pattern="\$version\$" replace="${mpsBootstrapCore.version}" flags="" />
</tokenfilter>
</filterchain>
</copy>
<echo file="${build.layout}/build.properties">mps.build.number=${build.number}${line.separator}mps.date=${date}${line.separator}mps.build.vcs.number=${build.vcs.number}${line.separator}mps.teamcity.buildConfName=${teamcity.buildConfName}${line.separator}mps.idea.platform.build.number=${idea.platform.build.number}${line.separator}mps.mps.build.counter=${mps.build.counter}${line.separator}mps.runtimeBuild=${runtimeBuild}${line.separator}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/mpsBuild.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsTesting.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsTroveCollections.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsPlugins.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsDevKit.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsJavaCore.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsMakePlugin.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsConsolePlugin.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsStandalone.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsJava.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsHttpSupportPlugin.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsNavigationBar.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsDebuggerPlugin.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsExecutionPlugin.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsBuildUI.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsVcsPlatform.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsVcsStandaloneJar.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsVcs.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsMigrationCore.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsMigration.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/jetpad.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsDiagramEditor.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsTooltips.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsContextActionsTool.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsSpellCheckPlugin.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsKotlinPlugin.xml" inheritAll="false" useNativeBasedir="true" />
<ant antfile="build/mpsAntToolsPlugin.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="collect-tips-mps-tips">
<mkdir dir="${build.tmp}/out/mps-tips/mps-tips/tips/css" />
<mkdir dir="${build.tmp}/out/mps-tips/mps-tips/tips/images" />
<mkdir dir="${build.tmp}/out/mps-tips/mps-tips/tips" />
<copy todir="${build.tmp}/out/mps-tips/mps-tips/tips">
<fileset dir="${basedir}/workbench/mps-tips/source/tips" />
</copy>
<mkdir dir="${build.tmp}/out/mps-tips/mps-tips/META-INF" />
<fileset id="contents" includes="*.*" dir="${build.tmp}/out/mps-tips/mps-tips/tips" />
<property name="mps-tips.prop.contents" refid="contents" />
<echoxml file="${build.tmp}/out/mps-tips/mps-tips/META-INF/IdeTipsAndTricks.xml">
<idea-plugin>
<extensions defaultExtensionNs="com.intellij">
<tipAndTrick file="${mps-tips.prop.contents}" />
</extensions>
</idea-plugin>
</echoxml>
<replace file="${build.tmp}/out/mps-tips/mps-tips/META-INF/IdeTipsAndTricks.xml" token=";" value=""/>
	<tipAndTrick file="" />
<replace file="${build.tmp}/out/mps-tips/mps-tips/META-INF/IdeTipsAndTricks.xml" token="<tipAndTrick file="" />" value="" />
</target>
</project>