コード例 #1
0
        public void AddEntry(ProjectLayoutEntry entry)
        {
            if (entry.Outputs != null)
            {
                foreach (var outputEntry in entry.Outputs)
                {
                    ValidateOutputEntry(outputEntry);
                }
            }

            _entries.Add(entry);
        }
コード例 #2
0
        private void UpdateOutputConfiguration(ProjectLayoutEntry entry, IOutputConfiguration outputConfiguration)
        {
            if (entry.Outputs != null)
            {
                foreach (var output in entry.Outputs)
                {
                    outputConfiguration.RegisterOutputFolder(output.OutputModelTypeFilter, this.GetProjectFolder(output));
                }
            }

            if (entry.TargetPlatforms != null)
            {
                foreach (var targetPlatformEntry in entry.TargetPlatforms)
                {
                    var targetPlatform = this.TargetPlatformCollection.GetTargetPlatform(targetPlatformEntry.TargerPlatformName);

                    outputConfiguration.RegisterTargetPlatformForDesignModelType(targetPlatformEntry.DesignModelType, targetPlatform, true);
                }
            }
        }
コード例 #3
0
        private IEnumerable <IOutputConfiguration> GetOutputConfigurations(ProjectLayoutEntry entry)
        {
            if (entry.LocationFilters == null)
            {
                yield return(this.DesignModelCollection.RootNamespace.OutputConfiguration);
            }

            foreach (var locationFilter in entry.LocationFilters)
            {
                if (locationFilter.NamespaceFilter != null)
                {
                    foreach (var ns in this.DesignModelCollection.GetAllNamespaces())
                    {
                        if (locationFilter.NamespaceFilter.Match(ns.Name) == Filter.MatchStatus.Included)
                        {
                            yield return(ns.OutputConfiguration);
                        }
                    }
                }
                else
                {
                    foreach (var designModel in this.GetAllDesignModels())
                    {
                        if (locationFilter.DesignModelTypeFilter != null)
                        {
                            if (locationFilter.DesignModelTypeFilter.Match(designModel.DesignModelType) == Filter.MatchStatus.Included)
                            {
                                yield return(designModel.OutputConfiguration);
                            }
                        }
                        else if (designModel.FullyQualifiedName != null)
                        {
                            if (locationFilter.DesignModelNameFilter.Match(designModel.FullyQualifiedName) == Filter.MatchStatus.Included)
                            {
                                yield return(designModel.OutputConfiguration);
                            }
                        }
                    }
                }
            }
        }