Author: hibou
Date: Mon Feb  9 17:28:23 2009
New Revision: 742645

URL: http://svn.apache.org/viewvc?rev=742645&view=rev
Log:
IVYDE-161:
 - only include retrieve conf if needed
 - make the merge of retrieve and resolve conf less buggy (no duplicate, better 
handling of *)

Modified:
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/CHANGES.txt
    
ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyResolveJob.java

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/CHANGES.txt?rev=742645&r1=742644&r2=742645&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/CHANGES.txt (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/CHANGES.txt Mon Feb  9 
17:28:23 2009
@@ -23,6 +23,7 @@
 - FIX: Changing any setting for the classpath container loses the "exported" 
setting of the classpath container (IVYDE-149)
 - FIX: IvyConsole:java.io.IOException: Output Stream is closed (IVYDE-130)
 - FIX: "Delete old retrieved artifacts" gets grayed out after OK'ing the 
dialog (IVYDE-155)
+- FIX: REGRESSION: Resolving does no longer respect configurations (IVYDE-161)
 
   version 2.0.0 beta1
 ==========================

Modified: 
ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyResolveJob.java
URL: 
http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyResolveJob.java?rev=742645&r1=742644&r2=742645&view=diff
==============================================================================
--- 
ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyResolveJob.java
 (original)
+++ 
ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyResolveJob.java
 Mon Feb  9 17:28:23 2009
@@ -219,17 +219,20 @@
                         IvyResolveJob.class.getClassLoader());
                     try {
                         Map/*<ModuleRevisionId, IvyNode>*/ dependencies = 
Collections.EMPTY_MAP;
-                        List configurations = new ArrayList();
+                        Set configurations = new HashSet();
                         configurations.addAll(conf.getConfs());
-                        
configurations.addAll(Arrays.asList(conf.getInheritedRetrieveConfs().split(",")));
-                        if (usePreviousResolveIfExist) {
-                            if (configurations.size() == 1 && 
"*".equals(configurations.get(0))) {
-                                confs = md.getConfigurationsNames();
-                            } else {
-                                confs = (String[]) configurations
-                                        .toArray(new 
String[configurations.size()]);
-                            }
+                        if (conf.getInheritedDoRetrieve()) {
+                            
configurations.addAll(Arrays.asList(conf.getInheritedRetrieveConfs().split(",")));
+                        }
 
+                        if (configurations.contains("*")) {
+                            confs = md.getConfigurationsNames();
+                        } else {
+                            confs = (String[]) configurations.toArray(new 
String[configurations
+                                    .size()]);
+                        }
+
+                        if (usePreviousResolveIfExist) {
                             all = new LinkedHashSet();
 
                             problemMessages = new ArrayList();
@@ -261,8 +264,7 @@
                                             + 
md.getModuleRevisionId().getModuleId()
                                             + " doesn't contain enough data: 
resolving again\n");
                                     ResolveOptions resolveOption = new 
ResolveOptions()
-                                            .setConfs((String[]) configurations
-                                                    .toArray(new 
String[configurations.size()]));
+                                            .setConfs(confs);
                                     
resolveOption.setValidate(ivy.getSettings().doValidate());
                                     ResolveReport r = ivy.resolve(md, 
resolveOption);
                                     
all.addAll(Arrays.asList(r.getArtifactsReports(null, false)));
@@ -276,9 +278,7 @@
                             }
                         } else {
                             Message.info("\n\nIVYDE: calling resolve on " + 
conf.ivyXmlPath + "\n");
-                            ResolveOptions resolveOption = new ResolveOptions()
-                                    .setConfs((String[]) 
configurations.toArray(new String[configurations
-                                            .size()]));
+                            ResolveOptions resolveOption = new 
ResolveOptions().setConfs(confs);
                             
resolveOption.setValidate(ivy.getSettings().doValidate());
                             ResolveReport report = ivy.resolve(md, 
resolveOption);
                             problemMessages = report.getAllProblemMessages();


Reply via email to