Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE project>
- <project name="GenericForgeMod" default="build">
- <description>Generic ForgeMod Builder</description>
- <target name="init">
- <!-- load properties from files -->
- <property file="build.properties"/>
- <property file="mod.properties"/>
- <property name="version" value="${version.minecraft}.r${version.build}"/>
- <!-- base dirs -->
- <property name="dev.home" location="${dir.project}"/>
- <property name="mcp.home" location="${dir.mcp}"/>
- <property name="dev.core.home" location="${dir.core.project}"/>
- <property name="release.home" location="${dir.release}"/>
- <property name="release.jar" value="[${version.minecraft}]${mod.id}.Forge.${version}.Uni.CoreMod.jar"/>
- <property name="release.zip" value="[${version.minecraft}]${mod.id}.ML.${version}.zip"/>
- <!-- setup python -->
- <property name="python.win" location="${mcp.home}/runtime/bin/python/python_mcp"/>
- <condition property="python" value="${python.win}" else="python">
- <os family="Windows"/>
- </condition>
- <!-- setup source dirs -->
- <property name="dev.src" location="${dev.home}/src"/>
- <property name="dev.resources" location="${dev.home}/resources"/>
- <property name="dev.core.src" location="${dev.core.home}/src"/>
- <!-- check if the directories are present -->
- <condition property="has.dev.src" value="true" else="false">
- <available file="${dev.src}" type="dir"/>
- </condition>
- <condition property="has.dev.resources" value="true" else="false">
- <available file="${dev.resources}" type="dir"/>
- </condition>
- <condition property="has.dev.core.src" value="true" else="false">
- <available file="${dev.core.src}" type="dir"/>
- </condition>
- <!-- setup MCP dirs -->
- <property name="mcp.src" location="${mcp.home}/src"/>
- <property name="mcp.src.minecraft" location="${mcp.src}/minecraft"/>
- <property name="mcp.bin" location="${mcp.home}/reobf/minecraft"/>
- </target>
- <target name="clean">
- <!-- clean minecraft sources -->
- <delete verbose="true" failonerror="false">
- <fileset dir="${mcp.src.minecraft}">
- <present present="both" targetdir="${dev.src}"/>
- </fileset>
- </delete>
- <delete verbose="true" failonerror="false">
- <fileset dir="${mcp.src.minecraft}">
- <present present="both" targetdir="${dev.core.src}"/>
- </fileset>
- </delete>
- <!-- clean classes -->
- <delete verbose="true" failonerror="false">
- <fileset dir="${mcp.bin}"/>
- </delete>
- </target>
- <target name="merge-source">
- <!-- merge sources -->
- <antcall target="merge-mod"/>
- <antcall target="merge-core"/>
- </target>
- <target name="merge-mod" if="${has.dev.src}">
- <!-- merge minecraft sources -->
- <copy todir="${mcp.src.minecraft}" overwrite="true" verbose="true">
- <fileset dir="${dev.src}" includes="**/*.java"/>
- </copy>
- </target>
- <target name="merge-core" if="${has.dev.core.src}">
- <!-- merge minecraft sources -->
- <copy todir="${mcp.src.minecraft}" overwrite="true" verbose="true">
- <fileset dir="${dev.core.src}" includes="**/*.java"/>
- </copy>
- </target>
- <target name="recompile">
- <!-- recompile -->
- <exec executable="${python}" dir="${mcp.home}" failonerror="true">
- <arg value="${mcp.home}/runtime/recompile.py"/>
- </exec>
- </target>
- <target name="reobfuscate">
- <!-- reobfuscate -->
- <exec executable="${python}" dir="${mcp.home}" failonerror="true">
- <arg value="${mcp.home}/runtime/reobfuscate.py"/>
- </exec>
- </target>
- <target name="build-Forge-jar">
- <!-- build the jar -->
- <jar manifest="${dev.resources}/META-INF/MANIFEST.MF" destfile="${release.home}/${release.jar}">
- <fileset dir="${mcp.bin}" includes="bspkrs/treecapitator/**/*.class"/>
- <fileset dir="${dev.resources}">
- <exclude name="mcmod.template"/>
- <exclude name="coremods"/>
- <exclude name="coremods/*"/>
- </fileset>
- <mappedresources>
- <concat>
- <fileset dir="${dev.resources}" includes="mcmod.template"/>
- <filterchain>
- <replacetokens>
- <token key="AUTHORS" value="${mod.authors}"/>
- <token key="CREDITS" value="${mod.credits}"/>
- <token key="DEPENDANTS" value="${mod.dependants}"/>
- <token key="DEPENDENCIES" value="${mod.Forge.dependencies}"/>
- <token key="DESCRIPTION" value="${mod.description}"/>
- <token key="LOGOFILE" value="${mod.logoFile}"/>
- <token key="MCVERSION" value="${version.minecraft}"/>
- <token key="MODID" value="${mod.id}"/>
- <token key="MODNAME" value="${mod.name}"/>
- <token key="PARENT" value="${mod.parent}"/>
- <token key="REQUIREDMODS" value="${mod.Forge.requiredMods}"/>
- <token key="SCREENSHOTS" value="${mod.screenshots}"/>
- <token key="UPDATEURL" value="${mod.Forge.updateUrl}"/>
- <token key="URL" value="${mod.url}"/>
- <token key="USEDEPENDANCYINFORMATION" value="${mod.useDependencyInformation}"/>
- <token key="VERSION" value="Forge ${version}"/>
- </replacetokens>
- </filterchain>
- </concat>
- <mergemapper to="mcmod.info"/>
- </mappedresources>
- </jar>
- </target>
- <target name="build-ML-zip">
- <!-- build the zip -->
- <zip destfile="${release.home}/${release.zip}">
- <fileset dir="${mcp.bin}" includes="bspkrs/treecapitator/*.class"/>
- <fileset dir="${mcp.bin}" includes="mod_${mod.id}.class"/>
- <fileset dir="${dev.resources}" includes="LICENSE"/>
- <mappedresources>
- <concat>
- <fileset dir="${dev.resources}" includes="mcmod.template"/>
- <filterchain>
- <replacetokens>
- <token key="AUTHORS" value="${mod.authors}"/>
- <token key="CREDITS" value="${mod.credits}"/>
- <token key="DEPENDANTS" value="${mod.dependants}"/>
- <token key="DEPENDENCIES" value="${mod.ML.dependencies}"/>
- <token key="DESCRIPTION" value="${mod.description}"/>
- <token key="LOGOFILE" value="${mod.logoFile}"/>
- <token key="MCVERSION" value="${version.minecraft}"/>
- <token key="MODID" value="mod_${mod.id}"/>
- <token key="MODNAME" value="${mod.name}"/>
- <token key="PARENT" value="${mod.parent}"/>
- <token key="REQUIREDMODS" value="${mod.ML.requiredMods}"/>
- <token key="SCREENSHOTS" value="${mod.screenshots}"/>
- <token key="UPDATEURL" value="${mod.ML.updateUrl}"/>
- <token key="URL" value="${mod.url}"/>
- <token key="USEDEPENDANCYINFORMATION" value="${mod.useDependencyInformation}"/>
- <token key="VERSION" value="ML ${version}"/>
- </replacetokens>
- </filterchain>
- </concat>
- <mergemapper to="mcmod.info"/>
- </mappedresources>
- </zip>
- </target>
- <target name="build" depends="init">
- <!-- build the project and clean up MCP after -->
- <antcall target="clean"/>
- <antcall target="merge-source"/>
- <antcall target="recompile"/>
- <antcall target="reobfuscate"/>
- <antcall target="build-Forge-jar"/>
- <antcall target="build-ML-zip"/>
- <antcall target="clean"/>
- </target>
- </project>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement