2012-03-30 20:22:10 +00:00
<?xml version="1.0" encoding="UTF-8"?>
2012-07-06 13:19:58 +00:00
<!-- ======================================================================
30 Mar 2012 13:35:40
2012-03-30 20:22:10 +00:00
2012-07-06 13:19:58 +00:00
FML
2012-03-30 20:22:10 +00:00
The Forge Mod Loader
2012-07-06 13:19:58 +00:00
cpw
2012-03-30 20:22:10 +00:00
====================================================================== -->
2012-07-03 03:43:29 +00:00
<project name= "FML" default= "jenkinsbuild" >
2012-03-30 20:22:10 +00:00
<description > The Forge Mod Loader</description>
2012-06-01 04:27:46 +00:00
<target name= "writeversion" depends= "buildenvsetup" >
2012-05-10 17:01:39 +00:00
<exec executable= "${python.exe}" dir= "${basedir}" failonerror= "true" >
<arg value= "${basedir}/getversion.py" />
2012-07-02 19:16:40 +00:00
<arg value= "${mcp.home}" />
2012-05-10 17:01:39 +00:00
</exec>
2012-05-10 13:42:31 +00:00
<propertyfile file= "fmlversion.properties" >
2013-06-14 21:21:49 +00:00
<entry key= "fmlbuild.build.number" type= "int" value= "${version.build}" />
<entry key= "fmlbuild.deobfuscation.hash" type= "string" value= "${deobf.checksum}" />
2012-05-10 13:42:31 +00:00
</propertyfile>
</target>
2012-06-01 04:27:46 +00:00
<target name= "buildenvsetup" >
2012-03-30 20:22:10 +00:00
<tstamp >
<format pattern= "yyMMddHHmmss" property= "timestamp" />
</tstamp>
<property environment= "env" />
2012-05-10 13:42:31 +00:00
<property name= "modname" value= "fml" />
2012-12-04 00:52:44 +00:00
<condition property= "mcp.home" value= "${env.WORKSPACE}/mcp" else= "${basedir}/mcp" >
2012-03-30 20:22:10 +00:00
<isset property= "env.WORKSPACE" />
</condition>
2012-12-03 03:59:22 +00:00
<property name= "fml.python.dir" location= "${basedir}/python" />
2013-07-01 01:02:23 +00:00
<property name= "fml.lzma.dir" location= "${basedir}/lzmabin" />
2012-12-03 03:59:22 +00:00
<condition property= "python.exe" value= "${fml.python.dir}/python_fml" else= "python" >
2012-04-04 15:05:31 +00:00
<os family= "Windows" />
2012-03-30 20:22:10 +00:00
</condition>
2013-07-01 01:02:23 +00:00
<condition property= "lzma.exe" value= "${fml.lzma.dir}/xz.exe" else= "xz" >
<os family= "Windows" />
</condition>
2012-12-03 03:59:22 +00:00
<condition property= "mcp.exists" >
2013-06-14 21:21:49 +00:00
<available file= "${mcp.home}/runtime/commands.py" />
</condition>
<condition property= "signature.exists" >
<available file= "${env.JENKINS_HOME}/fmlsigned.properties" />
2012-12-03 03:59:22 +00:00
</condition>
2012-03-30 20:22:10 +00:00
<property name= "mcp.obfoutput" location= "${mcp.home}/reobf" />
<property name= "client.mcp.obfoutput" location= "${mcp.obfoutput}/minecraft" />
<property name= "mcp.srcdir" location= "${mcp.home}/src" />
<property name= "client.mcp.srcdir" location= "${mcp.srcdir}/minecraft" />
2012-07-03 12:14:35 +00:00
<property name= "clean.mcp.srcdir" location= "${mcp.home}/src-base" />
<property name= "patch.mcp.srcdir" location= "${mcp.home}/src-work" />
2012-07-14 17:58:46 +00:00
<property name= "tmp.mcp.srcdir" location= "${mcp.home}/src-tmp" />
<property name= "renamed.mcp.srcdir" location= "${mcp.home}/src-renamed" />
2012-03-30 20:22:10 +00:00
<property name= "common.src.dir" location= "${basedir}/common" />
<property name= "client.src.dir" location= "${basedir}/client" />
<property name= "patch.src.dir" location= "${basedir}/patches" />
2012-08-09 06:44:32 +00:00
<property name= "fml.conf.dir" location= "${basedir}/conf" />
2012-05-10 17:01:39 +00:00
<condition property= "version.build" value= "${env.BUILD_NUMBER}" else= "1" >
<isset property= "env.BUILD_NUMBER" />
</condition>
2013-06-14 21:21:49 +00:00
<available file= "eclipse" property= "eclipse.exists" />
2012-06-01 04:27:46 +00:00
</target>
2012-07-03 03:43:29 +00:00
<target name= "makeversion" depends= "buildenvsetup" >
2012-05-10 17:01:39 +00:00
<antcall target= "writeversion" />
<property file= "fmlversion.properties" />
<property name= "build.number" value= "${fmlbuild.major.number}.${fmlbuild.minor.number}.${fmlbuild.revision.number}" />
<property name= "version.major" value= "${fmlbuild.major.number}" />
<property name= "version.minor" value= "${fmlbuild.minor.number}" />
<property name= "version.rev" value= "${fmlbuild.revision.number}" />
2012-12-03 13:13:20 +00:00
<property name= "version.minecraft" value= "${fmlbuild.mcversion}" />
<property name= "version.branch" value= "${fmlbuild.branch}" />
2012-05-10 17:01:39 +00:00
<property name= "version" value= "${version.major}.${version.minor}.${version.rev}.${version.build}" />
2012-03-30 20:22:10 +00:00
</target>
2012-04-04 13:48:36 +00:00
2012-12-03 03:59:22 +00:00
<target name= "makeclean" depends= "buildenvsetup" if= "mcp.exists" >
<exec executable= "${python.exe}" dir= "${mcp.home}" >
<arg value= "${mcp.home}/runtime/cleanup.py" />
<arg value= "-f" />
</exec>
</target>
2012-12-17 21:53:40 +00:00
2012-12-03 13:13:20 +00:00
<target name= "clean" depends= "buildenvsetup,makeclean" if= "mcp.exists" >
2012-03-30 20:22:10 +00:00
<exec executable= "${python.exe}" dir= "${mcp.home}" >
2012-12-04 00:52:44 +00:00
<arg value= "${basedir}/decompile.py" />
2013-06-28 03:48:52 +00:00
<arg value= "--mcp-dir" />
2012-12-04 00:52:44 +00:00
<arg value= "${mcp.home}" />
2013-06-28 03:48:52 +00:00
<arg value= "--fml-dir" />
2012-12-04 00:52:44 +00:00
<arg value= "${basedir}" />
2013-06-28 03:48:52 +00:00
<arg value= "--gen-conf" />
2012-03-30 20:22:10 +00:00
</exec>
</target>
2012-08-22 15:12:26 +00:00
<target name= "reobfuscate" depends= "buildenvsetup,recompile" >
2012-03-31 05:04:29 +00:00
<exec executable= "${python.exe}" dir= "${mcp.home}" failonerror= "true" >
2012-08-03 10:37:45 +00:00
<arg value= "${mcp.home}/runtime/reobfuscate.py" />
2012-03-30 20:22:10 +00:00
</exec>
2012-11-19 23:00:11 +00:00
<fail message= "Reobfuscation failed" >
2013-06-14 21:21:49 +00:00
<condition >
<not >
<and >
<available file= "${mcp.home}/temp/client.md5" />
<available file= "${mcp.home}/temp/client_reobf.md5" />
</and>
</not>
</condition>
2012-11-19 23:00:11 +00:00
</fail>
2012-04-04 15:05:31 +00:00
<exec executable= "${python.exe}" dir= "${mcp.home}" >
2013-06-14 21:21:49 +00:00
<arg value= "${basedir}/generatechangedfilelist.py" />
<arg value= "${mcp.home}" />
<arg value= "${basedir}/difflist.txt" />
2012-03-30 20:22:10 +00:00
</exec>
</target>
2012-08-11 16:34:25 +00:00
2012-08-03 10:37:45 +00:00
<target name= "recompile" depends= "buildenvsetup" >
<exec executable= "${python.exe}" dir= "${mcp.home}" failonerror= "true" >
<arg value= "${mcp.home}/runtime/recompile.py" />
</exec>
2012-11-19 23:00:11 +00:00
<fail message= "Compilation failed" >
2013-06-14 21:21:49 +00:00
<condition >
<not >
<available file= "${mcp.home}/bin/minecraft/net/minecraft/client/Minecraft.class" />
</not>
</condition>
2012-11-19 23:00:11 +00:00
</fail>
2012-08-03 10:37:45 +00:00
</target>
2012-03-30 20:22:10 +00:00
2012-07-03 03:43:29 +00:00
<target name= "merge-client" depends= "buildenvsetup" >
2012-08-03 10:37:45 +00:00
<copy todir= "${client.mcp.srcdir}" overwrite= "true" verbose= "true" >
<fileset dir= "${client.src.dir}" includes= "**/*.java" />
</copy>
2012-03-30 20:22:10 +00:00
</target>
2013-07-01 02:41:51 +00:00
<target name= "merge-common" depends= "buildenvsetup,build-deobf-data" >
2012-12-09 05:41:51 +00:00
<copy todir= "${client.mcp.srcdir}" overwrite= "true" verbose= "true" >
2012-03-30 20:22:10 +00:00
<fileset dir= "${common.src.dir}" includes= "**/*.java" />
2013-07-01 02:41:51 +00:00
<fileset dir= "${basedir}" includes= "deobfuscation_data-${version.minecraft}.lzma" />
2012-03-30 20:22:10 +00:00
</copy>
</target>
2012-08-11 16:34:25 +00:00
2012-08-14 02:51:53 +00:00
<target name= "merge-source" depends= "buildenvsetup,merge-client,merge-common" />
2012-03-30 20:22:10 +00:00
2013-06-15 00:45:52 +00:00
<target name= "build-universal" depends= "buildenvsetup,merge-client,merge-common,reobfuscate,makeversion,makebinpatches" >
2012-12-03 13:13:20 +00:00
<condition property= "universal.jarname" value= "${modname}-universal-${version.minecraft}-${version}" else= "${modname}-universal-${version.minecraft}-${version}-${version.branch}" >
<equals arg1= "${version.branch}" arg2= "master" />
</condition>
2012-03-30 20:22:10 +00:00
2012-08-09 05:57:42 +00:00
<mkdir dir= "${basedir}/target" />
2013-07-01 02:49:38 +00:00
<path id= "server.classpath" >
<pathelement path= "${mcp.home}/jars/libraries/net/minecraft/launchwrapper/1.3/launchwrapper-1.3.jar" />
<pathelement path= "${mcp.home}/jars/libraries/org/ow2/asm/asm-all/4.1/asm-all-4.1.jar" />
<pathelement path= "${mcp.home}/jars/libraries/lzma/lzma/0.0.1/lzma-0.0.1.jar" />
<pathelement path= "${mcp.home}/jars/libraries/net/sf/jopt-simple/jopt-simple/4.5/jopt-simple-4.5.jar" />
<pathelement path= "${mcp.home}/jars/minecraft_server.${version.minecraft}.jar" />
</path>
<manifestclasspath property= "server.jar.classpath" jarfile= "${mcp.home}/jars/minecraft_server.jar" >
<classpath refid= "server.classpath" />
</manifestclasspath>
<jar destfile= "${basedir}/target/${universal.jarname}.jar" duplicate= "preserve" >
2012-08-09 05:57:42 +00:00
<manifest >
2013-06-14 21:21:49 +00:00
<attribute name= "Main-Class" value= "cpw.mods.fml.relauncher.ServerLaunchWrapper" />
2013-07-01 02:49:38 +00:00
<attribute name= "Class-Path" value= "${server.jar.classpath}" />
2012-08-09 05:57:42 +00:00
</manifest>
2013-06-15 00:45:52 +00:00
<fileset dir= "${client.mcp.obfoutput}" includes= "**/*.class" excludes= "*.class,net/minecraft/**/*.class" />
2012-12-17 22:56:00 +00:00
</jar>
2013-06-14 21:21:49 +00:00
<antcall target= "signjar" />
2013-07-01 02:49:38 +00:00
<zip update= "true" destfile= "${basedir}/target/${universal.jarname}.jar" >
2013-07-01 01:02:23 +00:00
<fileset dir= "${basedir}" includes= "binpatches.pack.lzma,deobfuscation_data-${version.minecraft}.lzma" />
2013-06-29 08:40:01 +00:00
<fileset dir= "${client.mcp.obfoutput}" includes= "*.class" />
2013-06-14 21:21:49 +00:00
<zipfileset dir= "${basedir}" includes= "fmlversion.properties" />
2012-08-09 05:57:42 +00:00
<zipfileset dir= "${basedir}" includes= "LICENSE-fml.txt" />
2013-06-14 21:21:49 +00:00
<zipfileset dir= "${common.src.dir}" includes= "mcpmod.info" />
<zipfileset dir= "${client.src.dir}" includes= "mcp.png" />
<zipfileset dir= "${basedir}" includes= "install/CREDITS-fml.txt" fullpath= "CREDITS-fml.txt" />
2012-08-09 05:57:42 +00:00
<zipfileset dir= "${common.src.dir}" includes= "*.cfg" />
<mappedresources >
<concat >
<fileset dir= "${basedir}/install" includes= "README.txt" />
<filterchain >
<replacetokens >
<token key= "MAJOR" value= "${version.major}" />
<token key= "MINOR" value= "${version.minor}" />
<token key= "REV" value= "${version.rev}" />
<token key= "BUILD" value= "${version.build}" />
<token key= "MCVERSION" value= "${version.minecraft}" />
</replacetokens>
</filterchain>
</concat>
<mergemapper to= "README-fml.txt" />
</mappedresources>
2012-12-17 22:56:00 +00:00
</zip>
2012-08-09 05:57:42 +00:00
</target>
2013-07-02 02:40:19 +00:00
<target name= "build-installer" depends= "build-universal" >
<condition property= "version.fullname" value= "${version.minecraft}-${version}" else= "${version.minecraft}-${version}-${version.branch}" >
<equals arg1= "${version.branch}" arg2= "master" />
</condition>
<tstamp >
<format property= "current.time" pattern= "yyyy-MM-dd'T'HH:mm:ssZ" />
</tstamp>
<delete file= "${basedir}/installer_base.jar" />
<delete file= "${basedir}/install_profile.json" />
<get src= "http://files.minecraftforge.net/installer/forge-installer-1.0.jar" dest= "${basedir}/installer_base.jar" />
<copy file= "${basedir}/jsons/${version.minecraft}-rel.json" tofile= "${basedir}/install_profile.json" />
<copy file= "${basedir}/installer_base.jar" tofile= "${basedir}/target/${modname}-installer-${version.fullname}.jar" />
<replace file= "${basedir}/install_profile.json" >
<replaceFilter token= "@version@" value= "${version}" />
<replaceFilter token= "@minecraft_version@" value= "${version.minecraft}" />
<replaceFilter token= "@timestamp@" value= "${current.time}" />
<replaceFilter token= "@universal_jar@" value= "${modname}-universal-${version.fullname}.jar" />
</replace>
<jar destfile= "${basedir}/target/${modname}-installer-${version.fullname}.jar" update= "true" >
<zipfileset dir= "${basedir}" includes= "install_profile.json" />
<zipfileset dir= "${basedir}/jsons" includes= "big_logo.png" />
<zipfileset dir= "${basedir}/target" includes= "${modname}-universal-${version.fullname}.jar" />
</jar>
<delete file= "${basedir}/install_profile.json" />
</target>
2012-07-03 03:43:29 +00:00
<target name= "build-source-pack" depends= "makeversion" >
2012-12-03 13:38:20 +00:00
<property name= "srcpack.jarname" value= "${modname}-src-${version.minecraft}-${version}-${version.branch}" />
2012-08-09 05:57:42 +00:00
<zip destfile= "${basedir}/target/${srcpack.jarname}.zip" >
2012-11-09 01:54:05 +00:00
<zipfileset dir= "${basedir}" includes= "LICENSE-fml.txt,difflist.txt,commands.patch,mcp_merge.cfg,mc_versions.cfg" prefix= "fml" />
2013-07-01 22:50:49 +00:00
<zipfileset dir= "${basedir}/jsons" includes= "${version.minecraft}-dev.json" fullpath= "fml/fml.json" />
2013-07-01 02:15:53 +00:00
<zipfileset dir= "${basedir}" includes= "deobfuscation_data-${version.minecraft}.lzma" prefix= "fml/common" />
2012-08-04 00:32:23 +00:00
<zipfileset dir= "${common.src.dir}" includes= "**/*.java" prefix= "fml/common" />
<zipfileset dir= "${client.src.dir}" includes= "**/*.java" prefix= "fml/client" />
2012-10-25 14:00:34 +00:00
<zipfileset dir= "${client.src.dir}" includes= "mcp.png" prefix= "fml/client" />
2012-08-04 00:32:23 +00:00
<zipfileset dir= "${basedir}" includes= "fmlversion.properties" prefix= "fml/common" />
2012-08-09 05:57:42 +00:00
<zipfileset dir= "${common.src.dir}" includes= "*.cfg" prefix= "fml/common" />
2012-10-25 14:00:34 +00:00
<zipfileset dir= "${common.src.dir}" includes= "mcpmod.info" prefix= "fml/common" />
2012-04-04 15:05:31 +00:00
<zipfileset dir= "${patch.src.dir}" includes= "**/*.patch" prefix= "fml/patches" />
2012-08-09 06:44:32 +00:00
<zipfileset dir= "${fml.conf.dir}" prefix= "fml/conf" />
2012-12-03 03:59:22 +00:00
<zipfileset dir= "${fml.python.dir}" prefix= "fml/python" />
2012-04-04 13:48:36 +00:00
<mappedresources >
2012-04-04 15:05:31 +00:00
<concat >
<fileset dir= "${basedir}/install" includes= "README.txt" />
<filterchain >
<replacetokens >
<token key= "MAJOR" value= "${version.major}" />
<token key= "MINOR" value= "${version.minor}" />
<token key= "REV" value= "${version.rev}" />
<token key= "BUILD" value= "${version.build}" />
<token key= "MCVERSION" value= "${version.minecraft}" />
</replacetokens>
</filterchain>
</concat>
<mergemapper to= "fml/README-fml.txt" />
2012-04-04 13:48:36 +00:00
</mappedresources>
2012-08-03 10:37:45 +00:00
<zipfileset dir= "${basedir}/install" excludes= "README.txt,fml.pyc" prefix= "fml" />
2012-03-30 20:22:10 +00:00
</zip>
</target>
2012-04-04 13:48:36 +00:00
2013-03-02 15:02:02 +00:00
<target name= "build-deobf-data" depends= "makeversion" >
2013-06-14 21:21:49 +00:00
<mkdir dir= "build-tmp-deobf" />
2013-03-02 20:06:13 +00:00
<copy todir= "build-tmp-deobf" >
2013-03-02 15:02:02 +00:00
<mappedresources >
2013-06-14 21:21:49 +00:00
<fileset dir= "${mcp.home}/conf" includes= "packaged.srg" />
2013-06-29 17:33:14 +00:00
<globmapper from= "packaged.srg" to= "deobfuscation_data-${version.minecraft}" />
2013-03-02 15:02:02 +00:00
</mappedresources>
2013-03-02 20:06:13 +00:00
</copy>
2013-07-01 01:02:23 +00:00
<exec executable= "${lzma.exe}" >
<arg line= "--format=lzma" />
2013-06-29 17:33:14 +00:00
<arg line= "build-tmp-deobf/deobfuscation_data-${version.minecraft}" />
<arg line= "-v" />
</exec>
<copy todir= "${basedir}" >
<fileset dir= "build-tmp-deobf" includes= "*.lzma" />
</copy>
2013-06-14 21:21:49 +00:00
<antcall target= "writeversion" />
2013-03-02 20:06:13 +00:00
<delete dir= "build-tmp-deobf" />
2013-03-02 15:02:02 +00:00
</target>
2013-07-02 02:40:19 +00:00
<target name= "build" depends= "buildenvsetup,build-deobf-data,merge-client,merge-common,build-universal,build-installer,build-source-pack" />
2012-03-30 20:22:10 +00:00
2013-06-14 21:21:49 +00:00
<target name= "jenkinsbuild" depends= "buildenvsetup,jenkinsfmldecompile,patch,build" />
2012-07-06 13:19:58 +00:00
2012-07-03 03:43:29 +00:00
<target name= "patch" depends= "buildenvsetup" >
2012-03-31 00:38:31 +00:00
<exec executable= "${python.exe}" dir= "${basedir}" >
2012-04-04 15:05:31 +00:00
<arg value= "${basedir}/applypatches.py" />
2012-08-01 13:54:57 +00:00
<arg value= "${basedir}" />
2012-04-04 15:05:31 +00:00
<arg value= "${mcp.srcdir}" />
2012-04-05 07:09:29 +00:00
<arg value= "${mcp.home}" />
2012-03-31 00:38:31 +00:00
</exec>
2012-04-04 13:48:36 +00:00
2012-03-30 20:22:10 +00:00
</target>
2012-07-02 19:16:40 +00:00
<target name= "setupenvironment" depends= "buildenvsetup" >
<input message= "This will clean the mcp environment at ${mcp.home} and backup any src-work folder there (src-base will be erased). Continue?" validargs= "y,n" addproperty= "do.continue" />
<condition property= "do.not.continue" >
<equals arg1= "n" arg2= "${do.continue}" />
</condition>
<fail if= "do.not.continue" > You have decided not to continue. This script will stop now.</fail>
<echo > Preparing the MCP environment at ${mcp.home}</echo>
2013-06-14 21:21:49 +00:00
<antcall target= "fmldecompile" />
2012-07-03 12:14:35 +00:00
<echo > Moving old patched sources at ${patch.mcp.srcdir} out of the way</echo>
2012-07-02 19:16:40 +00:00
<move todir= "${mcp.home}/src-work${timestamp}" failonerror= "false" verbose= "true" >
2013-06-14 21:21:49 +00:00
<fileset dir= "${patch.mcp.srcdir}" />
2012-07-02 19:16:40 +00:00
</move>
2012-07-03 12:14:35 +00:00
<echo > Deleting old patch references at ${clean.mcp.srcdir}</echo>
2013-06-14 21:21:49 +00:00
<delete dir= "${clean.mcp.srcdir}" failonerror= "false" />
2012-07-03 12:14:35 +00:00
<echo > Creating new patch references at ${clean.mcp.srcdir}</echo>
<copy todir= "${clean.mcp.srcdir}" >
2013-06-14 21:21:49 +00:00
<fileset dir= "${mcp.srcdir}" />
2012-07-02 19:16:40 +00:00
</copy>
2013-06-14 21:21:49 +00:00
<antcall target= "cleanargo" />
<antcall target= "patch" />
2012-07-03 12:14:35 +00:00
<echo > Creating clean patched references at ${patch.mcp.srcdir}</echo>
<copy todir= "${patch.mcp.srcdir}" >
2013-06-14 21:21:49 +00:00
<fileset dir= "${mcp.srcdir}" />
2012-07-02 19:16:40 +00:00
</copy>
2013-06-14 21:21:49 +00:00
<antcall target= "writeversion" />
2013-07-04 01:22:06 +00:00
<delete >
<fileset dir= "${basedir}" includes= "deobfuscation_data-*.lzma" />
</delete>
<antcall target= "build-deobf-data" />
<copy todir= "${common.src.dir}" >
<fileset dir= "${basedir}" includes= "deobfuscation_data-*.lzma" />
</copy>
2013-06-14 21:21:49 +00:00
<antcall target= "makeeclipse" />
2012-12-03 13:13:20 +00:00
<echo > Setup complete! You should now be able to open ${basedir}/eclipse as a workspace in eclipse and import/refresh the FML project</echo>
2012-07-02 19:16:40 +00:00
</target>
2012-12-03 13:13:20 +00:00
2012-12-03 03:59:22 +00:00
<target name= "fmldecompile" depends= "buildenvsetup,makeclean" >
2012-08-02 13:00:52 +00:00
<exec executable= "${python.exe}" dir= "${basedir}" >
<arg value= "${basedir}/decompile.py" />
2013-06-28 03:48:52 +00:00
<arg value= "--mcp-dir" />
2012-08-02 13:00:52 +00:00
<arg value= "${mcp.home}" />
2013-06-28 03:48:52 +00:00
<arg value= "--fml-dir" />
2012-08-02 13:00:52 +00:00
<arg value= "${basedir}" />
2013-06-28 05:29:10 +00:00
<arg value= "--gen-conf" />
2012-08-02 13:00:52 +00:00
</exec>
2012-08-11 03:09:47 +00:00
</target>
2012-08-11 16:34:25 +00:00
2012-12-03 03:59:22 +00:00
<target name= "jenkinsfmldecompile" depends= "buildenvsetup,makeclean" >
2012-08-11 03:09:47 +00:00
<exec executable= "${python.exe}" dir= "${basedir}" >
<arg value= "${basedir}/decompile.py" />
2013-06-28 03:48:52 +00:00
<arg value= "--mcp-dir" />
2012-08-11 03:09:47 +00:00
<arg value= "${mcp.home}" />
2013-06-28 03:48:52 +00:00
<arg value= "--fml-dir" />
2012-08-11 03:09:47 +00:00
<arg value= "${basedir}" />
</exec>
2012-08-02 13:00:52 +00:00
</target>
2012-07-02 19:16:40 +00:00
2012-07-06 13:19:58 +00:00
<target name= "repatch" depends= "buildenvsetup,checkpatches" >
2012-07-03 03:43:29 +00:00
<echo > Moving old patched sources at ${mcp.home}/src-work out of the way</echo>
<move todir= "${mcp.home}/src-work${timestamp}" failonerror= "false" verbose= "true" >
2013-06-14 21:21:49 +00:00
<fileset dir= "${patch.mcp.srcdir}" />
2012-07-03 03:43:29 +00:00
</move>
2013-06-14 21:21:49 +00:00
<delete dir= "${mcp.srcdir}" />
2012-07-03 12:14:35 +00:00
<copy todir= "${mcp.srcdir}" >
2013-06-14 21:21:49 +00:00
<fileset dir= "${clean.mcp.srcdir}" />
2012-07-03 03:43:29 +00:00
</copy>
2012-07-06 13:19:58 +00:00
2013-06-14 21:21:49 +00:00
<antcall target= "cleanargo" />
2012-07-06 13:19:58 +00:00
2013-06-14 21:21:49 +00:00
<antcall target= "patch" />
2012-07-05 19:23:37 +00:00
<copy todir= "${patch.mcp.srcdir}" >
2013-06-14 21:21:49 +00:00
<fileset dir= "${mcp.srcdir}" />
2012-07-03 03:43:29 +00:00
</copy>
</target>
2012-08-11 16:34:25 +00:00
2012-08-03 10:37:45 +00:00
<target name= "repatchclean" depends= "buildenvsetup" >
2013-06-14 21:21:49 +00:00
<delete dir= "${mcp.srcdir}" />
2012-08-03 10:37:45 +00:00
<copy todir= "${mcp.srcdir}" >
2013-06-14 21:21:49 +00:00
<fileset dir= "${clean.mcp.srcdir}" />
2012-08-03 10:37:45 +00:00
</copy>
2013-06-14 21:21:49 +00:00
<antcall target= "cleanargo" />
2012-08-03 10:37:45 +00:00
2013-06-14 21:21:49 +00:00
<antcall target= "patch" />
2012-08-03 10:37:45 +00:00
</target>
2012-07-06 13:19:58 +00:00
2012-07-03 12:14:35 +00:00
<target name= "cleanargo" depends= "buildenvsetup" >
2013-06-14 21:21:49 +00:00
<delete dir= "${client.mcp.srcdir}/argo" />
<delete dir= "${client.mcp.srcdir}/org" />
2012-07-03 12:14:35 +00:00
</target>
2012-07-06 13:19:58 +00:00
<target name= "checkpatches" depends= "buildenvsetup" >
<uptodate property= "checkUptodate.uptodate" >
<srcfiles dir= "${patch.mcp.srcdir}" includes= "**/*.java" >
2012-11-19 23:00:11 +00:00
<present targetdir= "${patch.src.dir}" >
2013-06-14 21:21:49 +00:00
<globmapper from= "*.java" to= "*.java.patch" />
2012-11-19 23:00:11 +00:00
</present>
2012-07-06 13:19:58 +00:00
</srcfiles>
2013-06-14 21:21:49 +00:00
<globmapper from= "*.java" to= "${patch.src.dir}/*.java.patch" />
2012-07-06 13:19:58 +00:00
</uptodate>
2012-11-19 23:00:11 +00:00
<fail unless= "checkUptodate.uptodate" >
A patch is out of date. Update your patches!
</fail>
2012-07-06 13:19:58 +00:00
</target>
2012-07-02 19:54:25 +00:00
<target name= "updatepatches" depends= "buildenvsetup" >
<exec executable= "${python.exe}" dir= "${basedir}" >
<arg value= "${basedir}/update_patches.py" />
2013-06-14 21:21:49 +00:00
<arg value= "${mcp.home}" />
<arg value= "${basedir}" />
2012-07-02 19:54:25 +00:00
</exec>
</target>
2012-07-14 17:58:46 +00:00
2012-12-04 00:52:44 +00:00
<target name= "makeeclipse" depends= "buildenvsetup" unless= "eclipse.exists" >
<echo >
Extracting fresh eclipse workspace to ${basedir}/eclipse
</echo>
2013-06-14 21:21:49 +00:00
<unzip src= "${basedir}/eclipse-workspace-dev.zip" dest= "${basedir}" />
2012-12-04 00:52:44 +00:00
</target>
2012-08-22 15:12:26 +00:00
<target name= "makerenamedsource" depends= "buildenvsetup,repatch,merge-client,merge-common,reobfuscate" >
2012-07-14 17:58:46 +00:00
<copy todir= "${tmp.mcp.srcdir}" >
2013-06-14 21:21:49 +00:00
<fileset dir= "${mcp.srcdir}" />
2012-07-14 17:58:46 +00:00
</copy>
<exec executable= "${python.exe}" dir= "${mcp.home}" >
<arg value= "${mcp.home}/runtime/updatenames.py" />
<arg value= "-f" />
</exec>
<copy todir= "${renamed.mcp.srcdir}" >
2013-06-14 21:21:49 +00:00
<fileset dir= "${mcp.srcdir}" />
2012-07-14 17:58:46 +00:00
</copy>
<move todir= "${mcp.srcdir}" >
2013-06-14 21:21:49 +00:00
<fileset dir= "${tmp.mcp.srcdir}" />
2012-07-14 17:58:46 +00:00
</move>
</target>
2012-12-17 21:53:40 +00:00
<target name= "signjar" depends= "buildenvsetup,makeversion" if= "signature.exists" >
<condition property= "universal.jarname" value= "${modname}-universal-${version.minecraft}-${version}" else= "${modname}-universal-${version.minecraft}-${version}-${version.branch}" >
<equals arg1= "${version.branch}" arg2= "master" />
</condition>
2013-06-14 21:21:49 +00:00
<property file= "${env.JENKINS_HOME}/fmlsigned.properties" prefix= "sign" />
<echo > ${env.JENKINS_HOME} ${universal.jarname} ${sign.KEYPASS}</echo>
<signjar alias= "FML" jar= "${basedir}/target/${universal.jarname}.zip" keypass= "${sign.KEYPASS}" keystore= "${env.JENKINS_HOME}/${sign.KEYSTORE}" storepass= "${sign.STOREPASS}" verbose= "true" />
</target>
2013-06-15 00:45:52 +00:00
<target name= "makebinpatches" depends= "buildenvsetup,makeversion" >
2013-06-29 19:16:18 +00:00
<path id= "diffset.libs" >
<pathelement path= "${mcp.home}/jars/libraries/com/google/guava/guava/14.0/guava-14.0.jar" />
<pathelement path= "${mcp.home}/jars/libraries/org/ow2/asm/asm-all/4.1/asm-all-4.1.jar" />
<pathelement path= "${mcp.home}/jars/libraries/lzma/lzma/0.0.1/lzma-0.0.1.jar" />
<pathelement path= "${mcp.obfoutput}/minecraft" />
</path>
2013-06-15 01:00:15 +00:00
<delete dir= "${basedir}/binpatch" verbose= "true" />
2013-06-29 19:16:18 +00:00
<java classname= "cpw.mods.fml.common.patcher.GenDiffSet" classpathref= "diffset.libs" >
2013-06-29 08:40:01 +00:00
<arg path= "${mcp.home}/jars/versions/${version.minecraft}/${version.minecraft}.jar.backup" />
2013-06-15 00:45:52 +00:00
<arg path= "${mcp.obfoutput}/minecraft" />
2013-06-29 17:33:14 +00:00
<arg path= "${basedir}/deobfuscation_data-${version.minecraft}.lzma" />
2013-06-14 21:21:49 +00:00
<arg path= "${basedir}/binpatch/client" />
2013-06-29 08:40:01 +00:00
<arg value= "false" />
2013-06-14 21:21:49 +00:00
</java>
2013-06-29 19:16:18 +00:00
<java classname= "cpw.mods.fml.common.patcher.GenDiffSet" classpathref= "diffset.libs" >
2013-06-29 08:40:01 +00:00
<arg path= "${mcp.home}/jars/minecraft_server.${version.minecraft}.jar.backup" />
2013-06-15 00:45:52 +00:00
<arg path= "${mcp.obfoutput}/minecraft" />
2013-06-29 17:33:14 +00:00
<arg path= "${basedir}/deobfuscation_data-${version.minecraft}.lzma" />
2013-06-15 00:45:52 +00:00
<arg path= "${basedir}/binpatch/server" />
2013-06-29 08:40:01 +00:00
<arg value= "true" />
2013-06-15 00:45:52 +00:00
</java>
2013-07-01 01:02:23 +00:00
<mkdir dir= "binpatch-tmp" />
<zip destfile= "binpatch-tmp/binpatches.jar" basedir= "${basedir}" >
<include name= "binpatch/**/*.binpatch" />
</zip>
<apply executable= "pack200" >
<arg line= "--no-gzip" />
<arg line= "binpatch-tmp/binpatches.pack" />
<fileset dir= "binpatch-tmp" includes= "binpatches.jar" />
</apply>
<apply executable= "${lzma.exe}" >
<arg line= "--format=lzma" />
<arg line= "-v" />
<fileset dir= "binpatch-tmp" includes= "binpatches.pack" />
</apply>
<move file= "binpatch-tmp/binpatches.pack.lzma" todir= "${basedir}" />
<delete dir= "binpatch-tmp" failonerror= "false" />
2012-12-17 21:53:40 +00:00
</target>
2012-03-30 20:22:10 +00:00
</project>