diff options
author | Lluis Sanchez <lluis@novell.com> | 2009-12-01 12:47:55 +0300 |
---|---|---|
committer | Lluis Sanchez <lluis@novell.com> | 2009-12-01 12:47:55 +0300 |
commit | ab32048dab6d3167129a819e1dbb2a88e6216a78 (patch) | |
tree | 1d60673cbcf5bf6cf7ff4b4cb25632a4815916bc /main/src/addins/MonoDevelop.Autotools | |
parent | bf6f75cb0e4366365dad6d1a037fb1aabc34ac66 (diff) |
Introduced the ConfigurationSelector class to all methods that
previously took a configuration name as string. This eliminates the
ambiguity between solution configuration names and project
configuration names.
svn path=/trunk/monodevelop/; revision=147198
Diffstat (limited to 'main/src/addins/MonoDevelop.Autotools')
8 files changed, 39 insertions, 25 deletions
diff --git a/main/src/addins/MonoDevelop.Autotools/ChangeLog b/main/src/addins/MonoDevelop.Autotools/ChangeLog index cb6142b8e1..69451e3f40 100644 --- a/main/src/addins/MonoDevelop.Autotools/ChangeLog +++ b/main/src/addins/MonoDevelop.Autotools/ChangeLog @@ -1,3 +1,17 @@ +2009-12-01 Lluis Sanchez Gual <lluis@novell.com> + + * Handler.cs: + * MakefileData.cs: + * ConfigSection.cs: + * GenerateMakefilesDialog.cs: + * SolutionMakefileHandler.cs: + * SimpleProjectMakefileHandler.cs: + * MakefileProjectServiceExtension.cs: Introduced the + ConfigurationSelector class to all methods that previously + took a configuration name as string. This eliminates the + ambiguity between solution configuration names and project + configuration names. + 2009-10-30 Lluis Sanchez Gual <lluis@novell.com> * AssemblyInfo.cs: diff --git a/main/src/addins/MonoDevelop.Autotools/ConfigSection.cs b/main/src/addins/MonoDevelop.Autotools/ConfigSection.cs index 28c0beaa84..450adf8cfb 100644 --- a/main/src/addins/MonoDevelop.Autotools/ConfigSection.cs +++ b/main/src/addins/MonoDevelop.Autotools/ConfigSection.cs @@ -30,6 +30,7 @@ using System.Text; using System.Collections.Generic; using MonoDevelop.Deployment; +using MonoDevelop.Projects; namespace MonoDevelop.Autotools { @@ -45,6 +46,11 @@ namespace MonoDevelop.Autotools { public string Name { get { return name; } } + + public ConfigurationSelector Selector { + get; + private set; + } public Dictionary<string, DeployFile> DeployFileVars { get { @@ -57,6 +63,7 @@ namespace MonoDevelop.Autotools { public ConfigSection (string name) { this.name = name; + Selector = (SolutionConfigurationSelector) name; } } diff --git a/main/src/addins/MonoDevelop.Autotools/GenerateMakefilesDialog.cs b/main/src/addins/MonoDevelop.Autotools/GenerateMakefilesDialog.cs index b4dc4124f8..dfbd5ac35e 100644 --- a/main/src/addins/MonoDevelop.Autotools/GenerateMakefilesDialog.cs +++ b/main/src/addins/MonoDevelop.Autotools/GenerateMakefilesDialog.cs @@ -18,7 +18,7 @@ namespace MonoDevelop.Autotools for (int i = 0; i < solution.Configurations.Count; i ++) { SolutionConfiguration cc = (SolutionConfiguration) solution.Configurations [i]; comboConfigs.AppendText (cc.Id); - if (cc.Id == IdeApp.Workspace.ActiveConfiguration) + if (cc.Id == IdeApp.Workspace.ActiveConfigurationId) comboConfigs.Active = i; } } diff --git a/main/src/addins/MonoDevelop.Autotools/Handler.cs b/main/src/addins/MonoDevelop.Autotools/Handler.cs index 3da5f12a4b..ccf029a7bd 100644 --- a/main/src/addins/MonoDevelop.Autotools/Handler.cs +++ b/main/src/addins/MonoDevelop.Autotools/Handler.cs @@ -136,7 +136,7 @@ namespace MonoDevelop.Autotools solution = entry.ParentSolution; } - solution.Build (monitor, defaultConfig); + solution.Build (monitor, (SolutionConfigurationSelector) defaultConfig); if (monitor.IsCancelRequested || !monitor.AsyncOperation.Success) return false; diff --git a/main/src/addins/MonoDevelop.Autotools/MakefileData.cs b/main/src/addins/MonoDevelop.Autotools/MakefileData.cs index 627a48081e..7d7c2d0f61 100644 --- a/main/src/addins/MonoDevelop.Autotools/MakefileData.cs +++ b/main/src/addins/MonoDevelop.Autotools/MakefileData.cs @@ -739,7 +739,7 @@ namespace MonoDevelop.Autotools List<ProjectReference> toRemove = new List<ProjectReference> (); foreach (ProjectReference pref in dotnetProject.References) { if (pref.ReferenceType == ReferenceType.Gac) { - string [] files = pref.GetReferencedFileNames (ProjectService.DefaultConfiguration); + string [] files = pref.GetReferencedFileNames (ConfigurationSelector.Default); if (files == null) continue; @@ -1164,9 +1164,8 @@ namespace MonoDevelop.Autotools public static void ResolveProjectReferences (SolutionFolder folder, IProgressMonitor monitor) { Dictionary<string, DotNetProject> projects = new Dictionary<string, DotNetProject> (); - string defConfig = ProjectService.DefaultConfiguration; foreach (DotNetProject p in folder.GetAllItems<DotNetProject> ()) { - string filename = p.GetOutputFileName (defConfig); + string filename = p.GetOutputFileName (ConfigurationSelector.Default); // Can be null for Generic projects if (!String.IsNullOrEmpty (filename)) projects [filename] = p; @@ -1187,7 +1186,7 @@ namespace MonoDevelop.Autotools pr.ReferenceType != ReferenceType.Project) continue; - string [] files = pr.GetReferencedFileNames (defConfig); + string [] files = pr.GetReferencedFileNames (ConfigurationSelector.Default); if (files.Length > 0) asmProjectRefs [files [0]] = pr; } @@ -1510,7 +1509,7 @@ namespace MonoDevelop.Autotools } if (pkg == null) - return AsmRefToString (pr.GetReferencedFileNames (ProjectService.DefaultConfiguration) [0], refVar, false); + return AsmRefToString (pr.GetReferencedFileNames (ConfigurationSelector.Default) [0], refVar, false); // Reference is from a package @@ -1572,7 +1571,7 @@ namespace MonoDevelop.Autotools string ProjectRefToString (ProjectReference pr, MakefileVar refVar) { - string [] tmp = pr.GetReferencedFileNames (ProjectService.DefaultConfiguration); + string [] tmp = pr.GetReferencedFileNames (ConfigurationSelector.Default); if (tmp == null || tmp.Length == 0) //Reference not found, ignoring return null; diff --git a/main/src/addins/MonoDevelop.Autotools/MakefileProjectServiceExtension.cs b/main/src/addins/MonoDevelop.Autotools/MakefileProjectServiceExtension.cs index 4a81b1b8b1..90ec0f5ab9 100644 --- a/main/src/addins/MonoDevelop.Autotools/MakefileProjectServiceExtension.cs +++ b/main/src/addins/MonoDevelop.Autotools/MakefileProjectServiceExtension.cs @@ -139,13 +139,13 @@ namespace MonoDevelop.Autotools //TODO - protected override bool GetNeedsBuilding (SolutionEntityItem entry, string configuration) + protected override bool GetNeedsBuilding (SolutionEntityItem entry, ConfigurationSelector configuration) { return base.GetNeedsBuilding (entry, configuration); } //FIXME: Check whether autogen.sh is required or not - protected override BuildResult Build (IProgressMonitor monitor, SolutionEntityItem entry, string configuration) + protected override BuildResult Build (IProgressMonitor monitor, SolutionEntityItem entry, ConfigurationSelector configuration) { Project project = entry as Project; if (project == null) @@ -329,7 +329,7 @@ namespace MonoDevelop.Autotools return null; } - protected override void Clean (IProgressMonitor monitor, SolutionEntityItem entry, string configuration) + protected override void Clean (IProgressMonitor monitor, SolutionEntityItem entry, ConfigurationSelector configuration) { Project proj = entry as Project; if (proj == null) { @@ -373,7 +373,7 @@ namespace MonoDevelop.Autotools monitor.ReportSuccess ( GettextCatalog.GetString ( "Project successfully cleaned")); } - protected override bool CanExecute (SolutionEntityItem item, ExecutionContext context, string configuration) + protected override bool CanExecute (SolutionEntityItem item, ExecutionContext context, ConfigurationSelector configuration) { Project project = item as Project; if (project != null) { @@ -385,7 +385,7 @@ namespace MonoDevelop.Autotools } - protected override void Execute (IProgressMonitor monitor, SolutionEntityItem entry, ExecutionContext context, string configuration) + protected override void Execute (IProgressMonitor monitor, SolutionEntityItem entry, ExecutionContext context, ConfigurationSelector configuration) { Project project = entry as Project; if (project == null) { diff --git a/main/src/addins/MonoDevelop.Autotools/SimpleProjectMakefileHandler.cs b/main/src/addins/MonoDevelop.Autotools/SimpleProjectMakefileHandler.cs index a1a7bd7e4e..3d95e0389b 100644 --- a/main/src/addins/MonoDevelop.Autotools/SimpleProjectMakefileHandler.cs +++ b/main/src/addins/MonoDevelop.Autotools/SimpleProjectMakefileHandler.cs @@ -324,7 +324,7 @@ namespace MonoDevelop.Autotools ctx.AddBuiltFile (Path.Combine (config.OutputDirectory, bfile)); DeployFileCollection deployFiles = DeployService.GetDeployFiles ( - ctx.DeployContext, new SolutionItem[] { project }, config.Id); + ctx.DeployContext, new SolutionItem[] { project }, config.Selector); ProcessDeployFilesForConfig (deployFiles, project, configSection, ctx, config); configSections.Add (configSection); @@ -342,9 +342,9 @@ namespace MonoDevelop.Autotools } // Register files generated by the compiler - ctx.AddBuiltFile (project.GetOutputFileName (combineConfig.Id)); + ctx.AddBuiltFile (project.GetOutputFileName (combineConfig.Selector)); if (config.DebugMode) - ctx.AddBuiltFile (project.GetOutputFileName (combineConfig.Id) + ".mdb"); + ctx.AddBuiltFile (project.GetOutputFileName (combineConfig.Selector) + ".mdb"); if (config.SignAssembly) { string spath = project.GetRelativeChildPath (config.AssemblyKeyFile);
@@ -554,7 +554,7 @@ endif", s.SwitchName.Replace ('-', '_').ToUpperInvariant (), s.Define)); //@deployFiles can have duplicates Dictionary<string, DeployFile> uniqueDeployFiles = new Dictionary<string, DeployFile> (); foreach (DeployFile dfile in deployFiles) { - if (dfile.SourcePath == project.GetOutputFileName (configSection.Name)) + if (dfile.SourcePath == project.GetOutputFileName (configSection.Selector)) continue; // DeployFileCollection can have duplicates, ignore them diff --git a/main/src/addins/MonoDevelop.Autotools/SolutionMakefileHandler.cs b/main/src/addins/MonoDevelop.Autotools/SolutionMakefileHandler.cs index 6ebf71ca5a..97279a3491 100644 --- a/main/src/addins/MonoDevelop.Autotools/SolutionMakefileHandler.cs +++ b/main/src/addins/MonoDevelop.Autotools/SolutionMakefileHandler.cs @@ -236,12 +236,9 @@ namespace MonoDevelop.Autotools if (!config.BuildEnabledForItem (entry)) continue; - string mappedConf = config.GetMappedConfiguration (entry); - if (mappedConf == null) - continue; references = new Set<SolutionItem> (); provides = new Set<SolutionItem>(); - references.Union (entry.GetReferencedItems (mappedConf)); + references.Union (entry.GetReferencedItems (config.Selector)); provides.Add (entry); } else if (item is SolutionFolder) { @@ -312,11 +309,8 @@ namespace MonoDevelop.Autotools SolutionEntityItem entry = (SolutionEntityItem) item; if (!config.BuildEnabledForItem (entry)) continue; - string mappedConf = config.GetMappedConfiguration (entry); - if (mappedConf == null) - continue; projects.Add (entry); - references.Union (entry.GetReferencedItems (mappedConf)); + references.Union (entry.GetReferencedItems (config.Selector)); } else if (item is SolutionFolder) { |