-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplugins_packager.xml
More file actions
executable file
·132 lines (107 loc) · 4.33 KB
/
plugins_packager.xml
File metadata and controls
executable file
·132 lines (107 loc) · 4.33 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
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
<?xml version="1.0" encoding="UTF-8"?>
<!-- ================================================================== -->
<!-- redITEM 2.0 packager -->
<!-- This PHING build file generates the redITEM 2.0 Plugins package -->
<!-- To use in your environment do the following steps: -->
<!-- Change the following variables in build.properties file -->
<!-- (copy variables from build.properties.dist ) -->
<!-- - change the version in variable comp.version -->
<!-- - change the package folder path in variable package.dir -->
<!-- - execute this PHING build file -->
<!-- ================================================================== -->
<project name="plugins packager" basedir="." default="main">
<!-- Do initialization stuff -->
<property file="build.properties" override="true"/>
<!-- Folder where the redITEM 2.0 repository PLUGINS are located -->
<property name="extpath" value="${project.basedir}/plugins" override="true" />
<!-- Target dir where module packages will be created -->
<property name="targetdir" value="${package.dir}/redPRODUCTFINDER-Plugins" override="true" />
<!-- MAIN -->
<target name="main" description="Loops through folders of plugin groups">
<!-- Cleanup build area -->
<delete dir="${targetdir}" />
<mkdir dir="${targetdir}" />
<!-- Loop through plugins groups -->
<foreach param="group_name" target="plugin_loop">
<fileset dir="${extpath}">
<type type="dir" />
<depth max="0" min="0" />
</fileset>
</foreach>
</target>
<target name="plugin_loop" description="Loops through plugins folders inside groups">
<!-- Loop through plugins -->
<foreach param="plugin_name" target="plugin_packager">
<fileset dir="${extpath}/${group_name}">
<type type="dir" />
<depth max="0" min="0" />
</fileset>
</foreach>
</target>
<target name="plugin_packager" description="Packages the extension for delivery">
<!-- Create package folder -->
<mkdir dir="${targetdir}/${group_name}/${plugin_name}" />
<!-- Copy plugin files & folder -->
<copy todir="${targetdir}/${group_name}/${plugin_name}">
<fileset dir="${extpath}/${group_name}/${plugin_name}">
<include name="**"/>
<exclude name=".*"/>
</fileset>
</copy>
<!-- Check if media folder of plugin exist, copy it -->
<if>
<available file='${repo.dir}/media/plg_${group_name}_${plugin_name}' type='dir' />
<then>
<echo msg="Plugin ${group_name} - ${plugin_name} has Media folder..."/>
<copy todir="${targetdir}/${group_name}/${plugin_name}/media/plg_${group_name}_${plugin_name}">
<fileset dir="${repo.dir}/media/plg_${group_name}_${plugin_name}">
<include name="**"/>
<exclude name=".*"/>
</fileset>
</copy>
</then>
</if>
<!-- Load extension property in XML file -->
<xmlproperty file="${targetdir}/${group_name}/${plugin_name}/${plugin_name}.xml" prefix="extensionDetails" keepRoot="false" />
<zip destfile="${targetdir}/plg_${group_name}_${plugin_name}-${extensionDetails.version}.zip">
<fileset dir="${targetdir}/${group_name}/${plugin_name}">
<include name="**" />
<exclude name=".*" />
</fileset>
</zip>
<!-- clean up temporary folder -->
<delete dir="${targetdir}/${group_name}" />
</target>
<target name="dist" depends="main">
<echo msg="Modules build successful!"/>
</target>
<target name="autopack">
<property
name="package.dir"
value="${package.dir}"
override="true"/>
<property
name="extension"
value="redproductfinder"
override="true"/>
<property
name="joomla.version"
value="3"
override="true"/>
<property
name="package.delete"
value="true"
override="false"/>
<if>
<and>
<available file="${package.dir}" type="dir"/>
<equals arg1="${package.delete}" arg2="1" />
</and>
<then>
<echo msg="Removing old autopack folder"/>
<delete dir="${package.dir}"/>
</then>
</if>
<phingcall target="dist" />
</target>
</project>