refactored a lot of variable names, yuck removed tons of legacy compressing/SVN code that's since handled by Perl --HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401554
		
			
				
	
	
		
			104 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| 
 | |
| namespace builder
 | |
| {
 | |
| 	public enum ReleaseMode : int
 | |
| 	{
 | |
| 		ReleaseMode_Release,
 | |
| 		ReleaseMode_Debug,
 | |
| 	};
 | |
| 
 | |
| 	public enum BuildMode : int
 | |
| 	{
 | |
| 		BuildMode_Simple,
 | |
| 		BuildMode_OldMetamod,
 | |
| 		BuildMode_Episode1,
 | |
| 		BuildMode_Episode2
 | |
| 	};
 | |
| 
 | |
| 	public class Library
 | |
| 	{
 | |
| 		public Library()
 | |
| 		{
 | |
| 			has_platform_ext = false;
 | |
| 			is_executable = false;
 | |
| 			release_mode = ReleaseMode.ReleaseMode_Release;
 | |
| 			build_mode = BuildMode.BuildMode_Simple;
 | |
| 		}
 | |
| 		public string binary_name;		/* Name of binary */
 | |
| 		public string source_path;		/* Local path to library build scripts */
 | |
| 		public ReleaseMode release_mode; /* Release mode */
 | |
| 		public BuildMode build_mode;	/* Build mode */
 | |
| 		public string package_path;		/* Final relative path */
 | |
| 		public bool has_platform_ext;	/* Add extra platform extension? */
 | |
| 		public string vcproj_name;		/* Project file, NULL for standard */
 | |
| 		public bool is_executable;		/* If this is an EXE instead of a DLL */
 | |
| 	};
 | |
| 
 | |
| 	public class Plugin
 | |
| 	{
 | |
| 		public Plugin(string file)
 | |
| 		{
 | |
| 			Source = file;
 | |
| 			disabled = false;
 | |
| 		}
 | |
| 		public Plugin (string file, string folder)
 | |
| 		{
 | |
| 			Source = file;
 | |
| 			Folder = folder;
 | |
| 			disabled = false;
 | |
| 		}
 | |
| 		public Plugin (string file, bool is_disabled)
 | |
| 		{
 | |
| 			Source = file;
 | |
| 			disabled = is_disabled;
 | |
| 		}
 | |
| 		public string Folder;		/* Source folder relative to scripting (null for default) */
 | |
| 		public string Source;		/* Source file name */
 | |
| 		public bool disabled;		/* Is the plugin disabled? */
 | |
| 	};
 | |
| 
 | |
| 	public abstract class Package
 | |
| 	{
 | |
| 		/**
 | |
| 		 * Must return the root compression point.
 | |
| 		 */
 | |
| 		public abstract void GetCompressBases(ref string path, ref string folder);
 | |
| 
 | |
| 		/**
 | |
| 		 * Must return the base package output folder.
 | |
| 		 */
 | |
| 		public abstract string GetBaseFolder();
 | |
| 
 | |
| 		/** 
 | |
| 		 * Must return the list of folders to create.
 | |
| 		 */
 | |
| 		public abstract string [] GetFolders();
 | |
| 
 | |
| 		/**
 | |
| 		 * Called when file to file copies must be performed
 | |
| 		 */
 | |
| 		public abstract void OnCopyFiles(ABuilder builder);
 | |
| 
 | |
| 		/**
 | |
| 		 * Called when dir to dir copies must be performed
 | |
| 		 */
 | |
| 		public abstract void OnCopyFolders(ABuilder builder);
 | |
| 
 | |
| 		/**
 | |
| 		 * Called to build libraries
 | |
| 		 */
 | |
| 		public abstract Library [] GetLibraries();
 | |
| 
 | |
| 		/**
 | |
| 		 * Called to get package name
 | |
| 		 */
 | |
| 		public abstract string GetPackageName();
 | |
| 
 | |
| 		/**
 | |
| 		 * Called to get a plugin list
 | |
| 		 */
 | |
| 		public abstract Plugin [] GetPlugins();
 | |
| 	}
 | |
| }
 |