示例#1
0
        public ProjectBuilder AddImport(params Import[] imports)
        {
            if (imports == null || imports.Length == 0)
            {
                // if call .AddImport() but not specifying an item just return;
                return(this);
            }

            foreach (var import in imports)
            {
                ProjectImportElement importElement = ProjectRoot.CreateImportElement(import.Project);
                importElement.Condition = import.Condition;
                importElement.Label     = import.Label;
                ProjectRoot.AppendChild(importElement);
            }
            return(this);
        }
        public ProjectBuilder AddTarget(string name, string condition = null, string label = null, string afterTargets = null, string beforeTargets = null, string dependsOnTargets = null, string inputs = null, string outputs = null, bool keepDuplicates = false)
        {
            ProjectTargetElement newTarget = ProjectRoot.CreateTargetElement(name);

            newTarget.AfterTargets         = afterTargets ?? string.Empty;
            newTarget.BeforeTargets        = beforeTargets ?? string.Empty;
            newTarget.DependsOnTargets     = dependsOnTargets ?? string.Empty;
            newTarget.Inputs               = inputs ?? string.Empty;
            newTarget.Outputs              = outputs ?? string.Empty;
            newTarget.KeepDuplicateOutputs = (keepDuplicates)? "true" : string.Empty;
            newTarget.Label     = label ?? string.Empty;
            newTarget.Condition = condition ?? string.Empty;

            ProjectRoot.AppendChild(newTarget);
            _lastGroupContainer       = newTarget;
            _lastTargetElement        = newTarget;
            _lastPropertyGroupElement = null;
            _lastItemGroupElement     = null;
            return(this);
        }