protected void addIfSNAPSHOT(List<String> installedOrRequiredSNAPSHOTPackages, PackageDependency pd) { Version minVersion = pd.getVersionRange().getMinVersion(); Version maxVersion = pd.getVersionRange().getMaxVersion(); if (minVersion != null && minVersion.isSnapshot() || maxVersion != null && maxVersion.isSnapshot()) { installedOrRequiredSNAPSHOTPackages.add(pd.getName()); } }
/** * @param dependency */ public static String getCUDFName(PackageDependency dependency) { // NXP-9268: Workaround for nuxeo-content-browser if ("nuxeo-content-browser".equals(dependency.getName()) && dependency.getVersionRange().toString().contains("cmf")) { return dependency.getName() + "*cmf"; } else { return dependency.getName(); } }
private boolean matchDependency(PackageDependency pkgDep, Package pkg) { boolean match = pkgDep.getName().equals(pkg.getName()) && pkgDep.getVersionRange().matchVersion(pkg.getVersion()); if (!match && pkg.getProvides() != null) { // Look at provides for (PackageDependency provide : pkg.getProvides()) { if (pkgDep.getName().equals(provide.getName()) && pkgDep.getVersionRange().matchVersionRange(provide.getVersionRange())) { match = true; break; } } } return match; }
deps.put(name, new PackageDependency(name, Version.ZERO, version)); } else { VersionRange versionRange = previous.getVersionRange(); if (versionRange.getMaxVersion() != null) { throw new DependencyException("Conflicting dependency value: " + value + " with " + previous); deps.put(name, new PackageDependency(name, version)); } else { VersionRange versionRange = previous.getVersionRange(); if (versionRange.getMinVersion() != null) { throw new DependencyException("Conflicting dependency value: " + value + " with " + previous);
for (Version version : findLocalPackageInstalledVersions(pkgDep.getName())) { if ((isRemoveList || !hasMatchInIdList(pkgDep.getName(), version, orderedRemoveList)) && pkgDep.getVersionRange().matchVersion(version)) { satisfied = true; if (isOptionalPkgDep) {
VersionRange versionRange = packageDependency.getVersionRange(); int cudfMinVersion, cudfMaxVersion; if (versionRange.getMinVersion() == null) {
for (PackageDependency dep : pkg.getDependencies()) { if (set.getTargetVersion(dep.getName()) != null) { if (!dep.getVersionRange().matchVersion( set.getTargetVersion(dep.getName()))) { for (PackageDependency newDep : pupdate.getDependencies()) { if (newDep.getName().equals(dep.getName())) { if (newDep.getVersionRange().matchVersion( set.getTargetVersion(dep.getName()))) { filtredPossibleUpdates.add(pupdate); dep.getVersionRange()); } else { if (!dep.getVersionRange().matchVersion( set.getTargetVersion(dep.getName()))) { dep.getVersionRange()); } else {
if (upgrade.getVersionRange().matchVersion(pkg.getVersion())) { DownloadablePackage remotePackage = pm.getRemotePackage(pkg.getId()); if (remotePackage != null) {
protected void recurseOnAvailableChoices(String pkgId, String targetPlatform, RecursiveDependencyResolver dc, String path) throws DependencyException { Package pkg = pm.findPackageById(pkgId); if (pkg == null) { throw new DependencyException("Unable to find package " + pkgId); } for (PackageDependency dep : pkg.getDependencies()) { List<Version> versions = pm.getAvailableVersion(dep.getName(), dep.getVersionRange(), targetPlatform); if (versions.size() == 0) { throw new DependencyException("Unable to find a compatible version for package " + dep.getName() + " (" + dep.getVersionRange().toString() + ")"); } if (path.contains("/" + dep.getName() + "/")) { throw new DependencyException(String.format("Detected loop in dependencies: pkg=%s,dep=%s,path=%s'", pkgId, dep.getName(), path)); } dc.addDep(dep.getName(), versions); for (Version v : versions) { recurseOnAvailableChoices(dep.getName() + "-" + v.toString(), targetPlatform, dc, path + dep.getName() + "/"); } } }
boolean hasAnInstalledMatch = false; for (Version version : installedVersions) { if (pkgOptDep.getVersionRange().matchVersion(version)) { hasAnInstalledMatch = true; break;
protected void recurseResolve(Package pkg, DependencyResolution res, DependencySet depSet) { res.addPackage(pkg.getName(), pkg.getVersion()); for (PackageDependency dep : pkg.getDependencies()) { Version targetVersion = depSet.getTargetVersion(dep.getName()); if (!dep.getVersionRange().matchVersion(targetVersion)) { res.markAsFailed(dep.toString() + " doesn't match " + targetVersion); return; } else { if (!res.addPackage(dep.getName(), targetVersion)) { return; } } Package subPkg = pm.findPackageById(dep.getName() + "-" + targetVersion.toString()); recurseResolve(subPkg, res, depSet); } }