public static GenericSolutionFileGlobalSection New(string name, PreOrPostSolution preOrPostSolution)
        {
            var output = new GenericSolutionFileGlobalSection
            {
                Name = name,
                PreOrPostSolution = preOrPostSolution,
            };

            return(output);
        }
        public static string ToStringStandard(PreOrPostSolution preOrPostSolution)
        {
            switch (preOrPostSolution)
            {
            case PreOrPostSolution.PreSolution:
                return("preSolution");

            case PreOrPostSolution.PostSolution:
                return("postSolution");

            default:
                throw new Exception(EnumHelper.UnexpectedEnumerationValueMessage(preOrPostSolution));
            }
        }
示例#3
0
        public static GenericSolutionFileGlobalSection AcquireGenericGlobalSection(this List <ISolutionFileGlobalSection> globalSections, string globalSectionName, PreOrPostSolution preOrPostSolution)
        {
            var globalSection = globalSections.AcquireGlobalSectionByName(globalSectionName, () => GenericSolutionFileGlobalSection.New(globalSectionName, preOrPostSolution));

            return(globalSection);
        }
        public static GeneralSolutionFileGlobalSection AddGlobalSection(this List <ISolutionFileGlobalSection> globalSections, string globalSectionName, PreOrPostSolution preOrPostSolution)
        {
            var globalSection = globalSections.AddGlobalSection(() => GeneralSolutionFileGlobalSection.New(globalSectionName, preOrPostSolution));

            return(globalSection);
        }
示例#5
0
        private static GeneralSolutionFileGlobalSection DeserializeGeneralGlobal(TextReader reader, ref string currentLine, string sectionName, PreOrPostSolution preOrPostSolution)
        {
            var globalSection = new GeneralSolutionFileGlobalSection
            {
                Name = sectionName,
                PreOrPostSolution = preOrPostSolution,
            };

            currentLine = reader.ReadLine().Trim();

            while (!SolutionFileTextSerializer.GlobalSectionEndRegex.IsMatch(currentLine))
            {
                globalSection.Lines.Add(currentLine);

                currentLine = reader.ReadLine().Trim();
            }

            return(globalSection);
        }
示例#6
0
        private static NestedProjectsSolutionFileGlobalSection DeserializeNestedProjectsGlobalSection(TextReader reader, ref string currentLine, PreOrPostSolution preOrPostSolution)
        {
            var nestedProjectGlobalSection = new NestedProjectsSolutionFileGlobalSection
            {
                Name = NestedProjectsSolutionFileGlobalSection.SolutionFileGlobalSectionName,
                PreOrPostSolution = preOrPostSolution
            };

            currentLine = reader.ReadLine().Trim();

            while (!SolutionFileTextSerializer.GlobalSectionEndRegex.IsMatch(currentLine))
            {
                var projectNesting = ProjectNesting.Deserialize(currentLine);
                nestedProjectGlobalSection.ProjectNestings.Add(projectNesting);

                currentLine = reader.ReadLine().Trim();
            }

            return(nestedProjectGlobalSection);
        }
示例#7
0
        private static SolutionConfigurationPlatformsGlobalSection DeserializeSolutionConfigurationPlatformsGlobalSection(TextReader reader, ref string currentLine, PreOrPostSolution preOrPostSolution)
        {
            var solutionConfigurationPlatformsGlobalSection = new SolutionConfigurationPlatformsGlobalSection
            {
                Name = SolutionConfigurationPlatformsGlobalSection.SolutionFileGlobalSectionName,
                PreOrPostSolution = preOrPostSolution
            };

            currentLine = reader.ReadLine().Trim();

            while (!SolutionFileTextSerializer.GlobalSectionEndRegex.IsMatch(currentLine))
            {
                var assignmentTokens = currentLine.Split("=");

                var targetToken = assignmentTokens[0].Trim();
                var valueToken  = assignmentTokens[1].Trim();

                var solutionBuildConfiguration       = SolutionFileTextSerializer.DeserializeSolutionBuildConfiguration(targetToken);
                var mappedSolutionBuildConfiguration = SolutionFileTextSerializer.DeserializeSolutionBuildConfiguration(valueToken);

                var solutionBuildConfigurationMapping = new SolutionBuildConfigurationMapping
                {
                    SolutionBuildConfiguration       = solutionBuildConfiguration,
                    MappedSolutionBuildConfiguration = mappedSolutionBuildConfiguration,
                };

                solutionConfigurationPlatformsGlobalSection.SolutionBuildConfigurationMappings.Add(solutionBuildConfigurationMapping);

                currentLine = reader.ReadLine().Trim();
            }

            return(solutionConfigurationPlatformsGlobalSection);
        }
示例#8
0
        private static ProjectConfigurationPlatformsGlobalSection DeserializeProjectConfigurationPlatformsGlobalSection(TextReader reader, ref string currentLine, PreOrPostSolution preOrPostSolution)
        {
            var projectConfigurationPlatformsGlobalSection = new ProjectConfigurationPlatformsGlobalSection
            {
                Name = ProjectConfigurationPlatformsGlobalSection.SolutionFileGlobalSectionName,
                PreOrPostSolution = preOrPostSolution
            };

            currentLine = reader.ReadLine().Trim();

            while (!SolutionFileTextSerializer.GlobalSectionEndRegex.IsMatch(currentLine))
            {
                var assignmentTokens = currentLine.Split("=");

                var targetToken = assignmentTokens[0].Trim();
                var valueToken  = assignmentTokens[1].Trim();

                var projectBuildConfigurationTokens = targetToken.Split(new string[] { Constants.SolutionProjectConfigurationTokenSeparator }, 3, StringSplitOptions.None);

                var projectGuidToken = projectBuildConfigurationTokens[0];
                var solutionBuildConfigurationToken = projectBuildConfigurationTokens[1];
                var indicatorToken = projectBuildConfigurationTokens[2];

                var projectGUID = Guid.Parse(projectGuidToken);
                var solutionBuildConfiguration = SolutionFileTextSerializer.DeserializeSolutionBuildConfiguration(solutionBuildConfigurationToken);
                var indicator = SolutionUtilities.ToProjectConfigurationIndicator(indicatorToken);
                var mappedSolutionBuildConfiguration = SolutionFileTextSerializer.DeserializeSolutionBuildConfiguration(valueToken);

                var projectBuildConfigurationMapping = new ProjectBuildConfigurationMapping
                {
                    ProjectGUID = projectGUID,
                    SolutionBuildConfiguration       = solutionBuildConfiguration,
                    ProjectConfigurationIndicator    = indicator,
                    MappedSolutionBuildConfiguration = mappedSolutionBuildConfiguration,
                };

                projectConfigurationPlatformsGlobalSection.ProjectBuildConfigurationMappings.Add(projectBuildConfigurationMapping);

                currentLine = reader.ReadLine().Trim();
            }

            return(projectConfigurationPlatformsGlobalSection);
        }