3 using System.Collections.Generic;
4 using SiliconStudio.Core.Storage;
5 using System.Threading.Tasks;
7 using SiliconStudio.Core.Diagnostics;
8 using SiliconStudio.Core.Serialization.Assets;
10 namespace SiliconStudio.BuildEngine
14 public Command CurrentCommand {
get;
private set; }
28 internal protected abstract ObjectId ComputeInputHash(
UrlType type,
string filePath);
32 CurrentCommand = command;
33 BuildParameters = builderContext.Parameters;
35 MetadataProvider = builderContext.MetadataProvider;
40 ResultEntry.SpawnedCommands.Add(command);
41 return ScheduleAndExecuteCommandInternal(command);
46 ResultEntry.InputDependencyVersions.Add(url, ComputeInputHash(url.Type, url.Path));
51 ResultEntry.OutputObjects.Add(url, hash);
56 ResultEntry.TagSymbols.Add(
new KeyValuePair<ObjectUrl, string>(url, tagSymbol.Name));
61 ResultEntry.SpawnedCommands.Add(command);
void RegisterInputDependency(ObjectUrl url)
void RegisterSpawnedCommandWithoutScheduling(Command command)
CommandContextBase(Command command, BuilderContext builderContext)
Base implementation for ILogger.
void RegisterOutput(ObjectUrl url, ObjectId hash)
Task< ResultStatus > ScheduleAndExecuteCommand(Command command)
void AddTag(ObjectUrl url, TagSymbol tagSymbol)
A hash to uniquely identify data.