|
dvander@388
|
1 |
using System; |
|
dvander@1548
|
2 |
using System.Collections; |
|
dvander@388
|
3 |
|
|
dvander@388
|
4 |
namespace builder |
|
dvander@388
|
5 |
{ |
|
dvander@388
|
6 |
public class PkgCore : Package |
|
dvander@388
|
7 |
{ |
|
dvander@1548
|
8 |
private ArrayList libraries; |
|
dvander@1548
|
9 |
private ArrayList plugins; |
|
dvander@1548
|
10 |
private ArrayList folders; |
|
dvander@1548
|
11 |
|
|
dvander@388
|
12 |
public PkgCore() |
|
dvander@388
|
13 |
{ |
|
dvander@388
|
14 |
} |
|
dvander@388
|
15 |
|
|
dvander@388
|
16 |
public override string GetBaseFolder() |
|
dvander@388
|
17 |
{ |
|
dvander@984
|
18 |
return "base"; |
|
dvander@388
|
19 |
} |
|
dvander@388
|
20 |
|
|
dvander@403
|
21 |
public override void GetCompressBases(ref string path, ref string folder) |
|
dvander@403
|
22 |
{ |
|
dvander@403
|
23 |
path = "base"; |
|
dvander@403
|
24 |
folder = "addons"; |
|
dvander@403
|
25 |
} |
|
dvander@403
|
26 |
|
|
dvander@403
|
27 |
public override string GetPackageName() |
|
dvander@403
|
28 |
{ |
|
dvander@403
|
29 |
return "sourcemod-core"; |
|
dvander@403
|
30 |
} |
|
dvander@403
|
31 |
|
|
dvander@388
|
32 |
/** |
|
dvander@388
|
33 |
* Must return the list of folders to create. |
|
dvander@388
|
34 |
*/ |
|
dvander@388
|
35 |
public override string [] GetFolders() |
|
dvander@388
|
36 |
{ |
|
dvander@1548
|
37 |
if (folders != null) |
|
dvander@1548
|
38 |
{ |
|
dvander@1548
|
39 |
return (string [])folders.ToArray(typeof(string)); |
|
dvander@1548
|
40 |
} |
|
dvander@1548
|
41 |
|
|
dvander@1548
|
42 |
folders = new ArrayList(); |
|
dvander@388
|
43 |
|
|
dvander@1548
|
44 |
folders.Add("addons/sourcemod/bin"); |
|
dvander@1548
|
45 |
folders.Add("addons/sourcemod/plugins/disabled"); |
|
dvander@1548
|
46 |
folders.Add("addons/sourcemod/gamedata"); |
|
dvander@1548
|
47 |
folders.Add("addons/sourcemod/configs/geoip"); |
|
dvander@1548
|
48 |
folders.Add("addons/sourcemod/translations"); |
|
dvander@1548
|
49 |
folders.Add("addons/sourcemod/logs"); |
|
dvander@1548
|
50 |
folders.Add("addons/sourcemod/extensions"); |
|
dvander@1548
|
51 |
folders.Add("addons/sourcemod/data"); |
|
dvander@1548
|
52 |
folders.Add("addons/sourcemod/scripting/include"); |
|
dvander@1548
|
53 |
folders.Add("addons/sourcemod/scripting/admin-flatfile"); |
|
ds@1949
|
54 |
folders.Add("addons/sourcemod/scripting/adminmenu"); |
|
dvander@1548
|
55 |
folders.Add("addons/sourcemod/scripting/testsuite"); |
|
dvander@1548
|
56 |
folders.Add("cfg/sourcemod"); |
|
dvander@1548
|
57 |
folders.Add("addons/sourcemod/configs/sql-init-scripts"); |
|
dvander@1548
|
58 |
folders.Add("addons/sourcemod/configs/sql-init-scripts/mysql"); |
|
dvander@1548
|
59 |
folders.Add("addons/sourcemod/configs/sql-init-scripts/sqlite"); |
|
dvander@1929
|
60 |
//folders.Add("addons/sourcemod/extensions/games"); |
|
dvander@1548
|
61 |
folders.Add("addons/sourcemod/scripting/basecommands"); |
|
dvander@1548
|
62 |
folders.Add("addons/sourcemod/scripting/basecomm"); |
|
dvander@1891
|
63 |
folders.Add("addons/sourcemod/scripting/funvotes"); |
|
dvander@1548
|
64 |
folders.Add("addons/sourcemod/scripting/basevotes"); |
|
dvander@1548
|
65 |
folders.Add("addons/sourcemod/scripting/basebans"); |
|
dvander@1891
|
66 |
folders.Add("addons/sourcemod/scripting/funcommands"); |
|
dvander@1556
|
67 |
folders.Add("addons/sourcemod/extensions/auto.1.ep1"); |
|
dvander@1929
|
68 |
//folders.Add("addons/sourcemod/extensions/auto.2.ep1"); |
|
dvander@1556
|
69 |
folders.Add("addons/sourcemod/extensions/auto.2.ep2"); |
|
dvander@1806
|
70 |
folders.Add("addons/sourcemod/scripting/playercommands"); |
|
dvander@1890
|
71 |
folders.Add("addons/metamod"); |
|
pred@1538
|
72 |
|
|
dvander@1548
|
73 |
return (string [])folders.ToArray(typeof(string)); |
|
dvander@388
|
74 |
} |
|
dvander@388
|
75 |
|
|
dvander@388
|
76 |
/** |
|
dvander@388
|
77 |
* Called when file to file copies must be performed |
|
dvander@388
|
78 |
*/ |
|
dvander@403
|
79 |
public override void OnCopyFiles(ABuilder builder) |
|
dvander@388
|
80 |
{ |
|
dvander@1249
|
81 |
builder.CopyFile(this, "sourcepawn/batchtool/compile.exe", "addons/sourcemod/scripting/compile.exe"); |
|
dvander@388
|
82 |
} |
|
dvander@388
|
83 |
|
|
dvander@388
|
84 |
/** |
|
dvander@388
|
85 |
* Called when dir to dir copies must be performed |
|
dvander@388
|
86 |
*/ |
|
dvander@388
|
87 |
public override void OnCopyFolders(ABuilder builder) |
|
dvander@388
|
88 |
{ |
|
dvander@984
|
89 |
builder.CopyFolder(this, "configs", "addons/sourcemod/configs", null); |
|
dvander@984
|
90 |
builder.CopyFolder(this, "configs/geoip", "addons/sourcemod/configs/geoip", null); |
|
dvander@984
|
91 |
builder.CopyFolder(this, "configs/cfg", "cfg/sourcemod", null); |
|
dvander@1890
|
92 |
builder.CopyFolder(this, "configs/metamod", "addons/metamod", null); |
|
dvander@1404
|
93 |
builder.CopyFolder(this, |
|
dvander@1404
|
94 |
"configs/sql-init-scripts", |
|
dvander@1404
|
95 |
"addons/sourcemod/configs/sql-init-scripts", |
|
dvander@1404
|
96 |
null); |
|
dvander@1404
|
97 |
builder.CopyFolder(this, |
|
dvander@1404
|
98 |
"configs/sql-init-scripts/mysql", |
|
dvander@1404
|
99 |
"addons/sourcemod/configs/sql-init-scripts/mysql", |
|
dvander@1404
|
100 |
null); |
|
dvander@1404
|
101 |
builder.CopyFolder(this, |
|
dvander@1404
|
102 |
"configs/sql-init-scripts/sqlite", |
|
dvander@1404
|
103 |
"addons/sourcemod/configs/sql-init-scripts/sqlite", |
|
dvander@1404
|
104 |
null); |
|
dvander@388
|
105 |
|
|
dvander@388
|
106 |
string [] plugin_omits = new string[1]; |
|
dvander@388
|
107 |
plugin_omits[0] = "spcomp.exe"; |
|
dvander@388
|
108 |
|
|
dvander@573
|
109 |
string [] include_omits = new string[1]; |
|
dvander@575
|
110 |
include_omits[0] = "version.tpl"; |
|
dvander@573
|
111 |
|
|
dvander@984
|
112 |
builder.CopyFolder(this, "gamedata", "addons/sourcemod/gamedata", null); |
|
dvander@984
|
113 |
builder.CopyFolder(this, "plugins", "addons/sourcemod/scripting", plugin_omits); |
|
dvander@984
|
114 |
builder.CopyFolder(this, "plugins/include", "addons/sourcemod/scripting/include", include_omits); |
|
dvander@984
|
115 |
builder.CopyFolder(this, "translations", "addons/sourcemod/translations", null); |
|
dvander@984
|
116 |
builder.CopyFolder(this, "public/licenses", "addons/sourcemod", null); |
|
dvander@984
|
117 |
builder.CopyFolder(this, "plugins/admin-flatfile", "addons/sourcemod/scripting/admin-flatfile", null); |
|
ds@1949
|
118 |
builder.CopyFolder(this, "plugins/adminmenu", "addons/sourcemod/scripting/adminmenu", null); |
|
dvander@984
|
119 |
builder.CopyFolder(this, "plugins/testsuite", "addons/sourcemod/scripting/testsuite", null); |
|
dvander@1510
|
120 |
builder.CopyFolder(this, "plugins/basecommands", "addons/sourcemod/scripting/basecommands", null); |
|
pred@1538
|
121 |
builder.CopyFolder(this, "plugins/basecomm", "addons/sourcemod/scripting/basecomm", null); |
|
dvander@1890
|
122 |
builder.CopyFolder(this, "plugins/funvotes", "addons/sourcemod/scripting/funvotes", null); |
|
pred@1538
|
123 |
builder.CopyFolder(this, "plugins/basevotes", "addons/sourcemod/scripting/basevotes", null); |
|
pred@1538
|
124 |
builder.CopyFolder(this, "plugins/basebans", "addons/sourcemod/scripting/basebans", null); |
|
dvander@1890
|
125 |
builder.CopyFolder(this, "plugins/funcommands", "addons/sourcemod/scripting/funcommands", null); |
|
dvander@1805
|
126 |
builder.CopyFolder(this, "plugins/playercommands", "addons/sourcemod/scripting/playercommands", null); |
|
dvander@388
|
127 |
} |
|
dvander@388
|
128 |
|
|
dvander@388
|
129 |
/** |
|
dvander@388
|
130 |
* Called to build libraries |
|
dvander@388
|
131 |
*/ |
|
dvander@388
|
132 |
public override Library [] GetLibraries() |
|
dvander@388
|
133 |
{ |
|
dvander@1548
|
134 |
if (libraries != null) |
|
dvander@388
|
135 |
{ |
|
dvander@1548
|
136 |
return (Library [])libraries.ToArray(typeof(Library)); |
|
dvander@388
|
137 |
} |
|
dvander@388
|
138 |
|
|
dvander@1548
|
139 |
libraries = new ArrayList(); |
|
dvander@388
|
140 |
|
|
dvander@1548
|
141 |
Library lib = new Library(); |
|
dvander@1548
|
142 |
lib.package_path = "addons/sourcemod/bin"; |
|
dvander@1562
|
143 |
lib.source_path = "loader"; |
|
dvander@1562
|
144 |
lib.binary_name = "sourcemod_mm"; |
|
dvander@1562
|
145 |
lib.vcproj_name = "loader"; |
|
dvander@1562
|
146 |
lib.build_mode = BuildMode.BuildMode_Simple; |
|
dvander@1562
|
147 |
lib.has_platform_ext = true; |
|
dvander@1562
|
148 |
libraries.Add(lib); |
|
dvander@1562
|
149 |
|
|
dvander@1562
|
150 |
lib = new Library(); |
|
dvander@1562
|
151 |
lib.package_path = "addons/sourcemod/bin"; |
|
dvander@1548
|
152 |
lib.source_path = "core"; |
|
dvander@1548
|
153 |
lib.binary_name = "sourcemod.1.ep1"; |
|
dvander@1548
|
154 |
lib.vcproj_name = "sourcemod_mm"; |
|
dvander@1548
|
155 |
lib.build_mode = BuildMode.BuildMode_OldMetamod; |
|
dvander@1548
|
156 |
libraries.Add(lib); |
|
dvander@1548
|
157 |
|
|
dvander@1548
|
158 |
lib = new Library(); |
|
dvander@1548
|
159 |
lib.package_path = "addons/sourcemod/bin"; |
|
dvander@1548
|
160 |
lib.source_path = "core"; |
|
dvander@1548
|
161 |
lib.binary_name = "sourcemod.2.ep1"; |
|
dvander@1548
|
162 |
lib.vcproj_name = "sourcemod_mm"; |
|
dvander@1548
|
163 |
lib.build_mode = BuildMode.BuildMode_Episode1; |
|
dvander@1548
|
164 |
libraries.Add(lib); |
|
dvander@388
|
165 |
|
|
dvander@1599
|
166 |
lib = new Library(); |
|
dvander@1548
|
167 |
lib.package_path = "addons/sourcemod/bin"; |
|
dvander@1548
|
168 |
lib.source_path = "core"; |
|
dvander@1548
|
169 |
lib.binary_name = "sourcemod.2.ep2"; |
|
dvander@1548
|
170 |
lib.vcproj_name = "sourcemod_mm"; |
|
dvander@1548
|
171 |
lib.build_mode = BuildMode.BuildMode_Episode2; |
|
dvander@1599
|
172 |
libraries.Add(lib); |
|
dvander@388
|
173 |
|
|
dvander@1548
|
174 |
lib = new Library(); |
|
dvander@1548
|
175 |
lib.package_path = "addons/sourcemod/bin"; |
|
dvander@1548
|
176 |
lib.source_path = "sourcepawn/jit/x86"; |
|
dvander@1548
|
177 |
lib.binary_name = "sourcepawn.jit.x86"; |
|
dvander@1548
|
178 |
lib.vcproj_name = "jit-x86"; |
|
dvander@1548
|
179 |
libraries.Add(lib); |
|
dvander@388
|
180 |
|
|
dvander@1548
|
181 |
lib = new Library(); |
|
dvander@1548
|
182 |
lib.package_path = "addons/sourcemod/scripting"; |
|
dvander@1548
|
183 |
lib.source_path = "sourcepawn/compiler"; |
|
dvander@1548
|
184 |
lib.binary_name = "spcomp"; |
|
dvander@1548
|
185 |
lib.is_executable = true; |
|
dvander@1548
|
186 |
libraries.Add(lib); |
|
dvander@1548
|
187 |
|
|
dvander@1548
|
188 |
lib = new Library(); |
|
dvander@1548
|
189 |
lib.package_path = "addons/sourcemod/extensions"; |
|
dvander@1548
|
190 |
lib.source_path = "extensions/geoip"; |
|
dvander@1548
|
191 |
lib.binary_name = "geoip.ext"; |
|
dvander@1548
|
192 |
lib.vcproj_name = "geoip"; |
|
dvander@1548
|
193 |
libraries.Add(lib); |
|
dvander@388
|
194 |
|
|
dvander@1548
|
195 |
lib = new Library(); |
|
dvander@1548
|
196 |
lib.package_path = "addons/sourcemod/extensions"; |
|
dvander@1548
|
197 |
lib.source_path = "extensions/bintools"; |
|
dvander@1548
|
198 |
lib.binary_name = "bintools.ext"; |
|
dvander@1548
|
199 |
lib.vcproj_name = "bintools"; |
|
dvander@1548
|
200 |
libraries.Add(lib); |
|
dvander@870
|
201 |
|
|
dvander@1548
|
202 |
lib = new Library(); |
|
dvander@1548
|
203 |
lib.package_path = "addons/sourcemod/extensions"; |
|
dvander@1548
|
204 |
lib.source_path = "extensions/mysql"; |
|
dvander@1548
|
205 |
lib.binary_name = "dbi.mysql.ext"; |
|
dvander@1548
|
206 |
lib.vcproj_name = "sm_mysql"; |
|
dvander@1548
|
207 |
libraries.Add(lib); |
|
dvander@1548
|
208 |
|
|
dvander@1564
|
209 |
lib = new Library(); |
|
dvander@1564
|
210 |
lib.package_path = "addons/sourcemod/extensions/auto.1.ep1"; |
|
dvander@1564
|
211 |
lib.source_path = "extensions/sdktools"; |
|
dvander@1564
|
212 |
lib.binary_name = "sdktools.ext"; |
|
dvander@1564
|
213 |
lib.vcproj_name = "sdktools"; |
|
dvander@1564
|
214 |
lib.build_mode = BuildMode.BuildMode_OldMetamod; |
|
dvander@1564
|
215 |
libraries.Add(lib); |
|
dvander@1564
|
216 |
|
|
dvander@1548
|
217 |
lib = new Library(); |
|
dvander@1564
|
218 |
lib.package_path = "addons/sourcemod/extensions/auto.2.ep1"; |
|
dvander@1564
|
219 |
lib.source_path = "extensions/sdktools"; |
|
dvander@1564
|
220 |
lib.binary_name = "sdktools.ext"; |
|
dvander@1564
|
221 |
lib.vcproj_name = "sdktools"; |
|
dvander@1564
|
222 |
lib.build_mode = BuildMode.BuildMode_Episode1; |
|
dvander@1548
|
223 |
libraries.Add(lib); |
|
dvander@1564
|
224 |
|
|
dvander@1564
|
225 |
lib = new Library(); |
|
dvander@1564
|
226 |
lib.package_path = "addons/sourcemod/extensions/auto.2.ep2"; |
|
dvander@1564
|
227 |
lib.source_path = "extensions/sdktools"; |
|
dvander@1564
|
228 |
lib.binary_name = "sdktools.ext"; |
|
dvander@1564
|
229 |
lib.vcproj_name = "sdktools"; |
|
dvander@1564
|
230 |
lib.build_mode = BuildMode.BuildMode_Episode2; |
|
dvander@1564
|
231 |
libraries.Add(lib); |
|
dvander@957
|
232 |
|
|
dvander@1548
|
233 |
lib = new Library(); |
|
dvander@1548
|
234 |
lib.package_path = "addons/sourcemod/extensions"; |
|
dvander@1548
|
235 |
lib.source_path = "extensions/sqlite"; |
|
dvander@1548
|
236 |
lib.binary_name = "dbi.sqlite.ext"; |
|
dvander@1548
|
237 |
lib.vcproj_name = "sm_sqlite"; |
|
dvander@1548
|
238 |
libraries.Add(lib); |
|
dvander@1207
|
239 |
|
|
dvander@1548
|
240 |
lib = new Library(); |
|
dvander@1567
|
241 |
lib.package_path = "addons/sourcemod/extensions/auto.1.ep1"; |
|
dvander@1567
|
242 |
lib.source_path = "extensions/cstrike"; |
|
dvander@1567
|
243 |
lib.binary_name = "game.cstrike.ext"; |
|
dvander@1567
|
244 |
lib.vcproj_name = "cstrike"; |
|
dvander@1567
|
245 |
lib.build_mode = BuildMode.BuildMode_OldMetamod; |
|
dvander@1548
|
246 |
libraries.Add(lib); |
|
dvander@1567
|
247 |
|
|
dvander@1567
|
248 |
lib = new Library(); |
|
dvander@1567
|
249 |
lib.package_path = "addons/sourcemod/extensions/auto.2.ep1"; |
|
dvander@1567
|
250 |
lib.source_path = "extensions/cstrike"; |
|
dvander@1567
|
251 |
lib.binary_name = "game.cstrike.ext"; |
|
dvander@1567
|
252 |
lib.vcproj_name = "cstrike"; |
|
dvander@1567
|
253 |
lib.build_mode = BuildMode.BuildMode_Episode1; |
|
dvander@1567
|
254 |
libraries.Add(lib); |
|
dvander@1464
|
255 |
|
|
dvander@1548
|
256 |
lib = new Library(); |
|
dvander@1548
|
257 |
lib.package_path = "addons/sourcemod/extensions"; |
|
dvander@1548
|
258 |
lib.source_path = "extensions/topmenus"; |
|
dvander@1548
|
259 |
lib.binary_name = "topmenus.ext"; |
|
dvander@1548
|
260 |
lib.vcproj_name = "topmenus"; |
|
dvander@1548
|
261 |
libraries.Add(lib); |
|
dvander@1510
|
262 |
|
|
dvander@1548
|
263 |
return (Library [])libraries.ToArray(typeof(Library)); |
|
dvander@388
|
264 |
} |
|
dvander@852
|
265 |
|
|
dvander@852
|
266 |
/** |
|
dvander@852
|
267 |
* Called to build plugins |
|
dvander@852
|
268 |
*/ |
|
dvander@852
|
269 |
public override Plugin [] GetPlugins() |
|
dvander@852
|
270 |
{ |
|
dvander@1548
|
271 |
if (plugins != null) |
|
dvander@1548
|
272 |
{ |
|
dvander@1548
|
273 |
return (Plugin [])plugins.ToArray(typeof(Plugin)); |
|
dvander@1548
|
274 |
} |
|
dvander@1548
|
275 |
|
|
dvander@1548
|
276 |
plugins = new ArrayList(); |
|
dvander@852
|
277 |
|
|
dvander@1548
|
278 |
plugins.Add(new Plugin("admin-flatfile", "admin-flatfile")); |
|
dvander@1548
|
279 |
plugins.Add(new Plugin("adminhelp")); |
|
dvander@1548
|
280 |
plugins.Add(new Plugin("antiflood")); |
|
dvander@1548
|
281 |
plugins.Add(new Plugin("basecommands")); |
|
dvander@1548
|
282 |
plugins.Add(new Plugin("reservedslots")); |
|
dvander@1548
|
283 |
plugins.Add(new Plugin("basetriggers")); |
|
dvander@1548
|
284 |
plugins.Add(new Plugin("nextmap")); |
|
dvander@1548
|
285 |
plugins.Add(new Plugin("basechat")); |
|
dvander@1890
|
286 |
plugins.Add(new Plugin("funcommands")); |
|
dvander@1548
|
287 |
plugins.Add(new Plugin("basevotes")); |
|
dvander@1890
|
288 |
plugins.Add(new Plugin("funvotes")); |
|
dvander@1548
|
289 |
plugins.Add(new Plugin("admin-sql-prefetch", true)); |
|
dvander@1548
|
290 |
plugins.Add(new Plugin("admin-sql-threaded", true)); |
|
dvander@1548
|
291 |
plugins.Add(new Plugin("sql-admin-manager", true)); |
|
dvander@1548
|
292 |
plugins.Add(new Plugin("basebans")); |
|
dvander@1548
|
293 |
plugins.Add(new Plugin("mapchooser", true)); |
|
dvander@1548
|
294 |
plugins.Add(new Plugin("basecomm")); |
|
dvander@1548
|
295 |
plugins.Add(new Plugin("randomcycle", true)); |
|
dvander@1548
|
296 |
plugins.Add(new Plugin("rockthevote", true)); |
|
dvander@1598
|
297 |
plugins.Add(new Plugin("adminmenu")); |
|
dvander@1804
|
298 |
plugins.Add(new Plugin("playercommands")); |
|
dvander@852
|
299 |
|
|
dvander@1548
|
300 |
return (Plugin [])plugins.ToArray(typeof(Plugin)); |
|
dvander@852
|
301 |
} |
|
dvander@388
|
302 |
} |
|
dvander@388
|
303 |
} |
|
dvander@392
|
304 |
|