4106620928
--HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%402313
329 lines
11 KiB
C#
329 lines
11 KiB
C#
using System;
|
|
using System.Collections;
|
|
|
|
namespace builder
|
|
{
|
|
public class PkgCore : Package
|
|
{
|
|
private ArrayList libraries;
|
|
private ArrayList plugins;
|
|
private ArrayList folders;
|
|
|
|
public PkgCore()
|
|
{
|
|
}
|
|
|
|
public override string GetBaseFolder()
|
|
{
|
|
return "base";
|
|
}
|
|
|
|
public override void GetCompressBases(ref string path, ref string folder)
|
|
{
|
|
path = "base";
|
|
folder = "addons";
|
|
}
|
|
|
|
public override string GetPackageName()
|
|
{
|
|
return "sourcemod-core";
|
|
}
|
|
|
|
/**
|
|
* Must return the list of folders to create.
|
|
*/
|
|
public override string [] GetFolders()
|
|
{
|
|
if (folders != null)
|
|
{
|
|
return (string [])folders.ToArray(typeof(string));
|
|
}
|
|
|
|
folders = new ArrayList();
|
|
|
|
folders.Add("addons/sourcemod/bin");
|
|
folders.Add("addons/sourcemod/plugins/disabled");
|
|
folders.Add("addons/sourcemod/gamedata");
|
|
folders.Add("addons/sourcemod/configs/geoip");
|
|
folders.Add("addons/sourcemod/translations");
|
|
folders.Add("addons/sourcemod/logs");
|
|
folders.Add("addons/sourcemod/extensions");
|
|
folders.Add("addons/sourcemod/data");
|
|
folders.Add("addons/sourcemod/scripting/include");
|
|
folders.Add("addons/sourcemod/scripting/admin-flatfile");
|
|
folders.Add("addons/sourcemod/scripting/adminmenu");
|
|
folders.Add("addons/sourcemod/scripting/testsuite");
|
|
folders.Add("cfg/sourcemod");
|
|
folders.Add("addons/sourcemod/configs/sql-init-scripts");
|
|
folders.Add("addons/sourcemod/configs/sql-init-scripts/mysql");
|
|
folders.Add("addons/sourcemod/configs/sql-init-scripts/sqlite");
|
|
//folders.Add("addons/sourcemod/extensions/games");
|
|
folders.Add("addons/sourcemod/scripting/basecommands");
|
|
folders.Add("addons/sourcemod/scripting/basecomm");
|
|
folders.Add("addons/sourcemod/scripting/funvotes");
|
|
folders.Add("addons/sourcemod/scripting/basevotes");
|
|
folders.Add("addons/sourcemod/scripting/basebans");
|
|
folders.Add("addons/sourcemod/scripting/funcommands");
|
|
folders.Add("addons/sourcemod/extensions/auto.1.ep1");
|
|
//folders.Add("addons/sourcemod/extensions/auto.2.ep1");
|
|
folders.Add("addons/sourcemod/extensions/auto.2.ep2");
|
|
folders.Add("addons/sourcemod/scripting/playercommands");
|
|
folders.Add("addons/metamod");
|
|
|
|
return (string [])folders.ToArray(typeof(string));
|
|
}
|
|
|
|
/**
|
|
* Called when file to file copies must be performed
|
|
*/
|
|
public override void OnCopyFiles(ABuilder builder)
|
|
{
|
|
builder.CopyFile(this, "sourcepawn/batchtool/compile.exe", "addons/sourcemod/scripting/compile.exe");
|
|
}
|
|
|
|
/**
|
|
* Called when dir to dir copies must be performed
|
|
*/
|
|
public override void OnCopyFolders(ABuilder builder)
|
|
{
|
|
builder.CopyFolder(this, "configs", "addons/sourcemod/configs", null);
|
|
builder.CopyFolder(this, "configs/geoip", "addons/sourcemod/configs/geoip", null);
|
|
builder.CopyFolder(this, "configs/cfg", "cfg/sourcemod", null);
|
|
builder.CopyFolder(this, "configs/metamod", "addons/metamod", null);
|
|
builder.CopyFolder(this,
|
|
"configs/sql-init-scripts",
|
|
"addons/sourcemod/configs/sql-init-scripts",
|
|
null);
|
|
builder.CopyFolder(this,
|
|
"configs/sql-init-scripts/mysql",
|
|
"addons/sourcemod/configs/sql-init-scripts/mysql",
|
|
null);
|
|
builder.CopyFolder(this,
|
|
"configs/sql-init-scripts/sqlite",
|
|
"addons/sourcemod/configs/sql-init-scripts/sqlite",
|
|
null);
|
|
|
|
string [] plugin_omits = new string[1];
|
|
plugin_omits[0] = "spcomp.exe";
|
|
|
|
string [] include_omits = new string[1];
|
|
include_omits[0] = "version.tpl";
|
|
|
|
builder.CopyFolder(this, "gamedata", "addons/sourcemod/gamedata", null);
|
|
builder.CopyFolder(this, "plugins", "addons/sourcemod/scripting", plugin_omits);
|
|
builder.CopyFolder(this, "plugins/include", "addons/sourcemod/scripting/include", include_omits);
|
|
builder.CopyFolder(this, "translations", "addons/sourcemod/translations", null);
|
|
builder.CopyFolder(this, "public/licenses", "addons/sourcemod", null);
|
|
builder.CopyFolder(this, "plugins/admin-flatfile", "addons/sourcemod/scripting/admin-flatfile", null);
|
|
builder.CopyFolder(this, "plugins/adminmenu", "addons/sourcemod/scripting/adminmenu", null);
|
|
builder.CopyFolder(this, "plugins/testsuite", "addons/sourcemod/scripting/testsuite", null);
|
|
builder.CopyFolder(this, "plugins/basecommands", "addons/sourcemod/scripting/basecommands", null);
|
|
builder.CopyFolder(this, "plugins/basecomm", "addons/sourcemod/scripting/basecomm", null);
|
|
builder.CopyFolder(this, "plugins/funvotes", "addons/sourcemod/scripting/funvotes", null);
|
|
builder.CopyFolder(this, "plugins/basevotes", "addons/sourcemod/scripting/basevotes", null);
|
|
builder.CopyFolder(this, "plugins/basebans", "addons/sourcemod/scripting/basebans", null);
|
|
builder.CopyFolder(this, "plugins/funcommands", "addons/sourcemod/scripting/funcommands", null);
|
|
builder.CopyFolder(this, "plugins/playercommands", "addons/sourcemod/scripting/playercommands", null);
|
|
}
|
|
|
|
/**
|
|
* Called to build libraries
|
|
*/
|
|
public override Library [] GetLibraries()
|
|
{
|
|
if (libraries != null)
|
|
{
|
|
return (Library [])libraries.ToArray(typeof(Library));
|
|
}
|
|
|
|
libraries = new ArrayList();
|
|
|
|
Library lib = new Library();
|
|
lib.package_path = "addons/sourcemod/bin";
|
|
lib.source_path = "loader";
|
|
lib.binary_name = "sourcemod_mm";
|
|
lib.vcproj_name = "loader";
|
|
lib.build_mode = BuildMode.BuildMode_Simple;
|
|
lib.has_platform_ext = true;
|
|
libraries.Add(lib);
|
|
|
|
lib = new Library();
|
|
lib.package_path = "addons/sourcemod/bin";
|
|
lib.source_path = "core";
|
|
lib.binary_name = "sourcemod.1.ep1";
|
|
lib.vcproj_name = "sourcemod_mm";
|
|
lib.build_mode = BuildMode.BuildMode_OldMetamod;
|
|
libraries.Add(lib);
|
|
|
|
lib = new Library();
|
|
lib.package_path = "addons/sourcemod/bin";
|
|
lib.source_path = "core";
|
|
lib.binary_name = "sourcemod.2.ep1";
|
|
lib.vcproj_name = "sourcemod_mm";
|
|
lib.build_mode = BuildMode.BuildMode_Episode1;
|
|
libraries.Add(lib);
|
|
|
|
lib = new Library();
|
|
lib.package_path = "addons/sourcemod/bin";
|
|
lib.source_path = "core";
|
|
lib.binary_name = "sourcemod.2.ep2";
|
|
lib.vcproj_name = "sourcemod_mm";
|
|
lib.build_mode = BuildMode.BuildMode_Episode2;
|
|
libraries.Add(lib);
|
|
|
|
lib = new Library();
|
|
lib.package_path = "addons/sourcemod/bin";
|
|
lib.source_path = "sourcepawn/jit/x86";
|
|
lib.binary_name = "sourcepawn.jit.x86";
|
|
lib.vcproj_name = "jit-x86";
|
|
libraries.Add(lib);
|
|
|
|
lib = new Library();
|
|
lib.package_path = "addons/sourcemod/scripting";
|
|
lib.source_path = "sourcepawn/compiler";
|
|
lib.binary_name = "spcomp";
|
|
lib.is_executable = true;
|
|
libraries.Add(lib);
|
|
|
|
lib = new Library();
|
|
lib.package_path = "addons/sourcemod/extensions";
|
|
lib.source_path = "extensions/geoip";
|
|
lib.binary_name = "geoip.ext";
|
|
lib.vcproj_name = "geoip";
|
|
libraries.Add(lib);
|
|
|
|
lib = new Library();
|
|
lib.package_path = "addons/sourcemod/extensions";
|
|
lib.source_path = "extensions/bintools";
|
|
lib.binary_name = "bintools.ext";
|
|
lib.vcproj_name = "bintools";
|
|
libraries.Add(lib);
|
|
|
|
lib = new Library();
|
|
lib.package_path = "addons/sourcemod/extensions";
|
|
lib.source_path = "extensions/mysql";
|
|
lib.binary_name = "dbi.mysql.ext";
|
|
lib.vcproj_name = "sm_mysql";
|
|
libraries.Add(lib);
|
|
|
|
lib = new Library();
|
|
lib.package_path = "addons/sourcemod/extensions/auto.1.ep1";
|
|
lib.source_path = "extensions/sdktools";
|
|
lib.binary_name = "sdktools.ext";
|
|
lib.vcproj_name = "sdktools";
|
|
lib.build_mode = BuildMode.BuildMode_OldMetamod;
|
|
libraries.Add(lib);
|
|
|
|
lib = new Library();
|
|
lib.package_path = "addons/sourcemod/extensions/auto.2.ep1";
|
|
lib.source_path = "extensions/sdktools";
|
|
lib.binary_name = "sdktools.ext";
|
|
lib.vcproj_name = "sdktools";
|
|
lib.build_mode = BuildMode.BuildMode_Episode1;
|
|
libraries.Add(lib);
|
|
|
|
lib = new Library();
|
|
lib.package_path = "addons/sourcemod/extensions/auto.2.ep2";
|
|
lib.source_path = "extensions/sdktools";
|
|
lib.binary_name = "sdktools.ext";
|
|
lib.vcproj_name = "sdktools";
|
|
lib.build_mode = BuildMode.BuildMode_Episode2;
|
|
libraries.Add(lib);
|
|
|
|
lib = new Library();
|
|
lib.package_path = "addons/sourcemod/extensions";
|
|
lib.source_path = "extensions/sqlite";
|
|
lib.binary_name = "dbi.sqlite.ext";
|
|
lib.vcproj_name = "sm_sqlite";
|
|
libraries.Add(lib);
|
|
|
|
lib = new Library();
|
|
lib.package_path = "addons/sourcemod/extensions/auto.1.ep1";
|
|
lib.source_path = "extensions/cstrike";
|
|
lib.binary_name = "game.cstrike.ext";
|
|
lib.vcproj_name = "cstrike";
|
|
lib.build_mode = BuildMode.BuildMode_OldMetamod;
|
|
libraries.Add(lib);
|
|
|
|
lib = new Library();
|
|
lib.package_path = "addons/sourcemod/extensions/auto.2.ep1";
|
|
lib.source_path = "extensions/cstrike";
|
|
lib.binary_name = "game.cstrike.ext";
|
|
lib.vcproj_name = "cstrike";
|
|
lib.build_mode = BuildMode.BuildMode_Episode1;
|
|
libraries.Add(lib);
|
|
|
|
lib = new Library();
|
|
lib.package_path = "addons/sourcemod/extensions";
|
|
lib.source_path = "extensions/topmenus";
|
|
lib.binary_name = "topmenus.ext";
|
|
lib.vcproj_name = "topmenus";
|
|
libraries.Add(lib);
|
|
|
|
lib = new Library();
|
|
lib.package_path = "addons/sourcemod/extensions/auto.2.ep2";
|
|
lib.source_path = "extensions/tf2";
|
|
lib.binary_name = "game.tf2.ext";
|
|
lib.vcproj_name = "tf2";
|
|
lib.build_mode = BuildMode.BuildMode_Episode2;
|
|
libraries.Add(lib);
|
|
|
|
lib = new Library();
|
|
lib.package_path = "addons/sourcemod/extensions";
|
|
lib.source_path = "extensions/regex";
|
|
lib.binary_name = "regex.ext";
|
|
lib.vcproj_name = "regex";
|
|
libraries.Add(lib);
|
|
|
|
lib = new Library();
|
|
lib.package_path = "addons/sourcemod/extensions";
|
|
lib.source_path = "extensions/clientprefs";
|
|
lib.binary_name = "clientprefs.ext";
|
|
lib.vcproj_name = "clientprefs";
|
|
libraries.Add(lib);
|
|
|
|
return (Library [])libraries.ToArray(typeof(Library));
|
|
}
|
|
|
|
/**
|
|
* Called to build plugins
|
|
*/
|
|
public override Plugin [] GetPlugins()
|
|
{
|
|
if (plugins != null)
|
|
{
|
|
return (Plugin [])plugins.ToArray(typeof(Plugin));
|
|
}
|
|
|
|
plugins = new ArrayList();
|
|
|
|
plugins.Add(new Plugin("admin-flatfile", "admin-flatfile"));
|
|
plugins.Add(new Plugin("adminhelp"));
|
|
plugins.Add(new Plugin("antiflood"));
|
|
plugins.Add(new Plugin("basecommands"));
|
|
plugins.Add(new Plugin("reservedslots"));
|
|
plugins.Add(new Plugin("basetriggers"));
|
|
plugins.Add(new Plugin("nextmap"));
|
|
plugins.Add(new Plugin("basechat"));
|
|
plugins.Add(new Plugin("funcommands"));
|
|
plugins.Add(new Plugin("basevotes"));
|
|
plugins.Add(new Plugin("funvotes"));
|
|
plugins.Add(new Plugin("admin-sql-prefetch", true));
|
|
plugins.Add(new Plugin("admin-sql-threaded", true));
|
|
plugins.Add(new Plugin("sql-admin-manager", true));
|
|
plugins.Add(new Plugin("basebans"));
|
|
plugins.Add(new Plugin("mapchooser", true));
|
|
plugins.Add(new Plugin("basecomm"));
|
|
plugins.Add(new Plugin("randomcycle", true));
|
|
plugins.Add(new Plugin("rockthevote", true));
|
|
plugins.Add(new Plugin("adminmenu"));
|
|
plugins.Add(new Plugin("playercommands"));
|
|
plugins.Add(new Plugin("clientprefs"));
|
|
plugins.Add(new Plugin("nominations"), true);
|
|
|
|
return (Plugin [])plugins.ToArray(typeof(Plugin));
|
|
}
|
|
}
|
|
}
|
|
|