267 lines
9.8 KiB
XML
267 lines
9.8 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project name="mt" default="all">
|
|
|
|
|
|
<property file="mt.properties"/>
|
|
<!-- Uncomment the following property if no tests compilation is needed -->
|
|
<!--
|
|
<property name="skip.tests" value="true"/>
|
|
-->
|
|
|
|
<!-- Compiler options -->
|
|
|
|
<property name="compiler.debug" value="on"/>
|
|
<property name="compiler.generate.no.warnings" value="off"/>
|
|
<property name="compiler.args" value=""/>
|
|
<property name="compiler.max.memory" value="700m"/>
|
|
<patternset id="ignored.files">
|
|
<exclude name="**/*.hprof/**"/>
|
|
<exclude name="**/*.pyc/**"/>
|
|
<exclude name="**/*.pyo/**"/>
|
|
<exclude name="**/*.rbc/**"/>
|
|
<exclude name="**/*.yarb/**"/>
|
|
<exclude name="**/*~/**"/>
|
|
<exclude name="**/.DS_Store/**"/>
|
|
<exclude name="**/.git/**"/>
|
|
<exclude name="**/.hg/**"/>
|
|
<exclude name="**/.svn/**"/>
|
|
<exclude name="**/CVS/**"/>
|
|
<exclude name="**/__pycache__/**"/>
|
|
<exclude name="**/_svn/**"/>
|
|
<exclude name="**/vssver.scc/**"/>
|
|
<exclude name="**/vssver2.scc/**"/>
|
|
</patternset>
|
|
<patternset id="library.patterns">
|
|
<include name="*.war"/>
|
|
<include name="*.swc"/>
|
|
<include name="*.apk"/>
|
|
<include name="*.zip"/>
|
|
<include name="*.egg"/>
|
|
<include name="*.ane"/>
|
|
<include name="*.jar"/>
|
|
<include name="*.ear"/>
|
|
</patternset>
|
|
<patternset id="compiler.resources">
|
|
<exclude name="**/?*.java"/>
|
|
<exclude name="**/?*.form"/>
|
|
<exclude name="**/?*.class"/>
|
|
<exclude name="**/?*.groovy"/>
|
|
<exclude name="**/?*.scala"/>
|
|
<exclude name="**/?*.flex"/>
|
|
<exclude name="**/?*.kt"/>
|
|
<exclude name="**/?*.clj"/>
|
|
</patternset>
|
|
|
|
<!-- JDK definitions -->
|
|
|
|
<property name="jdk.bin.1.8" value="${jdk.home.1.8}/bin"/>
|
|
<path id="jdk.classpath.1.8">
|
|
<fileset dir="${jdk.home.1.8}">
|
|
<include name="jre/lib/charsets.jar"/>
|
|
<include name="jre/lib/deploy.jar"/>
|
|
<include name="jre/lib/ext/cldrdata.jar"/>
|
|
<include name="jre/lib/ext/dnsns.jar"/>
|
|
<include name="jre/lib/ext/jaccess.jar"/>
|
|
<include name="jre/lib/ext/jfxrt.jar"/>
|
|
<include name="jre/lib/ext/localedata.jar"/>
|
|
<include name="jre/lib/ext/nashorn.jar"/>
|
|
<include name="jre/lib/ext/sunec.jar"/>
|
|
<include name="jre/lib/ext/sunjce_provider.jar"/>
|
|
<include name="jre/lib/ext/sunpkcs11.jar"/>
|
|
<include name="jre/lib/ext/zipfs.jar"/>
|
|
<include name="jre/lib/javaws.jar"/>
|
|
<include name="jre/lib/jce.jar"/>
|
|
<include name="jre/lib/jfr.jar"/>
|
|
<include name="jre/lib/jfxswt.jar"/>
|
|
<include name="jre/lib/jsse.jar"/>
|
|
<include name="jre/lib/management-agent.jar"/>
|
|
<include name="jre/lib/plugin.jar"/>
|
|
<include name="jre/lib/resources.jar"/>
|
|
<include name="jre/lib/rt.jar"/>
|
|
</fileset>
|
|
</path>
|
|
|
|
<property name="project.jdk.home" value="${jdk.home.1.8}"/>
|
|
<property name="project.jdk.bin" value="${jdk.bin.1.8}"/>
|
|
<property name="project.jdk.classpath" value="jdk.classpath.1.8"/>
|
|
<!-- Register Custom Compiler Taskdefs -->
|
|
<property name="javac2.home" value="${idea.home}/lib"/>
|
|
<path id="javac2.classpath">
|
|
<pathelement location="${javac2.home}/javac2.jar"/>
|
|
<pathelement location="${javac2.home}/jdom.jar"/>
|
|
<pathelement location="${javac2.home}/asm-all.jar"/>
|
|
<pathelement location="${javac2.home}/jgoodies-forms.jar"/>
|
|
</path>
|
|
<target name="register.custom.compilers">
|
|
<taskdef name="javac2" classname="com.intellij.ant.Javac2" classpathref="javac2.classpath"/>
|
|
<taskdef name="instrumentIdeaExtensions" classname="com.intellij.ant.InstrumentIdeaExtensions" classpathref="javac2.classpath"/>
|
|
</target>
|
|
|
|
<!-- Modules -->
|
|
|
|
|
|
<!-- Module MT -->
|
|
|
|
<dirname property="module.mt.basedir" file="${ant.file}"/>
|
|
|
|
|
|
<property name="module.jdk.home.mt" value="${jdk.home.1.8}"/>
|
|
<property name="module.jdk.bin.mt" value="${jdk.bin.1.8}"/>
|
|
<property name="module.jdk.classpath.mt" value="jdk.classpath.1.8"/>
|
|
|
|
<property name="compiler.args.mt" value="-encoding UTF-8 -source 8 -target 8 ${compiler.args}"/>
|
|
|
|
<property name="mt.output.dir" value="${module.mt.basedir}/out/production/MT"/>
|
|
<property name="mt.testoutput.dir" value="${module.mt.basedir}/out/test/MT"/>
|
|
|
|
<path id="mt.module.bootclasspath">
|
|
<!-- Paths to be included in compilation bootclasspath -->
|
|
</path>
|
|
|
|
<path id="mt.module.production.classpath">
|
|
<path refid="${module.jdk.classpath.mt}"/>
|
|
</path>
|
|
|
|
<path id="mt.runtime.production.module.classpath">
|
|
<pathelement location="${mt.output.dir}"/>
|
|
</path>
|
|
|
|
<path id="mt.module.classpath">
|
|
<path refid="${module.jdk.classpath.mt}"/>
|
|
<pathelement location="${mt.output.dir}"/>
|
|
</path>
|
|
|
|
<path id="mt.runtime.module.classpath">
|
|
<pathelement location="${mt.testoutput.dir}"/>
|
|
<pathelement location="${mt.output.dir}"/>
|
|
</path>
|
|
|
|
|
|
<patternset id="excluded.from.module.mt">
|
|
<patternset refid="ignored.files"/>
|
|
</patternset>
|
|
|
|
<patternset id="excluded.from.compilation.mt">
|
|
<patternset refid="excluded.from.module.mt"/>
|
|
</patternset>
|
|
|
|
<path id="mt.module.sourcepath">
|
|
<dirset dir="${module.mt.basedir}">
|
|
<include name="src"/>
|
|
<include name="ejemplos"/>
|
|
</dirset>
|
|
</path>
|
|
|
|
|
|
<target name="compile.module.mt" depends="compile.module.mt.production,compile.module.mt.tests" description="Compile module MT"/>
|
|
|
|
<target name="compile.module.mt.production" depends="register.custom.compilers" description="Compile module MT; production classes">
|
|
<mkdir dir="${mt.output.dir}"/>
|
|
<javac2 destdir="${mt.output.dir}" debug="${compiler.debug}" nowarn="${compiler.generate.no.warnings}" memorymaximumsize="${compiler.max.memory}" fork="true" executable="${module.jdk.bin.mt}/javac">
|
|
<compilerarg line="${compiler.args.mt}"/>
|
|
<bootclasspath refid="mt.module.bootclasspath"/>
|
|
<classpath refid="mt.module.production.classpath"/>
|
|
<src refid="mt.module.sourcepath"/>
|
|
<patternset refid="excluded.from.compilation.mt"/>
|
|
</javac2>
|
|
|
|
<copy todir="${mt.output.dir}">
|
|
<fileset dir="${module.mt.basedir}/src">
|
|
<patternset refid="compiler.resources"/>
|
|
<type type="file"/>
|
|
</fileset>
|
|
<fileset dir="${module.mt.basedir}/ejemplos">
|
|
<patternset refid="compiler.resources"/>
|
|
<type type="file"/>
|
|
</fileset>
|
|
</copy>
|
|
</target>
|
|
|
|
<target name="compile.module.mt.tests" depends="register.custom.compilers,compile.module.mt.production" description="compile module MT; test classes" unless="skip.tests"/>
|
|
|
|
<target name="clean.module.mt" description="cleanup module">
|
|
<delete dir="${mt.output.dir}"/>
|
|
<delete dir="${mt.testoutput.dir}"/>
|
|
</target>
|
|
|
|
<target name="init" description="Build initialization">
|
|
<!-- Perform any build initialization in this target -->
|
|
</target>
|
|
|
|
<target name="clean" depends="clean.module.mt, clean.artifact.mt" description="cleanup all"/>
|
|
|
|
<target name="build.modules" depends="init, clean, compile.module.mt" description="build all modules"/>
|
|
|
|
<target name="init.artifacts">
|
|
<property name="artifacts.temp.dir" value="${basedir}/__artifacts_temp"/>
|
|
<property name="artifact.output.mt" value="${basedir}/out/artifacts/MT"/>
|
|
<mkdir dir="${artifacts.temp.dir}"/>
|
|
<property name="artifact.temp.output.MT" value="${artifacts.temp.dir}/MT.jar"/>
|
|
<taskdef resource="com/sun/javafx/tools/ant/antlib.xml" uri="javafx:com.sun.javafx.tools.ant" classpath="${jdk.home.1.8}/lib/ant-javafx.jar"/>
|
|
</target>
|
|
|
|
<target name="clean.artifact.mt" description="clean MT artifact output">
|
|
<delete dir="${artifact.output.mt}"/>
|
|
</target>
|
|
|
|
<target xmlns:fx="javafx:com.sun.javafx.tools.ant" name="artifact.mt" depends="init.artifacts, compile.module.mt" description="Build 'MT' artifact">
|
|
<mkdir dir="${artifact.output.mt}"/>
|
|
<copy todir="${artifact.temp.output.MT}">
|
|
<fileset dir="${mt.output.dir}"/>
|
|
</copy>
|
|
<fx:fileset id="all_but_MT" dir="${artifact.temp.output.MT}" includes="**/*.jar">
|
|
<exclude name="MT.jar"/>
|
|
</fx:fileset>
|
|
<fx:fileset id="all_MT" dir="${artifact.temp.output.MT}" includes="**/*.jar"/>
|
|
<fx:application id="MT_id" name="MT" mainClass="cl.cromer.mt.MT"/>
|
|
<fx:jar destfile="${artifact.temp.output.MT}/MT.jar">
|
|
<fx:application refid="MT_id"/>
|
|
<fileset dir="${artifact.temp.output.MT}" excludes="**/*.jar"/>
|
|
<fx:resources>
|
|
<fx:fileset refid="all_but_MT"/>
|
|
</fx:resources>
|
|
<manifest>
|
|
<attribute name="Implementation-Title" value="MT"/>
|
|
<attribute name="Implementation-Version" value=""/>
|
|
<attribute name="Implementation-Vendor" value=""/>
|
|
</manifest>
|
|
</fx:jar>
|
|
<condition property="app.icon.path" value="${basedir}/src/cl/cromer/mt/images/icon.png">
|
|
<and>
|
|
<os family="unix"/>
|
|
<not>
|
|
<os family="mac"/>
|
|
</not>
|
|
</and>
|
|
</condition>
|
|
<condition property="app.icon.path" value="${basedir}/src/cl/cromer/mt/images/icon.icns">
|
|
<os family="mac"/>
|
|
</condition>
|
|
<condition property="app.icon.path" value="${basedir}/src/cl/cromer/mt/images/icon.ico">
|
|
<os family="windows"/>
|
|
</condition>
|
|
<fx:deploy width="640" height="480" updatemode="background" outdir="${artifact.temp.output.MT}/deploy" outfile="MT" nativeBundles="all">
|
|
<fx:application refid="MT_id"/>
|
|
<fx:info title="MT">
|
|
<fx:icon href="${app.icon.path}"/>
|
|
</fx:info>
|
|
<fx:resources>
|
|
<fx:fileset refid="all_MT"/>
|
|
</fx:resources>
|
|
</fx:deploy>
|
|
<copy todir="${artifact.output.mt}">
|
|
<fileset dir="${artifact.temp.output.MT}/deploy"/>
|
|
</copy>
|
|
<delete includeemptydirs="true">
|
|
<fileset dir="${artifact.temp.output.MT}"/>
|
|
</delete>
|
|
</target>
|
|
|
|
<target name="build.all.artifacts" depends="artifact.mt" description="Build all artifacts">
|
|
|
|
<!-- Delete temporary files -->
|
|
<delete dir="${artifacts.temp.dir}"/>
|
|
</target>
|
|
|
|
<target name="all" depends="build.modules, build.all.artifacts" description="build all"/>
|
|
</project> |