Changeset 3710 for trunk/sources/HeuristicLab.PluginInfrastructure
- Timestamp:
- 05/07/10 21:10:46 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/UploadPluginsView.cs
r3627 r3710 118 118 var selectedPlugins = (IEnumerable<IPluginDescription>)e.Argument; 119 119 DeploymentService.AdminClient adminClient = DeploymentService.AdminClientFactory.CreateClient(); 120 Dictionary<IPluginDescription, DeploymentService.PluginDescription> cachedPluginDescriptions = 121 new Dictionary<IPluginDescription, DeploymentService.PluginDescription>(); 120 122 try { 121 123 foreach (var plugin in IteratePlugins(selectedPlugins)) { 122 adminClient.DeployPlugin(MakePluginDescription(plugin ), CreateZipPackage(plugin));124 adminClient.DeployPlugin(MakePluginDescription(plugin, cachedPluginDescriptions), CreateZipPackage(plugin)); 123 125 } 124 126 adminClient.Close(); … … 227 229 var matchingLocalPlugin = (from localPlugin in localAndServerPlugins.Keys 228 230 where localPlugin.Name == plugin.Name 229 where localPlugin.Version == localPlugin.Version231 where localPlugin.Version == plugin.Version 230 232 select localPlugin).SingleOrDefault(); 231 233 if (matchingLocalPlugin != null) { … … 296 298 } 297 299 298 private DeploymentService.PluginDescription MakePluginDescription(IPluginDescription plugin) { 299 var dependencies = from dep in plugin.Dependencies 300 select MakePluginDescription(dep); 301 return new DeploymentService.PluginDescription(plugin.Name, plugin.Version, dependencies, plugin.ContactName, plugin.ContactEmail, plugin.LicenseText); 300 private DeploymentService.PluginDescription MakePluginDescription(IPluginDescription plugin, Dictionary<IPluginDescription, DeploymentService.PluginDescription> cachedPluginDescriptions) { 301 if (!cachedPluginDescriptions.ContainsKey(plugin)) { 302 var dependencies = (from dep in plugin.Dependencies 303 select MakePluginDescription(dep, cachedPluginDescriptions)) 304 .ToList(); 305 cachedPluginDescriptions.Add(plugin, 306 new DeploymentService.PluginDescription(plugin.Name, plugin.Version, dependencies, plugin.ContactName, plugin.ContactEmail, plugin.LicenseText)); 307 } 308 return cachedPluginDescriptions[plugin]; 302 309 } 303 310 #endregion
Note: See TracChangeset
for help on using the changeset viewer.