Beispiel #1
0
        internal static ProjectPropertyGroupTaskPropertyInstance FactoryForDeserialization(ITranslator translator)
        {
            var instance = new ProjectPropertyGroupTaskPropertyInstance();

            ((ITranslatable)instance).Translate(translator);

            return(instance);
        }
Beispiel #2
0
 /// <summary>
 /// Cloning constructor
 /// </summary>
 private ProjectPropertyGroupTaskPropertyInstance(ProjectPropertyGroupTaskPropertyInstance that)
 {
     // All fields are immutable
     _name              = that._name;
     _value             = that._value;
     _condition         = that._condition;
     _location          = that._location;
     _conditionLocation = that._conditionLocation;
 }
 /// <summary>
 /// Cloning constructor
 /// </summary>
 private ProjectPropertyGroupTaskPropertyInstance(ProjectPropertyGroupTaskPropertyInstance that)
 {
     // All fields are immutable
     _name = that._name;
     _value = that._value;
     _condition = that._condition;
     _location = that._location;
     _conditionLocation = that._conditionLocation;
 }
        /// <summary> Adds the target to fetch solution configuration contents for given configuration|platform combo. </summary>
        private void AddGetSolutionConfigurationContentsTarget(ProjectInstance traversalProject)
        {
            var initialTarget = traversalProject.AddTarget(
                targetName: "GetSolutionConfigurationContents",
                condition: null,
                inputs: null,
                outputs: "$(SolutionConfigurationContents)",
                returns: null,
                keepDuplicateOutputs: null,
                dependsOnTargets: null,
                parentProjectSupportsReturnsAttribute: false);

            var property = new ProjectPropertyGroupTaskPropertyInstance(
                                                    "SolutionConfigurationContents",
                                                    "@(SolutionConfiguration->WithMetadataValue('Identity', '$(Configuration)|$(Platform)')->'%(Content)')",
                                                    string.Empty,
                                                    initialTarget.Location,
                                                    initialTarget.Location);

            initialTarget.AddProjectTargetInstanceChild(new ProjectPropertyGroupTaskInstance(
                                                            string.Empty,
                                                            initialTarget.Location,
                                                            initialTarget.Location,
                                                            new ProjectPropertyGroupTaskPropertyInstance[] { property }));
        }
 /// <summary>
 /// Adds batchable parameters from a property element into the list. If the property element was
 /// a task, these would be its raw parameter values.
 /// </summary>
 /// <param name="parameterValues">The list which will contain the batchable values.</param>
 /// <param name="property">The property from which to take the values.</param>
 private void GetBatchableValuesFromProperty(List<string> parameterValues, ProjectPropertyGroupTaskPropertyInstance property)
 {
     AddIfNotEmptyString(parameterValues, property.Value);
     AddIfNotEmptyString(parameterValues, property.Condition);
 }