forked from BukkitStatistics/Portal
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.xml
102 lines (84 loc) · 4.14 KB
/
build.xml
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
<?xml version="1.0" encoding="UTF-8" ?>
<project name="Statistics" default="build">
<target name="build" depends="init, clean, dist" description="Default target"/>
<target name="init" depends="-load-properties, -setup-dirs" unless="project.initialised">
<exec command="composer install" passthru="true"/>
<property name="project.initialised" value="true"/>
</target>
<target name="-load-properties">
<!-- Take a project name and make it safe for use as directory or file names -->
<php expression="str_replace(' ', '-', strtolower('${phing.project.name}'))"
returnProperty="project.name.safe"/>
<xmlproperty file="version.xml"/>
<if>
<equals arg1="${build.type}" arg2="RECOMMENDED"/>
<then>
<property name="project.type" value="${build.version}"/>
</then>
<elseif>
<equals arg1="${build.type}" arg2="BETA"/>
<then>
<property name="project.type" value="${build.version}-beta.${jenkins.build}"/>
</then>
</elseif>
<else>
<property name="project.type" value="${build.version}-dev.${jenkins.build}"/>
</else>
</if>
</target>
<target name="-setup-dirs" depends="-load-properties">
<property name="build.dir" value="${project.basedir}/build"/>
<property name="src.dir" value="${project.basedir}"/>
<property name="build.dist.dir" value="${build.dir}/dist"/>
<property name="build.compare.dir" value="${build.dir}/compare"/>
</target>
<target name="clean" depends="init" unless="project.cleaned">
<!-- Remove previous build subdirectories, and recreate fresh versions -->
<echo message="Deleting build directories" level="debug"/>
<delete dir="${build.compare.dir}"/>
<delete dir="${build.dist.dir}"/>
<echo message="Creating build directories" level="debug"/>
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.dist.dir}"/>
<mkdir dir="${build.compare.dir}"/>
<property name="project.cleaned" value="true"/>
</target>
<target name="dist" depends="init" description="Create distributable file">
<property name="build.dist.temp.dir" value="${build.dist.dir}/${project.name.safe}"/>
<mkdir dir="${build.dist.temp.dir}"/>
<copy todir="${build.dist.temp.dir}">
<fileset dir="${src.dir}">
<exclude name="build/"/>
<exclude name="*.markdown"/>
<exclude name=".idea/"/>
<exclude name=".git/"/>
<exclude name="composer.*/"/>
<exclude name="build.xml/"/>
<exclude name="fSchema-getTables.patch/"/>
<exclude name="version.xml/"/>
<exclude name="**/.DS_Store"/>
<exclude name="**/Thumbs.db"/>
<exclude name="cache/files/*"/>
<exclude name="cache/skins/*"/>
<exclude name="cache/twig/*"/>
<exclude name="cache/debug.txt"/>
<exclude name="cache/singlecache"/>
<exclude name="include/vendor/twig/twig/doc/"/>
<exclude name="include/vendor/twig/twig/ext/"/>
<exclude name="include/vendor/twig/twig/test/"/>
</fileset>
</copy>
<!-- temporary patching fSchema because of case-insensitive table names -->
<patch patchfile="${src.dir}/fSchema-lower_tables_names.patch" originalfile="${build.dist.temp.dir}/include/vendor/flourish/flourish/fSchema.php"/>
<echo file="${build.dist.temp.dir}/include/config/version.php"><?php 	define('VERSION', '${project.type}');</echo>
<zip includeemptydirs="true"
destfile="${build.dist.dir}/${project.name.safe}.zip">
<fileset dir="${build.dist.temp.dir}/"/>
</zip>
<!--
We're finished with the temporary folder and it's subfolder, so delete them (deleting
the parent temp folder is enough).
-->
<delete dir="${build.dist.temp.dir}"/>
</target>
</project>