tools/builder/PkgCore.cs
author David Anderson <dvander@alliedmods.net>
Thu Aug 02 00:28:32 2007 +0000 (2007-08-02)
changeset 1249 54fbd318a660
parent 1248 ee9f7860e9db
child 1315 8e1db3d35430
permissions -rw-r--r--
fixed little bug in build tool
dvander@388
     1
using System;
dvander@388
     2
dvander@388
     3
namespace builder
dvander@388
     4
{
dvander@388
     5
	public class PkgCore : Package
dvander@388
     6
	{
dvander@388
     7
		public PkgCore()
dvander@388
     8
		{
dvander@388
     9
		}
dvander@388
    10
dvander@388
    11
		public override string GetBaseFolder()
dvander@388
    12
		{
dvander@984
    13
			return "base";
dvander@388
    14
		}
dvander@388
    15
dvander@403
    16
		public override void GetCompressBases(ref string path, ref string folder)
dvander@403
    17
		{
dvander@403
    18
			path = "base";
dvander@403
    19
			folder = "addons";
dvander@403
    20
		}
dvander@403
    21
dvander@403
    22
		public override string GetPackageName()
dvander@403
    23
		{
dvander@403
    24
			return "sourcemod-core";
dvander@403
    25
		}
dvander@403
    26
dvander@388
    27
		/** 
dvander@388
    28
		 * Must return the list of folders to create.
dvander@388
    29
		 */
dvander@388
    30
		public override string [] GetFolders()
dvander@388
    31
		{
dvander@984
    32
			string [] folders = new string[12];
dvander@388
    33
dvander@984
    34
			folders[0] = "addons/sourcemod/bin";
dvander@984
    35
			folders[1] = "addons/sourcemod/plugins/disabled";
dvander@984
    36
			folders[2] = "addons/sourcemod/gamedata";
dvander@984
    37
			folders[3] = "addons/sourcemod/configs/geoip";
dvander@984
    38
			folders[4] = "addons/sourcemod/translations";
dvander@984
    39
			folders[5] = "addons/sourcemod/logs";
dvander@984
    40
			folders[6] = "addons/sourcemod/extensions";
dvander@984
    41
			folders[7] = "addons/sourcemod/data";
dvander@984
    42
			folders[8] = "addons/sourcemod/scripting/include";
dvander@984
    43
			folders[9] = "addons/sourcemod/scripting/admin-flatfile";
dvander@984
    44
			folders[10] = "addons/sourcemod/scripting/testsuite";
dvander@984
    45
			folders[11] = "cfg/sourcemod";
dvander@388
    46
dvander@388
    47
			return folders;
dvander@388
    48
		}
dvander@388
    49
dvander@388
    50
		/**
dvander@388
    51
		 * Called when file to file copies must be performed
dvander@388
    52
		 */
dvander@403
    53
		public override void OnCopyFiles(ABuilder builder)
dvander@388
    54
		{
dvander@1249
    55
			builder.CopyFile(this, "sourcepawn/batchtool/compile.exe", "addons/sourcemod/scripting/compile.exe");
dvander@388
    56
		}
dvander@388
    57
dvander@388
    58
		/**
dvander@388
    59
		 * Called when dir to dir copies must be performed
dvander@388
    60
		 */
dvander@388
    61
		public override void OnCopyFolders(ABuilder builder)
dvander@388
    62
		{
dvander@984
    63
			builder.CopyFolder(this, "configs", "addons/sourcemod/configs", null);
dvander@984
    64
			builder.CopyFolder(this, "configs/geoip", "addons/sourcemod/configs/geoip", null);
dvander@984
    65
			builder.CopyFolder(this, "configs/cfg", "cfg/sourcemod", null);
dvander@388
    66
			
dvander@388
    67
			string [] plugin_omits = new string[1];
dvander@388
    68
			plugin_omits[0] = "spcomp.exe";
dvander@388
    69
dvander@573
    70
			string [] include_omits = new string[1];
dvander@575
    71
			include_omits[0] = "version.tpl";
dvander@573
    72
dvander@984
    73
			builder.CopyFolder(this, "gamedata", "addons/sourcemod/gamedata", null);
dvander@984
    74
			builder.CopyFolder(this, "plugins", "addons/sourcemod/scripting", plugin_omits);
dvander@984
    75
			builder.CopyFolder(this, "plugins/include", "addons/sourcemod/scripting/include", include_omits);
dvander@984
    76
			builder.CopyFolder(this, "translations", "addons/sourcemod/translations", null);
dvander@984
    77
			builder.CopyFolder(this, "public/licenses", "addons/sourcemod", null);
dvander@984
    78
			builder.CopyFolder(this, "plugins/admin-flatfile", "addons/sourcemod/scripting/admin-flatfile", null);
dvander@984
    79
			builder.CopyFolder(this, "plugins/testsuite", "addons/sourcemod/scripting/testsuite", null);
dvander@388
    80
		}
dvander@388
    81
dvander@388
    82
		/**
dvander@388
    83
		 * Called to build libraries
dvander@388
    84
		 */
dvander@388
    85
		public override Library [] GetLibraries()
dvander@388
    86
		{
dvander@1207
    87
			Library [] libs = new Library[8];
dvander@388
    88
dvander@388
    89
			for (int i=0; i<libs.Length; i++)
dvander@388
    90
			{
dvander@388
    91
				libs[i] = new Library();
dvander@388
    92
			}
dvander@388
    93
dvander@984
    94
			libs[0].Destination = "addons/sourcemod/bin";
dvander@388
    95
			libs[0].LocalPath = "core";
dvander@388
    96
			libs[0].Name = "sourcemod_mm";
dvander@388
    97
			libs[0].PlatformExt = true;
dvander@388
    98
dvander@984
    99
			libs[1].Destination = "addons/sourcemod/bin";
dvander@388
   100
			libs[1].LocalPath = "sourcepawn/jit/x86";
dvander@388
   101
			libs[1].Name = "sourcepawn.jit.x86";
dvander@388
   102
			libs[1].ProjectFile = "jit-x86";
dvander@388
   103
dvander@984
   104
			libs[2].Destination = "addons/sourcemod/scripting";
dvander@388
   105
			libs[2].LocalPath = "sourcepawn/compiler";
dvander@388
   106
			libs[2].Name = "spcomp";
dvander@388
   107
			libs[2].IsExecutable = true;
dvander@388
   108
dvander@984
   109
			libs[3].Destination = "addons/sourcemod/extensions";
dvander@388
   110
			libs[3].LocalPath = "extensions/geoip";
dvander@388
   111
			libs[3].Name = "geoip.ext";
dvander@388
   112
			libs[3].ProjectFile = "geoip";
dvander@388
   113
dvander@984
   114
			libs[4].Destination = "addons/sourcemod/extensions";
dvander@952
   115
			libs[4].LocalPath = "extensions/bintools";
dvander@952
   116
			libs[4].Name = "bintools.ext";
dvander@952
   117
			libs[4].ProjectFile = "bintools";
dvander@388
   118
dvander@984
   119
			libs[5].Destination = "addons/sourcemod/extensions";
dvander@870
   120
			libs[5].LocalPath = "extensions/mysql";
dvander@870
   121
			libs[5].Name = "dbi.mysql.ext";
dvander@870
   122
			libs[5].ProjectFile = "sm_mysql";
dvander@870
   123
dvander@984
   124
			libs[6].Destination = "addons/sourcemod/extensions";
dvander@957
   125
			libs[6].LocalPath = "extensions/sdktools";
dvander@957
   126
			libs[6].Name = "sdktools.ext";
dvander@957
   127
			libs[6].ProjectFile = "sdktools";
dvander@957
   128
dvander@1207
   129
			libs[7].Destination = "addons/sourcemod/extensions";
dvander@1207
   130
			libs[7].LocalPath = "extensions/sqlite";
dvander@1207
   131
			libs[7].Name = "dbi.sqlite.ext";
dvander@1208
   132
			libs[7].ProjectFile = "sm_sqlite";
dvander@1207
   133
dvander@388
   134
			return libs;
dvander@388
   135
		}
dvander@852
   136
dvander@852
   137
		/**
dvander@852
   138
		 * Called to build plugins
dvander@852
   139
		 */
dvander@852
   140
		public override Plugin [] GetPlugins()
dvander@852
   141
		{
dvander@1199
   142
			Plugin [] plugins = new Plugin[9];
dvander@852
   143
dvander@930
   144
			plugins[0] = new Plugin("admin-flatfile", "admin-flatfile");
faluco@1129
   145
			plugins[1] = new Plugin("adminhelp");
faluco@1129
   146
			plugins[2] = new Plugin("antiflood");
faluco@1129
   147
			plugins[3] = new Plugin("basecommands");
faluco@1129
   148
			plugins[4] = new Plugin("reservedslots");
dvander@1186
   149
			plugins[5] = new Plugin("basetriggers");
dvander@1186
   150
			plugins[6] = new Plugin("nextmap");
dvander@1186
   151
			plugins[7] = new Plugin("basechat");
dvander@1199
   152
			plugins[8] = new Plugin("basefuncommands");
dvander@852
   153
dvander@852
   154
			return plugins;
dvander@852
   155
		}
dvander@388
   156
	}
dvander@388
   157
}
dvander@392
   158