mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-08-25 04:57:03 +00:00
232 lines
6.7 KiB
XML
232 lines
6.7 KiB
XML
<project name = "common">
|
|
|
|
<property environment = "env" />
|
|
|
|
<dirname property = "Checkout" file = "${ant.file.common}" />
|
|
|
|
<property name = "Configuration" value = "Release" />
|
|
|
|
<property name = "Build" location = "${env.STEAM_BUILD}" />
|
|
|
|
<property name = "env.OBJJ_HOME" value = "/usr/local/share/objj" />
|
|
<property name = "env.OBJJ_LIB" value = "${env.OBJJ_HOME}/lib" />
|
|
|
|
<!-- allow bootstrapping: use installed js.jar if it's present, otherwise use local version -->
|
|
|
|
<condition property = "jsjar" value = "${env.OBJJ_LIB}/js.jar">
|
|
<and>
|
|
<available file = "${env.OBJJ_LIB}/js.jar" />
|
|
<!-- hack to prevent deprecation warnings for overwriting properties -->
|
|
<not>
|
|
<isset property = "jsjar" />
|
|
</not>
|
|
</and>
|
|
</condition>
|
|
|
|
<property name = "jsjar" value = "${Checkout}/Tools/Utilities/js.jar" />
|
|
|
|
<!-- Steam Version Checking -->
|
|
|
|
<target name = "steam-uptodate">
|
|
|
|
<exec executable = "steam" outputproperty = "steam.version">
|
|
<arg line = "--version" />
|
|
</exec>
|
|
|
|
<fail>
|
|
!
|
|
**********************************************
|
|
You version of Steam is out of date.
|
|
----------------------------------------------
|
|
Please run the following commands to update:
|
|
|
|
$sudo echo
|
|
$ant bootstrap
|
|
**********************************************
|
|
<condition>
|
|
<not>
|
|
<contains string = "${steam.version}" substring = "steam version 0.6" />
|
|
</not>
|
|
</condition>
|
|
</fail>
|
|
</target>
|
|
|
|
<!-- <macrodef name = "safe-steam-build" >
|
|
|
|
<element name = "args" optional = "true" implicit = "true" />
|
|
|
|
<sequential>
|
|
|
|
<antcall target = "steam-uptodate" />
|
|
|
|
<steam-build>
|
|
<arguments>
|
|
<args/>
|
|
</arguments>
|
|
</steam-build>
|
|
|
|
</sequential>
|
|
|
|
</macrodef> -->
|
|
|
|
<!-- Short Hands -->
|
|
|
|
<target name = "build-release">
|
|
<ant antfile = "build.xml">
|
|
<property name = "Configuration" value = "Release" />
|
|
</ant>
|
|
</target>
|
|
|
|
<target name = "clean-release">
|
|
<ant antfile = "build.xml" target = "clean">
|
|
<property name = "Configuration" value = "Release" />
|
|
</ant>
|
|
</target>
|
|
|
|
<target name = "build-debug">
|
|
<ant antfile = "build.xml">
|
|
<property name = "Configuration" value = "Debug" />
|
|
</ant>
|
|
</target>
|
|
|
|
<target name = "clean-debug">
|
|
<ant antfile = "build.xml" target = "clean">
|
|
<property name = "Configuration" value = "Debug" />
|
|
</ant>
|
|
</target>
|
|
|
|
<target name = "release" >
|
|
<antcall target = "build-release" />
|
|
</target>
|
|
|
|
<target name = "debug" >
|
|
<antcall target = "build-debug" />
|
|
</target>
|
|
|
|
<target name = "all" >
|
|
<antcall target = "build-debug" />
|
|
<antcall target = "build-release" />
|
|
</target>
|
|
|
|
<target name = "clean-all" >
|
|
<antcall target = "clean-debug" />
|
|
<antcall target = "clean-release" />
|
|
</target>
|
|
|
|
<!-- Iterate -->
|
|
|
|
<macrodef name = "iterate">
|
|
|
|
<attribute name = "target"/>
|
|
<element name = "files" />
|
|
|
|
<sequential>
|
|
<subant target = "@{target}" inheritall = "false" inheritrefs = "false" >
|
|
<files/>
|
|
</subant>
|
|
</sequential>
|
|
|
|
</macrodef>
|
|
|
|
<macrodef name = "iterate-build">
|
|
|
|
<attribute name = "target"/>
|
|
|
|
<sequential>
|
|
<subant target = "@{target}" inheritall = "false" inheritrefs = "false" >
|
|
<fileset dir = "." includes = "*/build.xml" />
|
|
</subant>
|
|
</sequential>
|
|
|
|
</macrodef>
|
|
|
|
<!-- JavaScript Compiler -->
|
|
|
|
<macrodef name = "jsc">
|
|
|
|
<attribute name = "dir" default = "." />
|
|
|
|
<element name = "arguments"/>
|
|
|
|
<sequential>
|
|
<java classname = "org.mozilla.javascript.tools.jsc.Main" dir = "@{dir}" fork = "true">
|
|
<classpath>
|
|
<pathelement location = "${jsjar}" />
|
|
<pathelement location = "." />
|
|
</classpath>
|
|
|
|
<arguments/>
|
|
</java>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<!-- JavaScript "Preprocessor" -->
|
|
|
|
<macrodef name = "preprocess">
|
|
|
|
<attribute name = "file" />
|
|
<attribute name = "output"/>
|
|
<element name = "arguments" optional = "true" />
|
|
|
|
<sequential>
|
|
<exec executable = "gcc" output = "@{output}" error = "@{output}.err">
|
|
<!-- Preprocessing only -->
|
|
<arg value = "-E" />
|
|
<!-- Interpret files as C source files (instead of treating them as object files); this option is given to make the compiler preprocess them -->
|
|
<arg value = "-x" />
|
|
<arg value = "c" />
|
|
<!-- Don't generate #line directives (which would of course mess things up in HTML documents!) -->
|
|
<arg value = "-P" />
|
|
|
|
<arguments/>
|
|
|
|
<arg value = "@{file}" />
|
|
</exec>
|
|
</sequential>
|
|
|
|
</macrodef>
|
|
|
|
<!-- git tasks -->
|
|
|
|
<macrodef name = "git">
|
|
<attribute name = "command" />
|
|
<attribute name = "dir" default = "" />
|
|
<element name = "args" optional = "true" />
|
|
<sequential>
|
|
<echo message = "git @{command}" />
|
|
<exec executable = "git" dir = "@{dir}">
|
|
<arg value = "@{command}" />
|
|
<args/>
|
|
</exec>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<macrodef name = "git-clone-pull">
|
|
<attribute name = "repository" />
|
|
<attribute name = "dest" />
|
|
<sequential>
|
|
<git command = "clone">
|
|
<args>
|
|
<arg value = "@{repository}" />
|
|
<arg value = "@{dest}" />
|
|
</args>
|
|
</git>
|
|
<git command = "pull" dir = "@{dest}" />
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<!-- ojtest task -->
|
|
|
|
<macrodef name = "ojtest">
|
|
<attribute name = "frameworks" default = "${env.STEAM_BUILD}/Release" />
|
|
<element name = "tests" />
|
|
<sequential>
|
|
<apply executable = "ojtest" parallel = "true">
|
|
<env key = "OBJJ_INCLUDE_PATHS" value = "@{frameworks}" />
|
|
<tests/>
|
|
</apply>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
</project>
|