public void AddEntry(ProjectLayoutEntry entry) { if (entry.Outputs != null) { foreach (var outputEntry in entry.Outputs) { ValidateOutputEntry(outputEntry); } } _entries.Add(entry); }
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); } } }
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); } } } } } }