Commit e4b8825d9440a2018c3d487fa7866e381e63970a
1 parent
d3ec7c49
adding LiteLoaderToSrg ant scripts and jenkins configurations
Showing
4 changed files
with
186 additions
and
8 deletions
ant/build_liteloader.xml
... | ... | @@ -39,17 +39,27 @@ |
39 | 39 | <target name="setup_development"> |
40 | 40 | <property name="skipremoval" value="DEV" /> |
41 | 41 | <property name="md5.outfile" value="${md5.dir}/client_${outmd5set}.md5" /> |
42 | + <property name="artefact.name" value="${ant.project.name}-${mcversion}" /> | |
42 | 43 | </target> |
43 | 44 | |
44 | 45 | <target name="setup_production"> |
45 | 46 | <property name="skipremoval" value="" /> |
46 | 47 | <property name="md5.outfile" value="${md5.dir}/client_${outmd5set}_production.md5" /> |
48 | + <property name="artefact.name" value="${ant.project.name}-${mcversion}" /> | |
49 | + </target> | |
50 | + | |
51 | + <target name="setup_jenkins"> | |
52 | + <property name="skipremoval" value="" /> | |
53 | + <property name="md5.outfile" value="${md5.dir}/client_${outmd5set}_production.md5" /> | |
54 | + <property name="artefact.name" value="${ant.project.name}-${mcversion}-SNAPSHOT" /> | |
47 | 55 | </target> |
48 | 56 | |
49 | 57 | <!-- Main target --> |
50 | 58 | <target name="development" depends="setup_development, findmcp, setdirsold, setdirsnew, build" description="Entry point for MCP and upstream builds" /> |
51 | 59 | |
52 | - <target name="production" depends="setup_production, findmcp, setdirsold, setdirsnew, build" description="Entry point for production builds" /> | |
60 | + <target name="production" depends="setup_production, findmcp, setdirsold, setdirsnew, build, mcpjar" description="Entry point for production builds" /> | |
61 | + | |
62 | + <target name="jenkins" depends="setup_jenkins, findmcp, setdirsold, setdirsnew, build, mcpjar" description="Entry point for CI builds" /> | |
53 | 63 | |
54 | 64 | <target name="setdirsnew" description="Set the MCP source directories for the new layout" unless="mcpsrc.exists"> |
55 | 65 | <echo level="info" message="Setting MCP source directories for NEW configuration" /> |
... | ... | @@ -239,7 +249,7 @@ |
239 | 249 | |
240 | 250 | <mkdir dir="${dist.dir}" /> |
241 | 251 | |
242 | - <jar destfile="${dist.dir}/${ant.project.name}-${mcversion}.${filetype}" duplicate="preserve" index="true" manifestencoding="UTF-8"> | |
252 | + <jar destfile="${dist.dir}/${artefact.name}.${filetype}" duplicate="preserve" index="true" manifestencoding="UTF-8"> | |
243 | 253 | <manifest> |
244 | 254 | <attribute name="Built-By" value="MCP (http://mcp.ocean-labs.de)" /> |
245 | 255 | <attribute name="Implementation-Vendor" value="${author}" /> |
... | ... | @@ -259,10 +269,10 @@ |
259 | 269 | |
260 | 270 | <mkdir dir="${dist.dir}" /> |
261 | 271 | |
262 | - <delete file="${dist.dir}/${ant.project.name}-${version}-mcpnames.${filetype}" /> | |
263 | - <delete file="${dist.dir}/${ant.project.name}-${version}-mcpnames-sources.${filetype}" /> | |
272 | + <delete file="${dist.dir}/${artefact.name}-mcpnames.${filetype}" /> | |
273 | + <delete file="${dist.dir}/${artefact.name}-mcpnames-sources.${filetype}" /> | |
264 | 274 | |
265 | - <jar destfile="${dist.dir}/${ant.project.name}-${version}-mcpnames.${filetype}" duplicate="preserve" index="true" manifestencoding="UTF-8"> | |
275 | + <jar destfile="${dist.dir}/${artefact.name}-mcpnames.${filetype}" duplicate="preserve" index="true" manifestencoding="UTF-8"> | |
266 | 276 | <manifest> |
267 | 277 | <attribute name="Built-By" value="MCP (http://mcp.ocean-labs.de)" /> |
268 | 278 | <attribute name="Implementation-Vendor" value="${author}" /> |
... | ... | @@ -275,7 +285,7 @@ |
275 | 285 | </manifest> |
276 | 286 | <fileset dir="${eclipse}/LiteLoader/bin" /> |
277 | 287 | </jar> |
278 | - <jar destfile="${dist.dir}/${ant.project.name}-${version}-mcpnames-sources.${filetype}" duplicate="preserve" index="false" filesetmanifest="skip"> | |
288 | + <jar destfile="${dist.dir}/${artefact.name}-mcpnames-sources.${filetype}" duplicate="preserve" index="false" filesetmanifest="skip"> | |
279 | 289 | <fileset dir="${eclipse}/LiteLoader/java/common" /> |
280 | 290 | <fileset dir="${eclipse}/LiteLoader/java/client" /> |
281 | 291 | <fileset dir="${eclipse}/LiteLoader/debug" /> |
... | ... | @@ -287,7 +297,7 @@ |
287 | 297 | |
288 | 298 | <target name="deploy" depends="production" description="Deploy artifact to local minecraft installation in APPDATA"> |
289 | 299 | <mkdir dir="${env.APPDATA}/.minecraft/libraries/com/mumfrey/liteloader/${mcversion}"/> |
290 | - <copy todir="${env.APPDATA}/.minecraft/libraries/com/mumfrey/liteloader/${mcversion}" file="${dist.dir}/${ant.project.name}-${mcversion}.${filetype}" failonerror="false" overwrite="true" /> | |
291 | - <copy todir="${eclipse}/LiteLoaderInstaller/src/main/resources" file="${dist.dir}/${ant.project.name}-${mcversion}.${filetype}" failonerror="false" overwrite="true" /> | |
300 | + <copy todir="${env.APPDATA}/.minecraft/libraries/com/mumfrey/liteloader/${mcversion}" file="${dist.dir}/${artefact.name}.${filetype}" failonerror="false" overwrite="true" /> | |
301 | + <copy todir="${eclipse}/LiteLoaderInstaller/src/main/resources" file="${dist.dir}/${artefact.name}.${filetype}" failonerror="false" overwrite="true" /> | |
292 | 302 | </target> |
293 | 303 | </project> |
294 | 304 | \ No newline at end of file | ... | ... |
ant/build_srgjar.xml
0 โ 100644
1 | +<?xml version="1.0" encoding="ISO-8859-1"?> | |
2 | +<project name="liteloadertosrg" basedir="." default="build" xmlns:ivy="antlib:org.apache.ivy.ant"> | |
3 | + | |
4 | + <property name="project.name" value="liteloader" /> | |
5 | + <property name="version" value="1.8" /> | |
6 | + <property name="author" value="Mumfrey" /> | |
7 | + | |
8 | + <property name="mcp.dir" location="../../.." /> | |
9 | + <property name="mcp.temp.dir" location="${mcp.dir}/temp" /> | |
10 | + <property name="minecraft.src.dir" location="${mcp.dir}/src/minecraft" /> | |
11 | + <property name="lib.dir" location="./lib" /> | |
12 | + <property name="temp.dir" location="./temp" /> | |
13 | + <property name="out.dir" location="${temp.dir}/out" /> | |
14 | + <property name="dist.dir" location="${mcp.dir}/build/dist" /> | |
15 | + <property name="src.dir" location="${temp.dir}/src" /> | |
16 | + <property name="map.file" location="${temp.dir}/range.map" /> | |
17 | + <property name="insrg.file" location="${mcp.temp.dir}/client_ro_srg.srg" /> | |
18 | + <property name="outsrg.file" location="${temp.dir}/remap.srg" /> | |
19 | + <property name="liteloader.src.base" location="../java" /> | |
20 | + | |
21 | + <property name="python_windows" location="${mcp.dir}/runtime/bin/python/python_mcp.exe" /> | |
22 | + <property name="python_linux" location="/usr/bin/python" /> | |
23 | + | |
24 | + <path id="class.path"> | |
25 | + <fileset dir="${lib.dir}"> | |
26 | + <include name="**/*.jar" /> | |
27 | + </fileset> | |
28 | + </path> | |
29 | + | |
30 | + <target name="build"> | |
31 | + <property name="artefact" location="${dist.dir}/${project.name}-${version}-srgnames-sources.jar" /> | |
32 | + <ivy:configure file="ivysettings.xml" /> | |
33 | + <antcall target="jar" /> | |
34 | + </target> | |
35 | + | |
36 | + <target name="jenkins"> | |
37 | + <property name="artefact" location="${dist.dir}/${project.name}-${version}-SNAPSHOT-srgnames-sources.jar" /> | |
38 | + <ivy:configure file="ivysettings.xml" /> | |
39 | + <antcall target="jar" /> | |
40 | + </target> | |
41 | + | |
42 | + <path id="classpath"> | |
43 | + <fileset dir="${ivy.lib.dir}"> | |
44 | + <include name="**/*.jar"/> | |
45 | + </fileset> | |
46 | + </path> | |
47 | + | |
48 | + <target name="clean"> | |
49 | + <echo message="Cleaning working directories..." /> | |
50 | + | |
51 | + <delete dir="${temp.dir}" failonerror="false" /> | |
52 | + | |
53 | + <mkdir dir="${src.dir}"/> | |
54 | + <mkdir dir="${out.dir}"/> | |
55 | + <mkdir dir="${temp.dir}"/> | |
56 | + </target> | |
57 | + | |
58 | + <target name="init" depends="clean"> | |
59 | + <echo message="Aggregating sources..." /> | |
60 | + | |
61 | + <copy todir="${src.dir}" overwrite="true"> | |
62 | + <fileset dir="${minecraft.src.dir}"> | |
63 | + <exclude name="*.java" /> | |
64 | + </fileset> | |
65 | + <fileset dir="${liteloader.src.base}/common"> | |
66 | + <exclude name="**/Jump.java" /> | |
67 | + </fileset> | |
68 | + <fileset dir="${liteloader.src.base}/client" /> | |
69 | + </copy> | |
70 | + | |
71 | + <echo message="Fetching dependencies..." /> | |
72 | + </target> | |
73 | + | |
74 | + <target name="reobfSrg" depends="init"> | |
75 | + <echo message="Running reobf to generate srgs..." /> | |
76 | + | |
77 | + <exec executable="${python_windows}" dir="${mcp.dir}" osfamily="windows"> | |
78 | + <arg value="runtime/reobfuscate.py" /> | |
79 | + <arg value="--srgnames" /> | |
80 | + <arg value="--client" /> | |
81 | + </exec> | |
82 | + | |
83 | + <exec executable="${python_linux}" dir="${mcp.dir}" osfamily="unix"> | |
84 | + <arg value="runtime/reobfuscate.py" /> | |
85 | + <arg value="--srgnames" /> | |
86 | + <arg value="--client" /> | |
87 | + </exec> | |
88 | + </target> | |
89 | + | |
90 | + <target name="extractRanges" depends="reobfSrg"> | |
91 | + <echo message="Extracting ranges from source..." /> | |
92 | + | |
93 | + <java classname="net.minecraftforge.srg2source.ast.RangeExtractor" output="${temp.dir}/extractRanges.log"> | |
94 | + <classpath refid="class.path" /> | |
95 | + <arg value="${src.dir}" /> | |
96 | + <arg value="${lib.dir}" /> | |
97 | + <arg value="${map.file}" /> | |
98 | + </java> | |
99 | + </target> | |
100 | + | |
101 | + <target name="flipsrg" depends="extractRanges"> | |
102 | + <echo message="Remapping SRG file..." /> | |
103 | + | |
104 | + <copy file="${insrg.file}" tofile="${outsrg.file}" overwrite="true" /> | |
105 | + <replaceregexp file="${outsrg.file}" byline="true" match="(FD|CL): ([^\s]+) ([^\s]+)" replace="\1: \3 \2" /> | |
106 | + <replaceregexp file="${outsrg.file}" byline="true" match="MD: ([^\s]+) ([^\s]+) ([^\s]+) ([^\s]+)" replace="MD: \3 \4 \1 \2" /> | |
107 | + </target> | |
108 | + | |
109 | + <target name="applyRanges" depends="flipsrg"> | |
110 | + <echo message="Remapping ranges in source..." /> | |
111 | + | |
112 | + <java classname="net.minecraftforge.srg2source.rangeapplier.RangeApplier" output="${temp.dir}/applyRanges.log"> | |
113 | + <classpath refid="class.path" /> | |
114 | + <arg value="--srcRoot=${src.dir}" /> | |
115 | + <arg value="--srcRangeMap=${map.file}" /> | |
116 | + <arg value="--srgFiles=${outsrg.file}" /> | |
117 | + <arg value="--outDir=${out.dir}" /> | |
118 | + </java> | |
119 | + </target> | |
120 | + | |
121 | + <target name="jar" depends="applyRanges"> | |
122 | + <echo message="Building src jar..." /> | |
123 | + | |
124 | + <jar destfile="${artefact}" duplicate="preserve" index="true" manifestencoding="UTF-8"> | |
125 | + <manifest> | |
126 | + <attribute name="Implementation-Vendor" value="${author}" /> | |
127 | + <attribute name="Implementation-Title" value="${ant.project.name}" /> | |
128 | + <attribute name="Implementation-Version" value="${version}" /> | |
129 | + </manifest> | |
130 | + <fileset dir="${out.dir}"> | |
131 | + <exclude name="net/minecraft/**" /> | |
132 | + </fileset> | |
133 | + </jar> | |
134 | + </target> | |
135 | +</project> | |
0 | 136 | \ No newline at end of file | ... | ... |
ant/ivy.xml
0 โ 100644
1 | +<?xml version="1.0" encoding="ISO-8859-1"?> | |
2 | +<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd"> | |
3 | + <info organisation="com.mumfrey" module="liteloader" status="integration"> | |
4 | + <ivyauthor name="Adam Mummery-Smith" /> | |
5 | + </info> | |
6 | + <dependencies> | |
7 | + <dependency org="org.ow2.asm" name="asm-debug-all" rev="4.1" /> | |
8 | + <dependency org="com.google.guava" name="guava" rev="15.0" /> | |
9 | + <dependency org="net.sf.opencsv" name="opencsv" rev="2.3" /> | |
10 | + <dependency org="net.sf.jopt-simple" name="jopt-simple" rev="4.6" /> | |
11 | + <dependency org="org.eclipse.jgit" name="org.eclipse.jgit" rev="3.2.0.201312181205-r" /> | |
12 | + <dependency org="org.eclipse.core" name="contenttype" rev="3.4.200-v20130326-1255" /> | |
13 | + <dependency org="org.eclipse.core" name="jobs" rev="3.5.300-v20130429-1813" /> | |
14 | + <dependency org="org.eclipse.core" name="runtime" rev="3.9.0-v20130326-1255" /> | |
15 | + <dependency org="org.eclipse" name="osgi" rev="3.9.1-v20130814-1242" /> | |
16 | + <dependency org="org.eclipse.text" name="org.eclipse.text" rev="3.5.101" /> | |
17 | + <dependency org="org.eclipse.equinox" name="common" rev="3.6.200-v20130402-1505" /> | |
18 | + <dependency org="org.eclipse.equinox" name="preferences" rev="3.5.100-v20130422-1538" /> | |
19 | + <dependency org="org.eclipse.jdt" name="org.eclipse.jdt.core" rev="3.10.0.v20131029-1755" /> | |
20 | + <dependency org="net.minecraftforge.srg2source" name="Srg2Source" rev="3.2-SNAPSHOT" /> | |
21 | + </dependencies> | |
22 | +</ivy-module> | ... | ... |
ant/ivysettings.xml
0 โ 100644
1 | +<?xml version="1.0" encoding="ISO-8859-1"?> | |
2 | +<ivysettings> | |
3 | + <settings defaultResolver="srg2source" /> | |
4 | + <resolvers> | |
5 | + <chain name="srg2source"> | |
6 | + <ibiblio name="m2" m2compatible="true" /> | |
7 | + <ibiblio name="forge" m2compatible="true" root="http://files.minecraftforge.net/maven/"/> | |
8 | + <ibiblio name="eclipse" m2compatible="true" root="https://repo.eclipse.org/content/groups/eclipse/"/> | |
9 | + </chain> | |
10 | + </resolvers> | |
11 | +</ivysettings> | |
0 | 12 | \ No newline at end of file | ... | ... |