tools/builder/Package.cs
author Borja Ferrer <faluco@alliedmods.net>
Thu May 10 22:51:56 2007 +0000 (2007-05-10)
changeset 762 e82fc0f89dc1
parent 403 fe1c5a3a4ba2
child 852 9a7a93363979
permissions -rw-r--r--
added debug code for leak detection on plugins
     1 using System;
     2 
     3 namespace builder
     4 {
     5 	public class Library
     6 	{
     7 		public Library()
     8 		{
     9 			PlatformExt = false;
    10 			ProjectFile = null;
    11 			IsExecutable = false;
    12 			ReleaseBuild = "Release";
    13 		}
    14 		public string Name;			/* Name of binary */
    15 		public string LocalPath;	/* Local path to library build scripts */
    16 		public string ReleaseBuild;	/* Release build name */
    17 		public string Destination;	/* Final relative path */
    18 		public bool PlatformExt;	/* Extra platform extension */
    19 		public string ProjectFile;	/* Project file, NULL for standard */
    20 		public bool IsExecutable;	/* If this is an EXE instead of a DLL */
    21 		//string DebugBuild;		/* Debug build name */
    22 	};
    23 
    24 	public abstract class Package
    25 	{
    26 		/**
    27 		 * Must return the root compression point.
    28 		 */
    29 		public abstract void GetCompressBases(ref string path, ref string folder);
    30 
    31 		/**
    32 		 * Must return the base package output folder.
    33 		 */
    34 		public abstract string GetBaseFolder();
    35 
    36 		/** 
    37 		 * Must return the list of folders to create.
    38 		 */
    39 		public abstract string [] GetFolders();
    40 
    41 		/**
    42 		 * Called when file to file copies must be performed
    43 		 */
    44 		public abstract void OnCopyFiles(ABuilder builder);
    45 
    46 		/**
    47 		 * Called when dir to dir copies must be performed
    48 		 */
    49 		public abstract void OnCopyFolders(ABuilder builder);
    50 
    51 		/**
    52 		 * Called to build libraries
    53 		 */
    54 		public abstract Library [] GetLibraries();
    55 
    56 		/**
    57 		 * Called to get package name
    58 		 */
    59 		public abstract string GetPackageName();
    60 	}
    61 }