aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPetteri Räty <betelgeuse@gentoo.org>2008-04-27 23:22:07 +0000
committerPetteri Räty <betelgeuse@gentoo.org>2008-04-27 23:22:07 +0000
commit24af7e37730a1a5659fa6d6e12ddd6cb06fb717b (patch)
tree3295a218d8980a18c20fdabda630be3e83b54022 /src
parentAdd test for VersionManager.get_vm (diff)
downloadjava-config-24af7e37730a1a5659fa6d6e12ddd6cb06fb717b.tar.gz
java-config-24af7e37730a1a5659fa6d6e12ddd6cb06fb717b.tar.bz2
java-config-24af7e37730a1a5659fa6d6e12ddd6cb06fb717b.zip
Iterate over all matching vms so that >=virtual/jdk-1.5 java-virtuals/jaf works when 1.7 comes out of the jdk part but isn't marked as providing the virtual.
svn path=/projects/java-config-2/trunk/; revision=6224
Diffstat (limited to 'src')
-rw-r--r--src/java_config_2/VersionManager.py12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/java_config_2/VersionManager.py b/src/java_config_2/VersionManager.py
index 9ddac0e..293f45a 100644
--- a/src/java_config_2/VersionManager.py
+++ b/src/java_config_2/VersionManager.py
@@ -156,8 +156,7 @@ class VersionManager:
for pref in prefs:
if pref[0] == low or pref[0] == "*": # We have a configured preference for this version
for vmProviderString in pref[1]: # Loop over the prefered once, and check if they are valid
- gvm = self.find_vm(vmProviderString, atom)
- if gvm:
+ for gvm in self.find_vm(vmProviderString, atom):
if need_virtual: # Package we are finding a vm for needs a virtual
if gvm.provides(need_virtual): # we provide the virtual ourself good!
# Old way of doing, we no longer bother with PROVIDES
@@ -168,12 +167,11 @@ class VersionManager:
return gvm
else:
return gvm # use it!
-
+
# no match in preferences, find anything we have
# Support for virtuals too here
for atom in matched_atoms:
- gvm = self.find_vm("", atom)
- if gvm:
+ for gvm in self.find_vm("", atom):
if need_virtual: # Package we are finding a vm for needs a virtual
if gvm.provides(need_virtual): # we provide the virtual ourself good!
return gvm
@@ -194,9 +192,7 @@ class VersionManager:
for vm in vm_list:
if vm.is_type(atom['type']):
if self.matches(vm.version(), atom['version'], atom['equality']):
- return vm
- return None
-
+ yield vm
def version_cmp(self, version1, version2):
#Parly stolen from portage.py