-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathbuild.xml
More file actions
150 lines (130 loc) · 6.37 KB
/
build.xml
File metadata and controls
150 lines (130 loc) · 6.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<?xml version="1.0"?>
<project name="MS2UniversalLauncher" default="main" basedir=".">
<property name="src.dir" location="src" />
<property name="build.dir" location="bin" />
<property name="dist.dir" location="dist" />
<property name="libs.dir" location="libs" />
<property name="resources.dir" location="resources" />
<property name="dist.jarname" value="mineshaftersquared.jar" />
<property name="dist.macapp" value="mineshaftersquared.app" />
<property name="dist.winexe" value="mineshaftersquared.exe" />
<property name="manifest.mainclass" value="com.mineshaftersquared.MS2Entry" />
<property name="mc.jar" value="mc-launcher.jar" />
<property name="libs.alljars" value="alllibs.jar" />
<!--<taskdef name="bundleapp" classname="com.oracle.appbundler.AppBundlerTask"/>-->
<path id="build.classpath">
<fileset dir="${libs.dir}">
<include name="*.jar" />
</fileset>
</path>
<path id="resources.classpath">
<fileset dir="${libs.dir}">
<include name="${mc.jar}" />
</fileset>
</path>
<target name="clean" depends="prepare" description="Clean build and dist dirs">
<delete includeEmptyDirs="true">
<fileset dir="${build.dir}" includes="**/*" defaultexcludes="no" />
<fileset dir="${dist.dir}" includes="**/*" defaultexcludes="no" />
</delete>
</target>
<target name="prepare" description="Initialize build and dist dirs">
<mkdir dir="${build.dir}" />
<mkdir dir="${dist.dir}" />
</target>
<target name="compile" depends="clean" description="Compile launcher sources">
<javac destdir="${build.dir}" classpathref="build.classpath" encoding="utf-8" target="1.7" source="1.7" includeantruntime="false">
<src path="${src.dir}" />
<exclude name="com/adrian/playground/**" />
<exclude name="net/minecraft/**" />
<exclude name="com/mojang/**" />
</javac>
</target>
<target name="jar" depends="compile, jar.existing" description="Compile and create Jar">
</target>
<target name="jar.existing" description="Jar existing class files (e.g. to be used with IDEs with autobuild)">
<jar destfile="${dist.dir}/${libs.alljars}">
<zipgroupfileset dir="${libs.dir}" includes="*.jar" excludes="${mc.jar}" />
</jar>
<jar destfile="${dist.dir}/${dist.jarname}" basedir="${build.dir}" filesetmanifest="skip" excludes="net/minecraft/**">
<manifest>
<attribute name="Main-Class" value="${manifest.mainclass}" />
</manifest>
<zipfileset dir="${resources.dir}" includes="ms2.png" fullpath="com/mineshaftersquared/resources/ms2.png" />
<zipfileset dir="${resources.dir}" includes="Util.class" fullpath="com/mineshaftersquared/resources/Util.class" />
<zipfileset dir="${resources.dir}" includes="Http.class" fullpath="com/mineshaftersquared/resources/Http.class" />
<zipfileset dir="${resources.dir}" includes="Downloadable.class" fullpath="com/mineshaftersquared/resources/Downloadable.class" />
<zipfileset dir="${resources.dir}" includes="InitialHandler.class" fullpath="com/mineshaftersquared/resources/InitialHandler.class" />
<zipfileset dir="${resources.dir}" includes="InitialHandler$1MS2Connection.class" fullpath="com/mineshaftersquared/resources/InitialHandler$1MS2Connection.class" />
<zipfileset dir="${resources.dir}" includes="HttpAuthenticationService.class" fullpath="com/mineshaftersquared/resources/HttpAuthenticationService.class" />
<zipfileset src="${dist.dir}/${libs.alljars}">
<include name="**/*.class" />
</zipfileset>
</jar>
<delete file="${dist.dir}/${libs.alljars}" />
</target>
<target name="package.gen" description="Package shell scripts">
<copy todir="${dist.dir}">
<fileset dir="${resources.dir}">
<include name="ms2-run-*.*" />
</fileset>
</copy>
</target>
<target name="package.zip" description="Package zip">
<zip basedir="${dist.dir}" destfile="${dist.dir}/ms2-${v}.zip" />
</target>
<target name="package.mac" description="Package OSX .app executable">
<!--<copy todir="${dist.dir}" >
<fileset dir="${resources.dir}">
<include name="${dist.macapp}/**" />
</fileset>
</copy>-->
<!--<copy file="${dist.dir}/${dist.jarname}" tofile="${dist.dir}/${dist.macapp}/Contents/Java/${dist.jarname}" />
<copy file="${resources.dir}/ms2.icns" tofile="${dist.dir}/${dist.macapp}/Contents/Resources/ms2.icns" />-->
<!--<zip destfile="${dist.dir}/${dist.macapp}.zip" >
<fileset dir="${dist.dir}">
<include name="${dist.macapp}/**" />
</fileset>
</zip>-->
</target>
<target name="package.windows" description="Package Windows .exe executable">
</target>
<target name="package.all" depends="package.gen, package.zip, package.mac, package.windows" description="Packages all">
<mkdir dir="${dist.dir}/${v}" />
<copy file="${dist.dir}/${dist.jarname}" tofile="${dist.dir}/${v}/${dist.jarname}" />
<!--<copy todir="${dist.dir}/${v}/${dist.macapp}">
<fileset dir="${resources.dir}/${dist.macapp}" includes="**" />
</copy>-->
<!--<copy file="${dist.dir}/${dist.macapp}.zip" tofile="${dist.dir}/${v}/${dist.macapp}.zip" />-->
<copy file="${dist.dir}/${dist.winexe}" tofile="${dist.dir}${v}/${dist.winexe}" failonerror="false" />
<copy file="${dist.dir}/ms2-${v}.zip" tofile="${dist.dir}/${v}/ms2-${v}.zip" />
</target>
<target name="all" depends="compile.resources, package.resources, jar, package.all" description="Recompiles sources and resources, packages for distribution. Give flag -Dv=[version]">
</target>
<target name="main" depends="jar" description="Recompiles sources, produces jar">
</target>
<target name="compile.resources" depends="clean" description="Compile resources (MC patches)">
<javac destdir="${build.dir}" classpathref="resources.classpath" encoding="utf-8" target="1.7" source="1.7" includeantruntime="false">
<src path="${src.dir}" />
<include name="net/minecraft/**" />
<include name="com/mojang/**" />
</javac>
</target>
<target name="package.resources" description="Package resources (MC patches)">
<delete>
<fileset dir="${resources.dir}" includes="*.class" excludes="InitialHandler*.class" />
</delete>
<copy todir="${resources.dir}" flatten="true" includeemptydirs="false">
<fileset dir="${build.dir}">
<include name="net/minecraft/**" />
<include name="com/mojang/**" />
</fileset>
</copy>
</target>
<target name="downloadlibs" description="Download libs (calls scripts/download_libs.sh)">
<mkdir dir="${libs.dir}" />
<exec executable="bash">
<arg value="scripts/download_libs.sh" />
</exec>
</target>
</project>