/// <summary> /// Compile the current package session. /// That is generate the list of build steps to execute to create the package assets. /// </summary> public AssetCompilerResult Compile(AssetCompilerContext compilerContext) { if (compilerContext == null) throw new ArgumentNullException("compilerContext"); var result = new AssetCompilerResult(); var assets = packageCompilerSource.GetAssets(result).ToList(); if (result.HasErrors) { return result; } var defaultAssetsCompiler = new DefaultAssetsCompiler(assets); defaultAssetsCompiler.AssetCompiled += OnAssetCompiled; // Add default compilers compilers.Clear(); compilers.Add(defaultAssetsCompiler); // Compile using all PackageCompiler foreach (var compiler in compilers) { var compilerResult = compiler.Compile(compilerContext); compilerResult.CopyTo(result); while (compilerResult.BuildSteps.Count > 0) { var step = compilerResult.BuildSteps[0]; compilerResult.BuildSteps.RemoveAt(0); result.BuildSteps.Add(step); } } return result; }
/// <summary> /// Compile the current package session. /// That is generate the list of build steps to execute to create the package assets. /// </summary> public AssetCompilerResult Compile(AssetCompilerContext compilerContext) { if (compilerContext == null) { throw new ArgumentNullException("compilerContext"); } if (compilerContext.Package == null) { throw new ArgumentException("Expecting a non null package", "compilerContext"); } if (compilerContext.Package.Session == null) { throw new ArgumentException("Expecting a package attached to a session", "compilerContext"); } var result = new AssetCompilerResult(); // Check integrity of the packages var packageAnalysis = new PackageSessionAnalysis(compilerContext.Package.Session, new PackageAnalysisParameters()); packageAnalysis.Run(result); if (result.HasErrors) { return(result); } // Add default compilers compilers.Clear(); var defaultAssetsCompiler = new DefaultAssetsCompiler(); defaultAssetsCompiler.AssetCompiled += OnAssetCompiled; compilers.Add(defaultAssetsCompiler); var packagesProcessed = new HashSet <Package>(); RecursiveCompile(result, compilerContext, packagesProcessed); return(result); }
/// <summary> /// Compile the current package session. /// That is generate the list of build steps to execute to create the package assets. /// </summary> public AssetCompilerResult Compile(AssetCompilerContext compilerContext) { if (compilerContext == null) { throw new ArgumentNullException("compilerContext"); } var result = new AssetCompilerResult(); var assets = packageCompilerSource.GetAssets(result).ToList(); if (result.HasErrors) { return(result); } var defaultAssetsCompiler = new DefaultAssetsCompiler(assets); defaultAssetsCompiler.AssetCompiled += OnAssetCompiled; // Add default compilers compilers.Clear(); compilers.Add(defaultAssetsCompiler); // Compile using all PackageCompiler foreach (var compiler in compilers) { var compilerResult = compiler.Compile(compilerContext); compilerResult.CopyTo(result); while (compilerResult.BuildSteps.Count > 0) { var step = compilerResult.BuildSteps[0]; compilerResult.BuildSteps.RemoveAt(0); result.BuildSteps.Add(step); } } return(result); }
/// <summary> /// Compile the current package session. /// That is generate the list of build steps to execute to create the package assets. /// </summary> public AssetCompilerResult Compile(AssetCompilerContext compilerContext) { if (compilerContext == null) throw new ArgumentNullException("compilerContext"); if (compilerContext.Package == null) { throw new ArgumentException("Expecting a non null package", "compilerContext"); } if (compilerContext.Package.Session == null) { throw new ArgumentException("Expecting a package attached to a session", "compilerContext"); } var result = new AssetCompilerResult(); // Check integrity of the packages var packageAnalysis = new PackageSessionAnalysis(compilerContext.Package.Session, new PackageAnalysisParameters()); packageAnalysis.Run(result); if (result.HasErrors) { return result; } // Add default compilers compilers.Clear(); var defaultAssetsCompiler = new DefaultAssetsCompiler(); defaultAssetsCompiler.AssetCompiled += OnAssetCompiled; compilers.Add(defaultAssetsCompiler); var packagesProcessed = new HashSet<Package>(); RecursiveCompile(result, compilerContext, packagesProcessed); return result; }