Skip to content

Commit 9faccd7

Browse files
committed
Use twig in the build script
1 parent 8ba1f67 commit 9faccd7

1 file changed

Lines changed: 46 additions & 36 deletions

File tree

skeleton/build.xml.tpl

Lines changed: 46 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,17 @@
1+
{% set dir = '${' ~ 'dir}' %}
2+
{% set buildDir = '${' ~ 'build-directory}' %}
3+
{% set packageDir = '${' ~ 'package-directory}' %}
4+
{% set vendor = '${' ~ 'vendor-name}' %}
5+
{% set extension = '${' ~ 'extension-name}' %}
6+
{% set buildVersion = '${' ~ 'version}' %}
7+
{% set packageVersion = '${' ~ 'package-version}' %}
8+
{% set archiveVersion = '${' ~ 'archive-version}' %}
9+
{% set destination = '${' ~ 'destination-filename}' %}
10+
{% set dependencies = '${' ~ 'has-dependencies}' %}
111
<?xml version="1.0" encoding="UTF-8"?>
212
<project name="Skeleton Extension Builder" description="Builds an extension.zip from a git repository" default="all">
3-
<property name="vendor-name" value="{EXTENSION.vendor_name}" />
4-
<property name="extension-name" value="{EXTENSION.extension_name}" />
13+
<property name="vendor-name" value="{{ EXTENSION.vendor_name }}" />
14+
<property name="extension-name" value="{{ EXTENSION.extension_name }}" />
515
<!--
616
Only set this to "true" if you have dependencies in the composer.json,
717
otherwise use "false".
@@ -11,28 +21,28 @@
1121
<target name="clean-package">
1222
<!--
1323
Remove some unnecessary files/directories
14-
${extension-dir}/ is the folder of your extension, e.g. ext/acme/demo/
24+
{{ dir }}/ is the folder of your extension, e.g. ext/acme/demo/
1525
-->
16-
<delete dir="${extension-dir}/tests" />
17-
<delete dir="${extension-dir}/travis" />
18-
19-
<delete file="${extension-dir}/.gitignore" />
20-
<delete file="${extension-dir}/.gitattributes" />
21-
<delete file="${extension-dir}/.travis.yml" />
22-
<delete file="${extension-dir}/build.xml" />
23-
<delete file="${extension-dir}/composer.lock" />
24-
<delete file="${extension-dir}/composer.phar" />
25-
<delete file="${extension-dir}/phpunit.xml.dist" />
26-
<delete file="${extension-dir}/README.md" />
26+
<delete dir="{{ dir }}/tests" />
27+
<delete dir="{{ dir }}/travis" />
28+
29+
<delete file="{{ dir }}/.gitignore" />
30+
<delete file="{{ dir }}/.gitattributes" />
31+
<delete file="{{ dir }}/.travis.yml" />
32+
<delete file="{{ dir }}/build.xml" />
33+
<delete file="{{ dir }}/composer.lock" />
34+
<delete file="{{ dir }}/composer.phar" />
35+
<delete file="{{ dir }}/phpunit.xml.dist" />
36+
<delete file="{{ dir }}/README.md" />
2737
</target>
2838

2939
<!--
3040
TODO: DO NOT EDIT BELOW THIS LINE!!!!
3141
-->
3242

33-
<property name="build-version" value="HEAD" override="true" />
43+
<property name="version" value="HEAD" override="true" />
3444
<property name="build-directory" value="build" override="true" />
35-
<property name="package-directory" value="${build-directory}/package/${vendor-name}/${extension-name}" />
45+
<property name="package-directory" value="{{ buildDir }}/package/{{ vendor }}/{{ extension }}" />
3646

3747
<!-- These are the main targets which you will probably want to use -->
3848
<target name="all" depends="prepare-structure,package" />
@@ -41,70 +51,70 @@
4151
Clean up the build directory
4252
-->
4353
<target name="clean">
44-
<delete dir="${build-directory}" />
54+
<delete dir="{{ buildDir }}" />
4555
</target>
4656

