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,17 +39,27 @@ | ||
39 | <target name="setup_development"> | 39 | <target name="setup_development"> |
40 | <property name="skipremoval" value="DEV" /> | 40 | <property name="skipremoval" value="DEV" /> |
41 | <property name="md5.outfile" value="${md5.dir}/client_${outmd5set}.md5" /> | 41 | <property name="md5.outfile" value="${md5.dir}/client_${outmd5set}.md5" /> |
42 | + <property name="artefact.name" value="${ant.project.name}-${mcversion}" /> | ||
42 | </target> | 43 | </target> |
43 | 44 | ||
44 | <target name="setup_production"> | 45 | <target name="setup_production"> |
45 | <property name="skipremoval" value="" /> | 46 | <property name="skipremoval" value="" /> |
46 | <property name="md5.outfile" value="${md5.dir}/client_${outmd5set}_production.md5" /> | 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 | </target> | 55 | </target> |
48 | 56 | ||
49 | <!-- Main target --> | 57 | <!-- Main target --> |
50 | <target name="development" depends="setup_development, findmcp, setdirsold, setdirsnew, build" description="Entry point for MCP and upstream builds" /> | 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 | <target name="setdirsnew" description="Set the MCP source directories for the new layout" unless="mcpsrc.exists"> | 64 | <target name="setdirsnew" description="Set the MCP source directories for the new layout" unless="mcpsrc.exists"> |
55 | <echo level="info" message="Setting MCP source directories for NEW configuration" /> | 65 | <echo level="info" message="Setting MCP source directories for NEW configuration" /> |
@@ -239,7 +249,7 @@ | @@ -239,7 +249,7 @@ | ||
239 | 249 | ||
240 | <mkdir dir="${dist.dir}" /> | 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 | <manifest> | 253 | <manifest> |
244 | <attribute name="Built-By" value="MCP (http://mcp.ocean-labs.de)" /> | 254 | <attribute name="Built-By" value="MCP (http://mcp.ocean-labs.de)" /> |
245 | <attribute name="Implementation-Vendor" value="${author}" /> | 255 | <attribute name="Implementation-Vendor" value="${author}" /> |
@@ -259,10 +269,10 @@ | @@ -259,10 +269,10 @@ | ||
259 | 269 | ||
260 | <mkdir dir="${dist.dir}" /> | 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 | <manifest> | 276 | <manifest> |
267 | <attribute name="Built-By" value="MCP (http://mcp.ocean-labs.de)" /> | 277 | <attribute name="Built-By" value="MCP (http://mcp.ocean-labs.de)" /> |
268 | <attribute name="Implementation-Vendor" value="${author}" /> | 278 | <attribute name="Implementation-Vendor" value="${author}" /> |
@@ -275,7 +285,7 @@ | @@ -275,7 +285,7 @@ | ||
275 | </manifest> | 285 | </manifest> |
276 | <fileset dir="${eclipse}/LiteLoader/bin" /> | 286 | <fileset dir="${eclipse}/LiteLoader/bin" /> |
277 | </jar> | 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 | <fileset dir="${eclipse}/LiteLoader/java/common" /> | 289 | <fileset dir="${eclipse}/LiteLoader/java/common" /> |
280 | <fileset dir="${eclipse}/LiteLoader/java/client" /> | 290 | <fileset dir="${eclipse}/LiteLoader/java/client" /> |
281 | <fileset dir="${eclipse}/LiteLoader/debug" /> | 291 | <fileset dir="${eclipse}/LiteLoader/debug" /> |
@@ -287,7 +297,7 @@ | @@ -287,7 +297,7 @@ | ||
287 | 297 | ||
288 | <target name="deploy" depends="production" description="Deploy artifact to local minecraft installation in APPDATA"> | 298 | <target name="deploy" depends="production" description="Deploy artifact to local minecraft installation in APPDATA"> |
289 | <mkdir dir="${env.APPDATA}/.minecraft/libraries/com/mumfrey/liteloader/${mcversion}"/> | 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 | </target> | 302 | </target> |
293 | </project> | 303 | </project> |
294 | \ No newline at end of file | 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 | \ No newline at end of file | 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 | \ No newline at end of file | 12 | \ No newline at end of file |