251cced1f8
Various minor things done to project files Updated sample extension project file and updated makefile to the new unified version (more changes likely on the way) Updated regex project file and makefile --HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401971
305 lines
10 KiB
C#
305 lines
10 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);
|
|
|
|
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"));
|
|
|
|
return (Plugin [])plugins.ToArray(typeof(Plugin));
|
|
}
|
|
}
|
|
}
|
|
|