4757
<!--
4858
Recreate the necessary folders
4959
-->
5060
<target name="prepare-structure" depends="clean">
51-
<mkdir dir="${build-directory}" />
52-
<mkdir dir="${build-directory}/checkout" />
53-
<mkdir dir="${build-directory}/package" />
54-
<mkdir dir="${build-directory}/package/${vendor-name}" />
55-
<mkdir dir="${build-directory}/package/${vendor-name}/${extension-name}" />
56-
<mkdir dir="${build-directory}/upload" />
61+
<mkdir dir="{{ buildDir }}" />
62+
<mkdir dir="{{ buildDir }}/checkout" />
63+
<mkdir dir="{{ buildDir }}/package" />
64+
<mkdir dir="{{ buildDir }}/package/{{ vendor }}" />
65+
<mkdir dir="{{ buildDir }}/package/{{ vendor }}/{{ extension }}" />
66+
<mkdir dir="{{ buildDir }}/upload" />
5767
</target>
5868

5969
<!--
6070
The real packaging
6171
-->
6272
<target name="package">
63-
<echo msg="Extracting ${build-version}" />
73+
<echo msg="Extracting {{ buildVersion }}" />
6474

6575
<phingcall target="git-checkout">
66-
<property name="archive-version" value="${build-version}" />
76+
<property name="archive-version" value="{{ buildVersion }}" />
6777
</phingcall>
6878

6979
<if>
70-
<equals arg1="${has-dependencies}" arg2="1" />
80+
<equals arg1="{{ dependencies }}" arg2="1" />
7181
<then>
72-
<exec dir="${package-directory}" command="php composer.phar install --no-dev"
82+
<exec dir="{{ packageDir }}" command="php composer.phar install --no-dev"
7383
checkreturn="true" />
7484
</then>
7585
</if>
7686

7787
<phingcall target="clean-package">
78-
<property name="extension-dir" value="${package-directory}" />
88+
<property name="dir" value="{{ packageDir }}" />
7989
</phingcall>
8090

8191
<!-- Try setting the package version property from composer.json -->
82-
<exec dir="${package-directory}"
83-
command='php -r "\$j = json_decode(file_get_contents(\"composer.json\")); echo (isset(\$j->version) ? \$j->version : \"${build-version}\");"'
92+
<exec dir="{{ packageDir }}"
93+
command='php -r "\$j = json_decode(file_get_contents(\"composer.json\")); echo (isset(\$j->version) ? \$j->version : \"{{ buildVersion }}\");"'
8494
checkreturn="true"
8595
outputProperty='package-version' />
8696

8797
<phingcall target="wrap-package">
88-
<property name="destination-filename" value="${build-directory}/upload/${vendor-name}_${extension-name}_${package-version}" />
98+
<property name="destination-filename" value="{{ buildDir }}/upload/{{ vendor }}_{{ extension }}_{{ packageVersion }}" />
8999
</phingcall>
90100
</target>
91101

92102
<!--
93103
Checkout a given version and install/clean the dependencies
94104
-->
95105
<target name="git-checkout">
96-
<echo msg="Getting archive for ${archive-version}" />
106+
<echo msg="Getting archive for {{ archiveVersion }}" />
97107

98-
<exec command="git archive ${archive-version} --format zip --output ${build-directory}/checkout/${archive-version}.zip"
108+
<exec command="git archive {{ archiveVersion }} --format zip --output {{ buildDir }}/checkout/{{ archiveVersion }}.zip"
99109
checkreturn="true" />
100-
<unzip file="${build-directory}/checkout/${archive-version}.zip" todir="${package-directory}" />
110+
<unzip file="{{ buildDir }}/checkout/{{ archiveVersion }}.zip" todir="{{ packageDir }}" />
101111
</target>
102112

103113
<!--
104114
Create the zip and tar ball
105115
-->
106116
<target name="wrap-package">
107-
<echo msg="Creating archives (${vendor-name}/${extension-name} ${build-version})" />
108-
<zip basedir="${build-directory}/package/" destfile="${destination-filename}.zip" />
117+
<echo msg="Creating archives ({{ vendor }}/{{ extension }} {{ buildVersion }})" />
118+
<zip basedir="{{ buildDir }}/package/" destfile="{{ destination }}.zip" />
109119
</target>
110120
</project>

0 commit comments

Comments
 (0)