public TaskDefinition(BuildTask task, PSWithReturnValueToken varToken) { this.task = task; scriptUseToken = asNodeWithOptions(varToken); task.SetParameterValue("Capture", scriptUseToken["Capture"]); var kvSerializer = (KeyValueSerializer)scriptUseToken.Where(kv => kv.Key != "Capture") .ToDictionary(kv => kv.Key, kv => kv.Value); if (!string.IsNullOrEmpty(kvSerializer.ToString())) task.SetParameterValue("CommandParameters", kvSerializer.ToString()); task.SetParameterValue("ReturnValueType", varToken.ValueType.ToString()); if (varToken.ValueType.Equals(PSScriptReturnValueType.ItemGroup)) task.AddOutputItem("ScriptItemOutput", varToken.VariableName); if (varToken.ValueType.Equals(PSScriptReturnValueType.Property)) task.AddOutputProperty("ScriptPropOutput", varToken.VariableName); }
private static void getAndDo( TokenWithOptions token, Action<string> returnedValue, params string[] possibleArgumentNames) { var value = token[possibleArgumentNames]; if (value != null) returnedValue(value); }
public TaskDefinition(BuildTask task, TokenWithOptions callToken) { this.task = task; scriptUseToken = callToken; task.SetParameterValue("Capture", callToken["Capture"]); task.SetParameterValue("ReturnValueType", PSScriptReturnValueType.Undefined.ToString()); }