forked from odan/slim4-skeleton
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.xml
145 lines (124 loc) · 4.65 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
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
<?xml version="1.0" encoding="UTF-8"?>
<project name="webapp" default="help">
<property environment="env"/>
<tstamp>
<format property="now" pattern="yyyy-MM-dd HH:mm:ss" locale="en,UK"/>
<format property="now_num" pattern="yyyyMMddHHmmss" locale="en,UK"/>
<format property="now_file" pattern="yyyy-MM-dd_HHmmss" locale="en,UK"/>
</tstamp>
<condition property="bat" value=".bat" else="">
<os family="windows"/>
</condition>
<condition property="cmd" value=".cmd" else="">
<os family="windows"/>
</condition>
<target name="help">
<java classname="org.apache.tools.ant.Main">
<arg value="-projecthelp"/>
<arg value="-buildfile"/>
<arg value="${ant.file}"/>
</java>
</target>
<target name="cc" description="Clear application cache">
<echo>Clear cache</echo>
<delete dir="${basedir}/tmp/routes/"/>
<mkdir dir="${basedir}/tmp/routes"/>
<chmod file="${basedir}/tmp/routes" perm="775"/>
<touch file="${basedir}/tmp/routes/empty"/>
<delete includeemptydirs="true">
<fileset dir="${basedir}/logs" includes="**/*"/>
</delete>
<echo message="deny from all" file="${basedir}/logs/.htaccess"/>
<echo message="deny from all" file="${basedir}/tmp/.htaccess"/>
</target>
<target name="build" description="Build artifact">
<mkdir dir="${basedir}/build"/>
<!-- Get composer.phar if not existing -->
<get src="https://getcomposer.org/composer.phar" dest="${basedir}/build/composer.phar" skipexisting="true"/>
<!-- Delete build/master -->
<delete dir="${basedir}/build/master"/>
<!-- Get master branch from GitHub -->
<exec executable="git" failonerror="true">
<arg line="archive --format zip --output ${basedir}/build/master.zip master"/>
</exec>
<!-- Unzip master branch -->
<unzip src="${basedir}/build/master.zip" dest="${basedir}/build/master/"/>
<!-- Delete zipped master branch -->
<delete file="${basedir}/build/master.zip"/>
<!-- Install composer packages -->
<exec executable="php" failonerror="true">
<arg
line="${basedir}/build/composer.phar install --no-dev --optimize-autoloader -d ${basedir}/build/master"/>
</exec>
<!-- Remove files which aren't needed on the server -->
<delete>
<fileset dir="${basedir}/build/master/config/" casesensitive="no">
<include name="env.php"/>
<include name="*.properties"/>
</fileset>
</delete>
<delete>
<fileset dir="${basedir}/build/master/" casesensitive="no">
<include name="composer.json"/>
<include name="**/composer.lock"/>
<include name="**/phpunit.xml*"/>
<include name="**/*.gitignore"/>
<include name="**/*.codeclimate.yml"/>
<include name="**/*.editorconfig*"/>
<include name="**/*.styleci.yml"/>
<include name="**/*.scrutinizer.yml"/>
<include name="**/*.travis.yml"/>
<include name="**/*.appveyor.yml"/>
<include name="**/*.coveralls.yml"/>
<include name="**/mkdocs.yml"/>
<include name="**/phpstan.neon"/>
<include name="**/appveyor.yml"/>
<include name="**/build.xml"/>
<include name="**/.eslintrc.json"/>
<include name="**/.gitignore"/>
<include name="**/.gitattributes"/>
<include name="**/.cs.php"/>
<include name="**/.phpstorm.meta.php"/>
<include name="**/CHANGELOG.md"/>
<include name="**/CONDUCT.md"/>
<include name="**/LICENSE*"/>
<include name="**/README*"/>
<include name="**/CHANGES*"/>
<include name="**/CONTRIBUTING*"/>
<include name="**/UPGRADE*.md"/>
<include name="**/.DS_Store"/>
<include name="**/package.json"/>
<include name="**/package-lock.json"/>
<include name="**/phpcs.xml"/>
<include name="**/tsconfig.json"/>
<include name="**/webpack.config.js"/>
<include name="**/.sonarcloud.properties"/>
<include name="**/docker-compose.yml"/>
<include name="**/Dockerfile"/>
</fileset>
</delete>
<!-- Remove folders which aren't needed on the server -->
<delete includeemptydirs="true">
<fileset dir="${basedir}/build/master/" casesensitive="no">
<include name="**/.github/"/>
<include name="docs/"/>
<include name="tests/"/>
</fileset>
</delete>
<delete includeemptydirs="true">
<fileset dir="${basedir}/build/master/vendor/" casesensitive="no">
<include name="**/tests/"/>
<include name="**/test/"/>
<include name="**/tester/"/>
<include name="**/docs/"/>
<include name="**/doc/"/>
<include name="**/examples/"/>
<include name="**/example/"/>
</fileset>
</delete>
<!-- Zip master -->
<zip destfile="${basedir}/build/my_app_${now_file}.zip">
<zipfileset dir="${basedir}/build/master" excludes="node_modules/"/>
</zip>
</target>
</project>