-
-
Notifications
You must be signed in to change notification settings - Fork 10
/
build.xml
executable file
·103 lines (84 loc) · 4.08 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
<?xml version="1.0"?>
<!--~
~ @package AkeebaEngage
~ @copyright Copyright (c)2020-2024 Nicholas K. Dionysopoulos / Akeeba Ltd
~ @license GNU General Public License version 3, or later
-->
<project name="AkeebaEngage" description="Akeeba Engage" default="git">
<import file="${phing.dir}/../buildfiles/phing/common.xml"/>
<!--
====================================================================================================
File sets
====================================================================================================
-->
<fileset dir="${dirs.component}" id="component">
<include name="backend/**"/>
<include name="frontend/**"/>
<include name="language/**"/>
<include name="media/**"/>
<include name="*"/>
<!-- Legacy views -->
<exclude name="backend/views/**"/>
<exclude name="frontend/views/**"/>
<!-- Debug scripts -->
<exclude name="debug/**"/>
<!-- License file. Included in the package extensions's root -->
<exclude name="LICENSE.txt"/>
<!-- Package extension script -->
<exclude name="script.engage.php"/>
<!-- XML Manifest in backend folder. This is included in the component package's root -->
<exclude name="backend/engage.xml"/>
<!-- SCSS compilation cache -->
<exclude name="component/media/css/.sass-cache/**"/>
<!-- HTML Purifier: Remove unneeded tests, optional code, irrelevant plugins etc -->
<exclude name="backend/vendor/ezyang/htmlpurifier/extras/**"/>
<exclude name="backend/vendor/ezyang/htmlpurifier/maintenance/**"/>
<exclude name="backend/vendor/ezyang/htmlpurifier/plugins/**"/>
<exclude name="backend/vendor/ezyang/htmlpurifier/tests/**"/>
<exclude name="backend/vendor/ezyang/htmlpurifier/CREDITS*"/>
<exclude name="backend/vendor/ezyang/htmlpurifier/INSTALL*"/>
<exclude name="backend/vendor/ezyang/htmlpurifier/NEWS*"/>
<exclude name="backend/vendor/ezyang/htmlpurifier/package.php"/>
<exclude name="backend/vendor/ezyang/htmlpurifier/phpdoc.ini"/>
<exclude name="backend/vendor/ezyang/htmlpurifier/test-*"/>
<exclude name="backend/vendor/ezyang/htmlpurifier/TODO"/>
<exclude name="backend/vendor/ezyang/htmlpurifier/update-for-release"/>
<exclude name="backend/vendor/ezyang/htmlpurifier/WHATSNEW"/>
</fileset>
<fileset dir="${dirs.release}" id="package">
<include name="com_*.zip"/>
<include name="file_*.zip"/>
<include name="file_fef*.zip"/>
<include name="mod_*.zip"/>
<include name="plg_*.zip"/>
<include name="lib_*.zip"/>
<include name="pkg_*.xml"/>
<include name="language/**"/>
<include name="*.txt"/>
<include name="script.*.php"/>
</fileset>
<target name="git" description="Makes only packages, not the documentation"
depends="new-release,setup-properties,compile-javascript,compile-css,component-packages">
</target>
<target name="compile-css" description="Compile SCSS to minified CSS">
<exec executable="sass" dir="${dirs.component}/media/css" checkreturn="true" passthru="true">
<arg value="${dirs.component}/media/css:${dirs.component}/media/css" />
<arg value="-s" />
<arg value="compressed" />
</exec>
</target>
<target name="compile-javascript" description="Transpile and minify JavaScript files">
<exec executable="${dirs.root}/../buildfiles/node_modules/.bin/babel"
dir="${dirs.root}" checkreturn="true">
<env key="NODE_PATH" value="${dirs.root}/../buildfiles/node_modules" />
<arg value="component/media/js" />
<arg value="--config-file" />
<arg value="${dirs.root}/.babelrc.json" />
<arg value="--out-dir" />
<arg value="component/media/js" />
<arg value="--out-file-extension" />
<arg value=".min.js" />
<arg value="--source-maps" />
</exec>
</target>
</project>