tools/builder/PkgCore.cs
author David Anderson <dvander@alliedmods.net>
Sun Sep 23 20:19:35 2007 +0000 (2007-09-23)
changeset 1464 a37774ff4f3f
parent 1453 034e43434794
child 1481 dbdf19751708
permissions -rw-r--r--
updated builder for cstrike extension
     1 using System;
     2 
     3 namespace builder
     4 {
     5 	public class PkgCore : Package
     6 	{
     7 		public PkgCore()
     8 		{
     9 		}
    10 
    11 		public override string GetBaseFolder()
    12 		{
    13 			return "base";
    14 		}
    15 
    16 		public override void GetCompressBases(ref string path, ref string folder)
    17 		{
    18 			path = "base";
    19 			folder = "addons";
    20 		}
    21 
    22 		public override string GetPackageName()
    23 		{
    24 			return "sourcemod-core";
    25 		}
    26 
    27 		/** 
    28 		 * Must return the list of folders to create.
    29 		 */
    30 		public override string [] GetFolders()
    31 		{
    32 			string [] folders = new string[16];
    33 
    34 			folders[0] = "addons/sourcemod/bin";
    35 			folders[1] = "addons/sourcemod/plugins/disabled";
    36 			folders[2] = "addons/sourcemod/gamedata";
    37 			folders[3] = "addons/sourcemod/configs/geoip";
    38 			folders[4] = "addons/sourcemod/translations";
    39 			folders[5] = "addons/sourcemod/logs";
    40 			folders[6] = "addons/sourcemod/extensions";
    41 			folders[7] = "addons/sourcemod/data";
    42 			folders[8] = "addons/sourcemod/scripting/include";
    43 			folders[9] = "addons/sourcemod/scripting/admin-flatfile";
    44 			folders[10] = "addons/sourcemod/scripting/testsuite";
    45 			folders[11] = "cfg/sourcemod";
    46 			folders[12] = "addons/sourcemod/configs/sql-init-scripts";
    47 			folders[13] = "addons/sourcemod/configs/sql-init-scripts/mysql";
    48 			folders[14] = "addons/sourcemod/configs/sql-init-scripts/sqlite";
    49 			folders[15] = "addons/sourcemod/extensions/games";
    50 
    51 			return folders;
    52 		}
    53 
    54 		/**
    55 		 * Called when file to file copies must be performed
    56 		 */
    57 		public override void OnCopyFiles(ABuilder builder)
    58 		{
    59 			builder.CopyFile(this, "sourcepawn/batchtool/compile.exe", "addons/sourcemod/scripting/compile.exe");
    60 		}
    61 
    62 		/**
    63 		 * Called when dir to dir copies must be performed
    64 		 */
    65 		public override void OnCopyFolders(ABuilder builder)
    66 		{
    67 			builder.CopyFolder(this, "configs", "addons/sourcemod/configs", null);
    68 			builder.CopyFolder(this, "configs/geoip", "addons/sourcemod/configs/geoip", null);
    69 			builder.CopyFolder(this, "configs/cfg", "cfg/sourcemod", null);
    70 			builder.CopyFolder(this,
    71 				"configs/sql-init-scripts", 
    72 				"addons/sourcemod/configs/sql-init-scripts", 
    73 				null);
    74 			builder.CopyFolder(this,
    75 				"configs/sql-init-scripts/mysql",
    76 				"addons/sourcemod/configs/sql-init-scripts/mysql",
    77 				null);
    78 			builder.CopyFolder(this,
    79 				"configs/sql-init-scripts/sqlite",
    80 				"addons/sourcemod/configs/sql-init-scripts/sqlite",
    81 				null);
    82 			
    83 			string [] plugin_omits = new string[1];
    84 			plugin_omits[0] = "spcomp.exe";
    85 
    86 			string [] include_omits = new string[1];
    87 			include_omits[0] = "version.tpl";
    88 
    89 			builder.CopyFolder(this, "gamedata", "addons/sourcemod/gamedata", null);
    90 			builder.CopyFolder(this, "plugins", "addons/sourcemod/scripting", plugin_omits);
    91 			builder.CopyFolder(this, "plugins/include", "addons/sourcemod/scripting/include", include_omits);
    92 			builder.CopyFolder(this, "translations", "addons/sourcemod/translations", null);
    93 			builder.CopyFolder(this, "public/licenses", "addons/sourcemod", null);
    94 			builder.CopyFolder(this, "plugins/admin-flatfile", "addons/sourcemod/scripting/admin-flatfile", null);
    95 			builder.CopyFolder(this, "plugins/testsuite", "addons/sourcemod/scripting/testsuite", null);
    96 		}
    97 
    98 		/**
    99 		 * Called to build libraries
   100 		 */
   101 		public override Library [] GetLibraries()
   102 		{
   103 			Library [] libs = new Library[9];
   104 
   105 			for (int i=0; i<libs.Length; i++)
   106 			{
   107 				libs[i] = new Library();
   108 			}
   109 
   110 			libs[0].Destination = "addons/sourcemod/bin";
   111 			libs[0].LocalPath = "core";
   112 			libs[0].Name = "sourcemod_mm";
   113 			libs[0].PlatformExt = true;
   114 
   115 			libs[1].Destination = "addons/sourcemod/bin";
   116 			libs[1].LocalPath = "sourcepawn/jit/x86";
   117 			libs[1].Name = "sourcepawn.jit.x86";
   118 			libs[1].ProjectFile = "jit-x86";
   119 
   120 			libs[2].Destination = "addons/sourcemod/scripting";
   121 			libs[2].LocalPath = "sourcepawn/compiler";
   122 			libs[2].Name = "spcomp";
   123 			libs[2].IsExecutable = true;
   124 
   125 			libs[3].Destination = "addons/sourcemod/extensions";
   126 			libs[3].LocalPath = "extensions/geoip";
   127 			libs[3].Name = "geoip.ext";
   128 			libs[3].ProjectFile = "geoip";
   129 
   130 			libs[4].Destination = "addons/sourcemod/extensions";
   131 			libs[4].LocalPath = "extensions/bintools";
   132 			libs[4].Name = "bintools.ext";
   133 			libs[4].ProjectFile = "bintools";
   134 
   135 			libs[5].Destination = "addons/sourcemod/extensions";
   136 			libs[5].LocalPath = "extensions/mysql";
   137 			libs[5].Name = "dbi.mysql.ext";
   138 			libs[5].ProjectFile = "sm_mysql";
   139 
   140 			libs[6].Destination = "addons/sourcemod/extensions";
   141 			libs[6].LocalPath = "extensions/sdktools";
   142 			libs[6].Name = "sdktools.ext";
   143 			libs[6].ProjectFile = "sdktools";
   144 
   145 			libs[7].Destination = "addons/sourcemod/extensions";
   146 			libs[7].LocalPath = "extensions/sqlite";
   147 			libs[7].Name = "dbi.sqlite.ext";
   148 			libs[7].ProjectFile = "sm_sqlite";
   149 
   150 			libs[8].Destination = "addons/sourcemod/extensions/games";
   151 			libs[8].LocalPath = "extensions/cstrike";
   152 			libs[8].Name = "game.cstrike.ext";
   153 			libs[8].ProjectFile = "cstrike";
   154 
   155 			return libs;
   156 		}
   157 
   158 		/**
   159 		 * Called to build plugins
   160 		 */
   161 		public override Plugin [] GetPlugins()
   162 		{
   163 			Plugin [] plugins = new Plugin[16];
   164 
   165 			plugins[0] = new Plugin("admin-flatfile", "admin-flatfile");
   166 			plugins[1] = new Plugin("adminhelp");
   167 			plugins[2] = new Plugin("antiflood");
   168 			plugins[3] = new Plugin("basecommands");
   169 			plugins[4] = new Plugin("reservedslots");
   170 			plugins[5] = new Plugin("basetriggers");
   171 			plugins[6] = new Plugin("nextmap");
   172 			plugins[7] = new Plugin("basechat");
   173 			plugins[8] = new Plugin("basefuncommands");
   174 			plugins[9] = new Plugin("basevotes");
   175 			plugins[10] = new Plugin("basefunvotes");
   176 			plugins[11] = new Plugin("admin-sql-prefetch", true);
   177 			plugins[12] = new Plugin("admin-sql-threaded", true);
   178 			plugins[13] = new Plugin("sql-admin-manager", true);
   179 			plugins[14] = new Plugin("basebans");
   180 			plugins[15] = new Plugin("mapchooser", true);
   181 
   182 			return plugins;
   183 		}
   184 	}
   185 }
   186