OSDN Git Service

Merge branch 'skinnable-master'
[nucleus-jp/nucleus-next.git] / build / build.xml
1 <?xml version="1.0" ?>
2
3 <!-- Build file for nucleus -->
4
5 <project name="nucleus" default="all">
6
7 <target name="all" depends="release, upgrade, convert, api, upgradescripts" />
8
9 <target name="init">
10
11     <property name="version" value="3.60" />
12     
13     <property name="src.home" value="source/nucleus/" />
14     <property name="build.home" value="release/" />    
15
16         <property name="tempdir" value="${build.home}/temp" />
17         
18     <property name="release.home" value="${tempdir}/nucleus${version}" />
19     <property name="upgrade.home" value="${tempdir}/upgrade-files" />
20     <property name="upgradescripts.home" value="${tempdir}/upgrades" />    
21     <property name="convert.home" value="${tempdir}/convert" />
22     <property name="apidocs.home" value="${build.home}/api" />
23     
24     <property name="convert.zip" value="${build.home}/import${version}.zip" />
25     <property name="upgradescripts.zip" value="${build.home}/upgrade${version}-scripts.zip" />
26     <property name="upgrade.zip" value="${build.home}/upgrade${version}-files.zip" />
27     <property name="release.zip" value="${build.home}/nucleus${version}.zip" />    
28     
29     <tstamp/>
30     <property name="devbuild.zip" value="${build.home}/pre${version}-${DSTAMP}.zip" />
31    
32 </target>
33
34 <target name="release" depends="cleanrelease">
35         <mkdir dir="${tempdir}" />      
36
37         <!-- Copy all Nucleus files and libs -->
38     <copy todir="${release.home}" preservelastmodified="yes">
39         <fileset dir="${src.home}">
40                         <exclude name="**/CVS/**"/>     
41         </fileset>
42     </copy>
43     
44     <!-- remove convert and upgrade thingies -->
45     <delete dir="${release.home}/nucleus/convert" />
46     <delete dir="${release.home}/nucleus/upgrades" />
47     <delete dir="${release.home}/nucleus/fileperms" />    
48     
49     <!-- remove all language files except english -->
50     <delete>
51         <fileset dir="${release.home}/nucleus/language">
52                 <include name="*.*" />
53                 <exclude name="english.php" />
54                 <exclude name="index.html" />
55         </fileset>
56     </delete>
57     
58     <!-- don't need build dir either -->
59     <delete dir="${release.home}/build" />
60     
61     <!-- Copy the correct config.php file -->
62     <delete file="${release.home}/config.php" />
63     <copy file="${src.home}/build/config.php" todir="${release.home}"  preservelastmodified="yes" />
64
65     <zip zipfile="${release.zip}"
66         basedir="${tempdir}"
67     />
68     
69         <delete dir="${tempdir}" />         
70 </target>
71
72 <target name="upgrade" depends="cleanupgrade">
73         <mkdir dir="${tempdir}" />      
74
75         <!-- Copy all Nucleus files and libs -->
76     <copy todir="${upgrade.home}/nucleus" preservelastmodified="yes">
77         <fileset dir="${src.home}/nucleus">
78                         <exclude name="**/CVS/**"/>     
79         </fileset>
80     </copy>
81
82         <!-- copy xml-rss2/rsd skins as well -->
83     <copy todir="${upgrade.home}/skins" preservelastmodified="yes">
84         <fileset dir="${src.home}/skins">
85                         <exclude name="**/CVS/**"/>     
86                         <exclude name="**/base/**"/>                                    
87         </fileset>
88     </copy>
89     
90         <!-- copy extra stuff as well -->
91     <copy todir="${upgrade.home}/extra" preservelastmodified="yes">
92         <fileset dir="${src.home}/extra">
93                         <exclude name="**/CVS/**"/>     
94         </fileset>
95     </copy>
96     
97     <!-- remove convert and upgrade thingies -->
98     <delete dir="${upgrade.home}/nucleus/convert" />
99     <delete dir="${upgrade.home}/nucleus/upgrades" />
100     <delete dir="${upgrade.home}/nucleus/fileperms" />  
101     
102     <!-- remove skins dir. prevents users from overwriting their own skins -->
103     <delete dir="${upgrade.home}/skins" />
104     
105     <!-- remove all language files except english -->
106     <delete>
107         <fileset dir="${upgrade.home}/nucleus/language">
108                 <include name="*.*" />
109                 <exclude name="english.php" />
110                 <exclude name="english-utf8.php" />
111                 <exclude name="index.html" />
112         </fileset>
113     </delete>    
114     
115     <!-- remove all plugins (only included in full release) -->
116     <delete includeEmptyDirs="true">
117         <fileset dir="${upgrade.home}/nucleus/plugins">
118                 <include name="**/**" />   <!-- upgrade should not contain/overwrite plugin files -->
119                 <include name="*.*" />
120                 <exclude name="index.html" />
121                 
122                 <!-- DO include NP_SkinFiles in the upgrade -->
123                 <exclude name="NP_SkinFiles.php" />
124                 <exclude name="skinfiles/*.*" />
125                 <!-- DO include NP_Ping in the upgrade -->
126                 <exclude name="NP_Ping.php" />
127                 <exclude name="ping/*.*" />
128                 <!-- DO include NP_SecurityEnforcer in the upgrade -->
129                 <exclude name="NP_SecurityEnforcer.php" />
130                 <exclude name="securityenforcer/*.*" />
131         </fileset>
132     </delete>    
133     
134     <!-- don't need build dir either -->
135     <delete dir="${upgrade.home}/build" />
136     
137     <!-- Copy necessary files in root -->
138     <copy file="${src.home}/action.php" todir="${upgrade.home}" preservelastmodified="yes" />
139         <copy file="${src.home}/atom.php" todir="${upgrade.home}" preservelastmodified="yes" />
140         <copy file="${src.home}/createaccount.php" todir="${upgrade.home}" preservelastmodified="yes" />
141         <copy file="${src.home}/readme.html" todir="${upgrade.home}" preservelastmodified="yes" />
142         <copy file="${src.home}/robots.txt" todir="${upgrade.home}" preservelastmodified="yes" />
143         <copy file="${src.home}/rsd.php" todir="${upgrade.home}" preservelastmodified="yes" />
144         <copy file="${src.home}/xml-rss2.php" todir="${upgrade.home}" preservelastmodified="yes" />
145
146         <zip zipfile="${upgrade.zip}"
147                 basedir="${tempdir}"
148         />
149
150         <delete dir="${tempdir}" />     
151 </target>
152
153 <target name="upgradescripts" depends="cleanupgradescripts">
154         <mkdir dir="${tempdir}" />      
155
156         <!-- Copy all necessary files in there -->
157     <copy todir="${upgradescripts.home}" preservelastmodified="yes">
158         <fileset dir="${src.home}/nucleus/upgrades">
159                         <exclude name="**/CVS/**"/>     
160         </fileset>
161     </copy>
162     
163     <zip zipfile="${upgradescripts.zip}"
164         basedir="${tempdir}"
165     />
166     
167         <delete dir="${tempdir}" />         
168 </target>
169
170 <target name="convert" depends="cleanconvert">
171         <mkdir dir="${tempdir}" />      
172
173         <!-- Copy all necessary files in there -->
174     <copy todir="${convert.home}" preservelastmodified="yes">
175         <fileset dir="${src.home}/nucleus/convert">
176                         <exclude name="**/CVS/**"/>
177         </fileset>
178     </copy>
179     
180     <zip zipfile="${convert.zip}"
181         basedir="${tempdir}"
182     />
183     
184         <delete dir="${tempdir}" />         
185 </target>
186
187 <target name="api" depends="cleanapi">
188 </target>
189
190 <target name="cleanrelease" depends="init">
191     <delete file="${release.zip}" />    
192 </target>
193
194 <target name="cleanupgrade" depends="init">
195     <delete file="${upgrade.zip}" />    
196 </target>
197
198 <target name="cleanupgradescripts" depends="init">
199     <delete file="${upgradescripts.zip}" />    
200 </target>
201
202 <target name="cleanconvert" depends="init">
203     <delete file="${convert.zip}" />
204 </target>
205
206 <target name="cleanapi" depends="init">
207     <delete dir="${apidocs.home}"/>
208 </target>
209
210 </project>