| author | Scott Ehlert <ds@alliedmods.net> |
| Tue May 13 08:22:49 2008 +0000 (2008-05-13) | |
| changeset 2051 | 568678a2e847 |
| parent 1952 | b7aa2b626807 |
| child 2400 | 76b7b4575e21 |
| permissions | -rw-r--r-- |
| ds@1952 | 1 |
using System; |
| ds@1952 | 2 |
|
| ds@1952 | 3 |
namespace builder |
| ds@1952 | 4 |
{ |
| ds@1952 | 5 |
public enum ReleaseMode : int |
| ds@1952 | 6 |
{ |
| ds@1952 | 7 |
ReleaseMode_Release, |
| ds@1952 | 8 |
ReleaseMode_Debug, |
| ds@1952 | 9 |
}; |
| ds@1952 | 10 |
|
| ds@1952 | 11 |
public enum BuildMode : int |
| ds@1952 | 12 |
{ |
| ds@1952 | 13 |
BuildMode_Simple, |
| ds@1952 | 14 |
BuildMode_OldMetamod, |
| ds@1952 | 15 |
BuildMode_Episode1, |
| ds@1952 | 16 |
BuildMode_Episode2 |
| ds@1952 | 17 |
}; |
| ds@1952 | 18 |
|
| ds@1952 | 19 |
public class Library |
| ds@1952 | 20 |
{ |
| ds@1952 | 21 |
public Library() |
| ds@1952 | 22 |
{ |
| ds@1952 | 23 |
has_platform_ext = false; |
| ds@1952 | 24 |
is_executable = false; |
| ds@1952 | 25 |
release_mode = ReleaseMode.ReleaseMode_Release; |
| ds@1952 | 26 |
build_mode = BuildMode.BuildMode_Simple; |
| ds@1952 | 27 |
} |
| ds@1952 | 28 |
public string binary_name; /* Name of binary */ |
| ds@1952 | 29 |
public string source_path; /* Local path to library build scripts */ |
| ds@1952 | 30 |
public ReleaseMode release_mode; /* Release mode */ |
| ds@1952 | 31 |
public BuildMode build_mode; /* Build mode */ |
| ds@1952 | 32 |
public string package_path; /* Final relative path */ |
| ds@1952 | 33 |
public bool has_platform_ext; /* Add extra platform extension? */ |
| ds@1952 | 34 |
public string vcproj_name; /* Project file, NULL for standard */ |
| ds@1952 | 35 |
public bool is_executable; /* If this is an EXE instead of a DLL */ |
| ds@1952 | 36 |
}; |
| ds@1952 | 37 |
|
| ds@1952 | 38 |
public class Plugin |
| ds@1952 | 39 |
{ |
| ds@1952 | 40 |
public Plugin(string file) |
| ds@1952 | 41 |
{ |
| ds@1952 | 42 |
Source = file; |
| ds@1952 | 43 |
disabled = false; |
| ds@1952 | 44 |
} |
| ds@1952 | 45 |
public Plugin (string file, string folder) |
| ds@1952 | 46 |
{ |
| ds@1952 | 47 |
Source = file; |
| ds@1952 | 48 |
Folder = folder; |
| ds@1952 | 49 |
disabled = false; |
| ds@1952 | 50 |
} |
| ds@1952 | 51 |
public Plugin (string file, bool is_disabled) |
| ds@1952 | 52 |
{ |
| ds@1952 | 53 |
Source = file; |
| ds@1952 | 54 |
disabled = is_disabled; |
| ds@1952 | 55 |
} |
| ds@1952 | 56 |
public string Folder; /* Source folder relative to scripting (null for default) */ |
| ds@1952 | 57 |
public string Source; /* Source file name */ |
| ds@1952 | 58 |
public bool disabled; /* Is the plugin disabled? */ |
| ds@1952 | 59 |
}; |
| ds@1952 | 60 |
|
| ds@1952 | 61 |
public abstract class Package |
| ds@1952 | 62 |
{ |
| ds@1952 | 63 |
/** |
| ds@1952 | 64 |
* Must return the root compression point. |
| ds@1952 | 65 |
*/ |
| ds@1952 | 66 |
public abstract void GetCompressBases(ref string path, ref string folder); |
| ds@1952 | 67 |
|
| ds@1952 | 68 |
/** |
| ds@1952 | 69 |
* Must return the base package output folder. |
| ds@1952 | 70 |
*/ |
| ds@1952 | 71 |
public abstract string GetBaseFolder(); |
| ds@1952 | 72 |
|
| ds@1952 | 73 |
/** |
| ds@1952 | 74 |
* Must return the list of folders to create. |
| ds@1952 | 75 |
*/ |
| ds@1952 | 76 |
public abstract string [] GetFolders(); |
| ds@1952 | 77 |
|
| ds@1952 | 78 |
/** |
| ds@1952 | 79 |
* Called when file to file copies must be performed |
| ds@1952 | 80 |
*/ |
| ds@1952 | 81 |
public abstract void OnCopyFiles(ABuilder builder); |
| ds@1952 | 82 |
|
| ds@1952 | 83 |
/** |
| ds@1952 | 84 |
* Called when dir to dir copies must be performed |
| ds@1952 | 85 |
*/ |
| ds@1952 | 86 |
public abstract void OnCopyFolders(ABuilder builder); |
| ds@1952 | 87 |
|
| ds@1952 | 88 |
/** |
| ds@1952 | 89 |
* Called to build libraries |
| ds@1952 | 90 |
*/ |
| ds@1952 | 91 |
public abstract Library [] GetLibraries(); |
| ds@1952 | 92 |
|
| ds@1952 | 93 |
/** |
| ds@1952 | 94 |
* Called to get package name |
| ds@1952 | 95 |
*/ |
| ds@1952 | 96 |
public abstract string GetPackageName(); |
| ds@1952 | 97 |
|
| ds@1952 | 98 |
/** |
| ds@1952 | 99 |
* Called to get a plugin list |
| ds@1952 | 100 |
*/ |
| ds@1952 | 101 |
public abstract Plugin [] GetPlugins(); |
| ds@1952 | 102 |
} |
| ds@1952 | 103 |
} |