Fusion.Build.BuildOptions.CheckOptionsAndMakeDirs C# (CSharp) Method

CheckOptionsAndMakeDirs() public method

Checks options
public CheckOptionsAndMakeDirs ( ) : void
return void
		public void CheckOptionsAndMakeDirs ()
		{
			if ( InputDirectory==null ) {
				throw new BuildException("Input directory is not specified (/in:)");
			}
			if ( OutputDirectory==null ) {
				throw new BuildException("Output directory is not specified (/out:)");
			}
			if ( TempDirectory==null ) {
				TempDirectory = Path.GetTempPath();
			} else {
				if ( !Directory.Exists(FullTempDirectory) ) {
					var dir = Directory.CreateDirectory( FullTempDirectory );
					dir.Attributes = FileAttributes.Hidden;
				}
			}

			if ( !Directory.Exists(FullOutputDirectory) ) {
				var dir = Directory.CreateDirectory( FullOutputDirectory );
			}

			if ( !Directory.Exists(FullInputDirectory) ) {
				throw new BuildException("Input directory does not exist");
			}

			if ( !File.Exists(ContentIniFile) ) {
				throw new BuildException("File '.content' not found");
			}
				

			if (!CheckASCIString(FullInputDirectory)) {
				throw new BuildException("Full path to input directory contains non-ASCII characters");
			}
			if (!CheckASCIString(FullOutputDirectory)) {
				throw new BuildException("Full path to output directory contains non-ASCII characters");
			}

		}
	}

Usage Example

Ejemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="options"></param>
        public static void Build(BuildOptions options)
        {
            Log.Message("");
            Log.Message("-------- Build started : {0} --------", options.InputDirectory);

            options.CheckOptionsAndMakeDirs();

            Log.Message("Reading '.content'...");
            //
            //	Parse INI file :
            //
            var ip = new StreamIniDataParser();

            ip.Parser.Configuration.AllowDuplicateSections = true;
            ip.Parser.Configuration.AllowDuplicateKeys     = true;
            ip.Parser.Configuration.CommentString          = "#";
            ip.Parser.Configuration.OverrideDuplicateKeys  = true;
            ip.Parser.Configuration.KeyValueAssigmentChar  = '=';
            ip.Parser.Configuration.AllowKeysWithoutValues = true;

            var iniData = ip.ReadData(new StreamReader(options.ContentIniFile));


            //
            //	Setup builder :
            //
            var bindings = AssetProcessorBinding.GatherAssetProcessors();

            Log.Message("Asset processors:");
            foreach (var bind in bindings)
            {
                Log.Message("  {0,-20} - {1}", bind.Name, bind.Type.Name);
            }
            Log.Message("");

            var builder = new Builder(bindings);

            var result = builder.Build(options, iniData);

            Log.Message("-------- {5} total, {0} succeeded, {1} failed, {2} up-to-date, {3} ignored, {4} skipped --------",
                        result.Succeded,
                        result.Failed,
                        result.UpToDate,
                        result.Ignored,
                        result.Skipped,
                        result.Total);

            Log.Message("");

            if (result.Failed > 0)
            {
                throw new BuildException("Build errors");
            }
        }
All Usage Examples Of Fusion.Build.BuildOptions::CheckOptionsAndMakeDirs