-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathbuild.xml
More file actions
105 lines (87 loc) · 3.88 KB
/
build.xml
File metadata and controls
105 lines (87 loc) · 3.88 KB
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
<?xml version="1.0"?>
<!--~
~ @package AkeebaDataCompliance
~ @copyright Copyright (c)2018-2025 Nicholas K. Dionysopoulos / Akeeba Ltd
~ @license GNU General Public License version 3, or later
-->
<project name="DataCompliance" description="DataCompliance for Joomla" default="git" >
<import file="${phing.dir}/../buildfiles/phing/common.xml" />
<!--
====================================================================================================
File sets
====================================================================================================
-->
<fileset dir="${dirs.component}" id="component" expandsymboliclinks="true">
<include name="**" />
<exclude name="backend/views/**" />
<exclude name="frontend/views/**" />
</fileset>
<fileset dir="${dirs.release}" id="package">
<include name="com_*.zip" />
<include name="file_*.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>
<!--
====================================================================================================
Tasks - General
====================================================================================================
-->
<target name="git" description="Makes only packages, not the documentation"
depends="new-release,setup-properties,compile-javascript,compile-css,component-packages">
</target>
<target name="documentation" description="Creates the documentation packages" depends="doc-epub">
</target>
<target name="doc-epub" description="Documentation for Joomla! in PDF format">
<phingcall target="docbook-epub">
<property name="docs.input" value="datacompliance.xml" />
</phingcall>
</target>
<target name="docsdeploy">
<phingcall target="docbook-zip">
<property name="docs.input" value="datacompliance.xml" />
</phingcall>
<property name="docsdeploy.path.source" value="datacompliance-import.zip"/>
<property name="docsdeploy.path.target" value="datacompliance"/>
<curlsftp
host="${scp.host}"
port="${scp.port}"
username="${scp.username}"
password="${scp.password}"
pubkeyfile="${scp.pubkeyfile}"
privkeyfile="${scp.privkeyfile}"
privkeyfilepassphrase="${scp.privkeyfilepassphrase}"
todir="${scp.dir.docs}/${docsdeploy.path.target}"
level="debug">
<fileset dir="${dirs.release}">
<include name="${docsdeploy.path.source}"/>
</fileset>
</curlsftp>
</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>
<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>
</project>