Revision 40926 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.installer/org.gvsig.installer.lib/org.gvsig.installer.lib.impl/src/main/java/org/gvsig/installer/lib/impl/DependenciesCalculatorV2.java
DependenciesCalculatorV2.java | ||
---|---|---|
2 | 2 |
|
3 | 3 |
import java.util.ArrayList; |
4 | 4 |
import java.util.Collection; |
5 |
import java.util.Collections; |
|
6 |
import java.util.Comparator; |
|
5 | 7 |
import java.util.Iterator; |
6 | 8 |
import java.util.List; |
7 | 9 |
|
... | ... | |
184 | 186 |
} else if(x.size()==1) { |
185 | 187 |
((DependencyAndPackages)x.get(0)).addPackage(packageInfo);; |
186 | 188 |
} else { |
187 |
// ???? !!!!! |
|
188 |
logger.info("Se han encontrado dependencias duplicadas.\n"+ x.toString()); |
|
189 |
// Hay paquetes que tienen dependencias con el mismo paquete pero |
|
190 |
// con versiones distintas. Cogemos la version mayor. |
|
191 |
Collections.sort(x, new Comparator<Dependency>() { |
|
192 |
public int compare(Dependency arg0, Dependency arg1) { |
|
193 |
// Orden inverso, la primera la mas alta |
|
194 |
return - arg0.getVersion().compareTo(arg1.getVersion()); |
|
195 |
} |
|
196 |
}); |
|
197 |
((DependencyAndPackages)x.get(0)).addPackage(packageInfo);; |
|
198 |
|
|
189 | 199 |
} |
190 | 200 |
} |
191 | 201 |
} |
192 |
if( logger.isInfoEnabled() ) { |
|
193 |
logger.trace("Attempt: " + retryCount);
|
|
194 |
logger.trace("Required packages:\n" + dumpPackages(this.requieredPackages));
|
|
195 |
logger.trace("Unresolved dependencies:\n" + dumpDependencies(this.unresolvedDependencies));
|
|
196 |
logger.trace("Conflict packages:\n" + dumpPackages(this.conflictsPackages));
|
|
197 |
logger.trace("All dependencies:\n" + dumpDependencies(dependencies));
|
|
198 |
} |
|
202 |
// if( logger.isInfoEnabled() ) {
|
|
203 |
// logger.info("Attempt: " + retryCount);
|
|
204 |
// logger.info("Required packages:\n" + dumpPackages(this.requieredPackages));
|
|
205 |
// logger.info("Unresolved dependencies:\n" + dumpDependencies(this.unresolvedDependencies));
|
|
206 |
// logger.info("Conflict packages:\n" + dumpPackages(this.conflictsPackages));
|
|
207 |
// logger.info("All dependencies:\n" + dumpDependencies(dependencies));
|
|
208 |
// }
|
|
199 | 209 |
|
200 | 210 |
/* |
201 | 211 |
* Ahora calcularemos si se cumplen esas dependencias, y en caso de que no |
... | ... | |
228 | 238 |
if( availablePackage==null ) { |
229 | 239 |
availablePackage = getAvalible(dependency); |
230 | 240 |
if( availablePackage != null ) { |
231 |
logger.info("Added new dependency "+availablePackage.getCode());
|
|
241 |
logger.info("Added new package "+availablePackage.getCode()+" required by dependency "+dependency.toString()+".");
|
|
232 | 242 |
this.requieredPackages.add(availablePackage); |
233 | 243 |
/* |
234 | 244 |
* Al a?adir paquetes nuevos, debemos recualcular las |
Also available in: Unified diff