mirror of
https://github.com/MinecraftForge/MinecraftForge.git
synced 2026-11-12 08:17:35 +00:00
Fixed ant script to support common folder building and add the new files to the dist archives.
This commit is contained in:
1 parent
965069ba3a
commit
34971ff3e0
2 files changed
+76
-70
No files matched your search
@@ -53,6 +53,7 @@
|
||||
<property name="client.mcp.obfoutput" location="${mcp.obfoutput}/minecraft" />
|
||||
<property name="server.mcp.obfoutput" location="${mcp.obfoutput}/minecraft_server" />
|
||||
<property name="mcp.srcdir" location="${mcp.home}/src" />
|
||||
<property name="common.mcp.srcdir" location="${mcp.srcdir}/common" />
|
||||
<property name="client.mcp.srcdir" location="${mcp.srcdir}/minecraft" />
|
||||
<property name="server.mcp.srcdir" location="${mcp.srcdir}/minecraft_server" />
|
||||
<property name="clean.mcp.srcdir" location="${mcp.home}/src-base" />
|
||||
@@ -90,7 +91,30 @@
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
<target name="buildandreobfmcp" depends="buildenvsetup">
|
||||
<target name="buildandreobfmcp" depends="buildenvsetup,recompile">
|
||||
<exec executable="${python.exe}" dir="${mcp.home}" failonerror="true">
|
||||
<arg value="${mcp.home}/runtime/reobfuscate.py" />
|
||||
</exec>
|
||||
<fail message="Reobfuscation failed">
|
||||
<condition>
|
||||
<not>
|
||||
<and>
|
||||
<available file="${mcp.home}/temp/server.md5"/>
|
||||
<available file="${mcp.home}/temp/server_reobf.md5"/>
|
||||
<available file="${mcp.home}/temp/client.md5"/>
|
||||
<available file="${mcp.home}/temp/client_reobf.md5"/>
|
||||
</and>
|
||||
</not>
|
||||
</condition>
|
||||
</fail>
|
||||
<exec executable="${python.exe}" dir="${mcp.home}">
|
||||
<arg value="${basedir}/generatechangedfilelist.py"/>
|
||||
<arg value="${mcp.home}"/>
|
||||
<arg value="${basedir}/difflist.txt"/>
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
<target name="recompile" depends="buildenvsetup">
|
||||
<exec executable="${python.exe}" dir="${mcp.home}" failonerror="true">
|
||||
<arg value="${mcp.home}/runtime/recompile.py" />
|
||||
</exec>
|
||||
@@ -98,51 +122,41 @@
|
||||
<condition>
|
||||
<not>
|
||||
<and>
|
||||
<available file="${mcp.home}/bin/minecraft/net/minecraft/client/Minecraft.class"/>
|
||||
<available file="${mcp.home}/bin/minecraft_server/net/minecraft/server/MinecraftServer.class"/>
|
||||
<available file="${mcp.home}/bin/minecraft/net/minecraft/client/Minecraft.class"/>
|
||||
<available file="${mcp.home}/bin/minecraft_server/net/minecraft/server/MinecraftServer.class"/>
|
||||
</and>
|
||||
</not>
|
||||
</condition>
|
||||
</fail>
|
||||
<exec executable="${python.exe}" dir="${mcp.home}">
|
||||
<arg value="${mcp.home}/runtime/reobfuscate.py" />
|
||||
</exec>
|
||||
<exec executable="${python.exe}" dir="${mcp.home}">
|
||||
<arg value="${basedir}/generatechangedfilelist.py"/>
|
||||
<arg value="${mcp.home}"/>
|
||||
<arg value="${basedir}/difflist.txt"/>
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
<target name="merge-client" depends="buildenvsetup">
|
||||
<antcall target="merge-source">
|
||||
<param name="side" value="client" />
|
||||
</antcall>
|
||||
</target>
|
||||
|
||||
<target name="merge-server" depends="buildenvsetup">
|
||||
<antcall target="merge-source">
|
||||
<param name="side" value="server" />
|
||||
</antcall>
|
||||
</target>
|
||||
|
||||
<target name="merge-source">
|
||||
<side prop="merge-to" src="mcp.srcdir" side="${side}" />
|
||||
<side prop="side-from" src="src.dir" side="${side}" />
|
||||
|
||||
<copy todir="${merge-to}" overwrite="true" verbose="true">
|
||||
<fileset dir="${side-from}" includes="**/*.java" />
|
||||
<fileset dir="${common.src.dir}" includes="**/*.java" />
|
||||
<copy todir="${client.mcp.srcdir}" overwrite="true" verbose="true">
|
||||
<fileset dir="${client.src.dir}" includes="**/*.java" />
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="build-client" depends="buildenvsetup,fmldecompile,merge-client,buildandreobfmcp,makeversion">
|
||||
<target name="merge-server" depends="buildenvsetup">
|
||||
<copy todir="${server.mcp.srcdir}" overwrite="true" verbose="true">
|
||||
<fileset dir="${server.src.dir}" includes="**/*.java" />
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="merge-common">
|
||||
<copy todir="${common.mcp.srcdir}" overwrite="true" verbose="true">
|
||||
<fileset dir="${common.src.dir}" includes="**/*.java" />
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="merge-source" depends="buildenvsetup,merge-client,merge-server,merge-common" />
|
||||
|
||||
<target name="build-client" depends="buildenvsetup,merge-client,merge-common,buildandreobfmcp,makeversion">
|
||||
<antcall target="extract-built-jar">
|
||||
<param name="side" value="client" />
|
||||
</antcall>
|
||||
</target>
|
||||
|
||||
<target name="build-server" depends="buildenvsetup,fmldecompile,merge-server,buildandreobfmcp,makeversion">
|
||||
<target name="build-server" depends="buildenvsetup,merge-server,merge-common,buildandreobfmcp,makeversion">
|
||||
<antcall target="extract-built-jar">
|
||||
<param name="side" value="server" />
|
||||
</antcall>
|
||||
@@ -157,6 +171,7 @@
|
||||
<zipfileset dir="${basedir}" includes="fmlversion.properties"/>
|
||||
<zipfileset dir="${basedir}" includes="LICENSE-fml.txt" />
|
||||
<zipfileset dir="${basedir}" includes="install/CREDITS-fml.txt" fullpath="CREDITS-fml.txt"/>
|
||||
<zipfileset dir="${common.src.dir}" includes="fml_at.cfg" />
|
||||
<mappedresources>
|
||||
<concat>
|
||||
<fileset dir="${basedir}/install" includes="README.txt" />
|
||||
@@ -178,13 +193,12 @@
|
||||
<target name="build-source-pack" depends="makeversion">
|
||||
<property name="jarname" value="${modname}-src-${version}" />
|
||||
<zip destfile="${basedir}/target/${jarname}.zip">
|
||||
<zipfileset dir="${basedir}" includes="LICENSE-fml.txt,difflist.txt" prefix="fml" />
|
||||
<zipfileset dir="${common.src.dir}" includes="**/*.java" prefix="fml/src/minecraft_server" />
|
||||
<zipfileset dir="${common.src.dir}" includes="**/*.java" prefix="fml/src/minecraft" />
|
||||
<zipfileset dir="${basedir}" includes="LICENSE-fml.txt,difflist.txt,commands.patch" prefix="fml" />
|
||||
<zipfileset dir="${common.src.dir}" includes="**/*.java" prefix="fml/src/common" />
|
||||
<zipfileset dir="${client.src.dir}" includes="**/*.java" prefix="fml/src/minecraft" />
|
||||
<zipfileset dir="${server.src.dir}" includes="**/*.java" prefix="fml/src/minecraft_server" />
|
||||
<zipfileset dir="${basedir}" includes="fmlversion.properties" prefix="fml/src/minecraft" />
|
||||
<zipfileset dir="${basedir}" includes="fmlversion.properties" prefix="fml/src/minecraft_server" />
|
||||
<zipfileset dir="${basedir}" includes="fmlversion.properties" prefix="fml/src/common" />
|
||||
<zipfileset dir="${common.src.dir}" includes="fml_at.cfg" prefix="fml/src/common" />
|
||||
<zipfileset dir="${patch.src.dir}" includes="**/*.patch" prefix="fml/patches" />
|
||||
<mappedresources>
|
||||
<concat>
|
||||
@@ -201,11 +215,11 @@
|
||||
</concat>
|
||||
<mergemapper to="fml/README-fml.txt" />
|
||||
</mappedresources>
|
||||
<zipfileset dir="${basedir}/install" excludes="README.txt" prefix="fml" />
|
||||
<zipfileset dir="${basedir}/install" excludes="README.txt,fml.pyc" prefix="fml" />
|
||||
</zip>
|
||||
</target>
|
||||
|
||||
<target name="build" depends="buildenvsetup,merge-server,merge-client,build-server,build-client,build-source-pack" />
|
||||
<target name="build" depends="buildenvsetup,merge-server,merge-client,merge-common,build-server,build-client,build-source-pack" />
|
||||
|
||||
<target name="jenkinsbuild" depends="buildenvsetup,fmldecompile,patch,build"/>
|
||||
|
||||
@@ -288,6 +302,17 @@
|
||||
<fileset dir="${mcp.srcdir}"/>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="repatchclean" depends="buildenvsetup">
|
||||
<delete dir="${mcp.srcdir}"/>
|
||||
<copy todir="${mcp.srcdir}">
|
||||
<fileset dir="${clean.mcp.srcdir}"/>
|
||||
</copy>
|
||||
|
||||
<antcall target="cleanargo"/>
|
||||
|
||||
<antcall target="patch"/>
|
||||
</target>
|
||||
|
||||
<target name="cleanargo" depends="buildenvsetup">
|
||||
<delete dir="${client.mcp.srcdir}/argo"/>
|
||||
|
||||
+13
-32
@@ -1,8 +1,5 @@
|
||||
import sys
|
||||
import os
|
||||
import commands
|
||||
import fnmatch
|
||||
import re
|
||||
import subprocess, shlex
|
||||
|
||||
mcp_root = os.path.abspath(sys.argv[1])
|
||||
@@ -16,29 +13,16 @@ def cmdsplit(args):
|
||||
|
||||
def main():
|
||||
list_file = os.path.abspath(sys.argv[2])
|
||||
prelist = os.path.join(mcp_root,"temp","server.md5")
|
||||
postlist = os.path.join(mcp_root,"temp","server_reobf.md5")
|
||||
cmd = 'diff --unchanged-group-format='' --old-group-format='' --new-group-format=\'%%>\' --changed-group-format=\'%%>\' %s %s' % (prelist, postlist)
|
||||
process = subprocess.Popen(cmdsplit(cmd), stdout=subprocess.PIPE, bufsize=-1)
|
||||
difflist,_= process.communicate()
|
||||
srg_data = parse_srg(os.path.join(mcp_root,"temp","server_rg.srg"))
|
||||
classes = {}
|
||||
for row in srg_data['CL']:
|
||||
classes[row['deobf_name']] = row['obf_name']
|
||||
|
||||
with open(list_file, 'w') as fh:
|
||||
for diff in difflist.splitlines():
|
||||
diffrow=diff.strip().split()
|
||||
clazz=diffrow[0]
|
||||
if clazz in classes:
|
||||
clazz=classes[clazz]
|
||||
if clazz.startswith("net/minecraft/src/"):
|
||||
clazz=clazz[len("net/minecraft/src/"):]
|
||||
fh.write("minecraft_server/%s.class\n" %(clazz))
|
||||
|
||||
prelist = os.path.join(mcp_root,"temp","client.md5")
|
||||
postlist = os.path.join(mcp_root,"temp","client_reobf.md5")
|
||||
cmd = 'diff --unchanged-group-format='' --old-group-format='' --new-group-format=\'%%>\' --changed-group-format=\'%%>\' %s %s' % (prelist, postlist)
|
||||
write_changed(fh, os.path.join(mcp_root,"temp","client.md5"), os.path.join(mcp_root,"temp","client_reobf.md5"), 'minecraft')
|
||||
write_changed(fh, os.path.join(mcp_root,"temp","server.md5"), os.path.join(mcp_root,"temp","server_reobf.md5"), 'minecraft_server')
|
||||
|
||||
def write_changed(fh, pre, post, name):
|
||||
if not os.path.isfile(pre) or not os.path.isfile(post):
|
||||
print 'MD5s Missing! Can not extract %s changed files' % name
|
||||
return
|
||||
|
||||
cmd = 'diff --unchanged-group-format='' --old-group-format='' --new-group-format=\'%%>\' --changed-group-format=\'%%>\' %s %s' % (pre, post)
|
||||
process = subprocess.Popen(cmdsplit(cmd), stdout=subprocess.PIPE, bufsize=-1)
|
||||
difflist,_= process.communicate()
|
||||
srg_data = parse_srg(os.path.join(mcp_root,"temp","client_rg.srg"))
|
||||
@@ -46,17 +30,14 @@ def main():
|
||||
for row in srg_data['CL']:
|
||||
classes[row['deobf_name']] = row['obf_name']
|
||||
|
||||
with open(list_file, 'a') as fh:
|
||||
for diff in difflist.splitlines():
|
||||
for diff in difflist.splitlines():
|
||||
diffrow=diff.strip().split()
|
||||
clazz=diffrow[0]
|
||||
if clazz in classes:
|
||||
clazz=classes[clazz]
|
||||
clazz=classes[clazz]
|
||||
if clazz.startswith("net/minecraft/src/"):
|
||||
clazz=clazz[len("net/minecraft/src/"):]
|
||||
fh.write("minecraft/%s.class\n" %(clazz))
|
||||
|
||||
|
||||
clazz=clazz[len("net/minecraft/src/"):]
|
||||
fh.write("%s/%s.class\n" %(name,clazz))
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Reference in new issue
Block a user