/// <summary> /// Add to the current compilation result the compilation steps required to compile the <see cref="AssetItem"/> dependencies. /// </summary> /// <param name="context">A compiler context.</param> /// <param name="result">The current result of the compilation</param> protected BuildStep AddDependenciesBuildStepsToResult(AssetCompilerContext context, AssetCompilerResult result) { // create the fake package used to compile the dependences var dependenciesCompilePackage = AssetsSession.CreateCompilePackageFromAsset(AssetItem); // compile the fake package (create the build steps) var assetPackageCompiler = new PackageCompiler(); context.Package = dependenciesCompilePackage.LocalPackages.FirstOrDefault(); var dependenciesCompileResult = assetPackageCompiler.Compile(context); // Create the result build steps if not existing yet if (result.BuildSteps == null) { result.BuildSteps = new ListBuildStep(); } // Add the dependencies build steps to the current result result.BuildSteps.Add(dependenciesCompileResult.BuildSteps); // Copy log the dependencies result to the current result dependenciesCompileResult.CopyTo(result); return(dependenciesCompileResult.BuildSteps); }