buildcraft/buildcraft_resources/build.xml
2013-06-27 17:35:40 +02:00

137 lines
4.4 KiB
XML

<project name="Buildcraft" basedir="../../" default="main">
<!-- Properties -->
<property name="build.dir" value="build"/>
<property name="src.dir" value="buildcraft.mc15" />
<property name="lang.dir" value="buildcraft.localization" />
<property name="resource.dir" value="mc.devel" />
<property name="classes.dir" value="${build.dir}/classes"/>
<property name="jar.dir" value="${build.dir}/dist"/>
<property name="forge.dir" value="${build.dir}/forge" />
<property name="mcp.dir" value="${forge.dir}/mcp" />
<property name="clientsrc.dir" value="${mcp.dir}/src/minecraft"/>
<property name="mc.version" value="1.5.2"/>
<property name="forge.version" value="7.8.0.710"/>
<property name="bc.version" value="3.7.1"/>
<property name="bc.version.full" value="${bc.version}"/>
<echo message="Starting build for ${bc.version.full}"/>
<!-- Targets -->
<target name="clean">
<delete dir="${build.dir}"/>
</target>
<target name="setup">
<!-- Pull localizations -->
<echo message="Pulling localizations..." />
<exec dir="${lang.dir}" executable="git" osfamily="windows" failonerror="true">
<arg line="pull" />
</exec>
<echo message="Unpacking Forge..." />
<unzip dest="${build.dir}">
<fileset dir="${resource.dir}">
<include name="minecraftforge-src-${mc.version}-${forge.version}.zip"/>
</fileset>
</unzip>
<chmod file="${forge.dir}/install.sh" perm="+x"/>
<!-- Install forge -->
<echo message="Installing Forge..." />
<exec dir="${forge.dir}" executable="cmd" osfamily="windows">
<arg line="/c install.cmd"/>
</exec>
<exec dir="${forge.dir}" executable="sh" osfamily="unix">
<arg value="install.sh" />
</exec>
<!-- Set build number -->
<buildnumber file="${src.dir}/buildcraft_resources/build.number"/>
<!-- Copy BC source -->
<copy todir="${clientsrc.dir}">
<fileset dir="${src.dir}/common">
<exclude name="**/buildcraft/devel"/>
</fileset>
<filterset>
<filter token="VERSION" value="${bc.version.full}" />
<filter token="BUILD_NUMBER" value="${build.number}" />
</filterset>
</copy>
</target>
<target name="compile" depends="setup">
<!-- Recompile -->
<exec dir="${mcp.dir}" executable="cmd" osfamily="windows">
<arg line="/c recompile.bat"/>
</exec>
<exec dir="${mcp.dir}" executable="sh" osfamily="unix">
<arg value="recompile.sh" />
</exec>
<!-- Reobf -->
<exec dir="${mcp.dir}" executable="cmd" osfamily="windows">
<arg line="/c reobfuscate.bat --srgnames"/>
</exec>
<exec dir="${mcp.dir}" executable="sh" osfamily="unix">
<arg value="reobfuscate.sh --srgnames" />
</exec>
<!-- Copy BC classes -->
<copy todir="${classes.dir}/client">
<fileset dir="${mcp.dir}/reobf/minecraft"/>
</copy>
<!-- Copy resources -->
<copy todir="${classes.dir}/client">
<fileset dir="${src.dir}/buildcraft_resources">
<exclude name="build.xml"/>
<exclude name="build.number"/>
</fileset>
</copy>
<copy todir="${classes.dir}/client" overwrite="true" failonerror="true">
<fileset dir="${src.dir}/buildcraft_resources">
<include name="mcmod.info"/>
</fileset>
<filterset>
<filter token="VERSION" value="${bc.version.full} (${build.number})" />
</filterset>
</copy>
<!-- Copy localizations -->
<copy todir="${classes.dir}/client">
<fileset dir="${lang.dir}">
<exclude name="README.md"/>
</fileset>
</copy>
</target>
<target name="package" depends="compile">
<jar destfile="${jar.dir}/buildcraft-A-${bc.version.full}.jar" basedir="${classes.dir}/client"/>
<copy todir="${jar.dir}/changelog">
<fileset dir="${src.dir}/buildcraft_resources/changelog">
<include name="*" />
</fileset>
</copy>
</target>
<target name="main" depends="clean,package" />
</project>