@Override public String toString() { String v = major + "." + minor + "." + patch; if (classifier != null) { v = v + "-" + classifier; } if (isSnapshot()) { v = v + SNAPSHOT; } return v; }
@Override public List<String> listHotfixesNames(String targetPlatform, boolean allowSNAPSHOT) { List<DownloadablePackage> hotFixes = listPackages(PackageType.HOT_FIX, targetPlatform); // filter on snapshots and collect unique names List<String> hotFixesNames = hotFixes.stream().filter( pkg -> (allowSNAPSHOT || !pkg.getVersion().isSnapshot())).map( DownloadablePackage::getName).distinct().collect(Collectors.toList()); return hotFixesNames; }
@Override public List<String> listLastHotfixes(String targetPlatform, boolean allowSNAPSHOT) { List<DownloadablePackage> hotFixes = listPackages(PackageType.HOT_FIX, targetPlatform); // filter on snapshots and collect last versions Map<String, List<DownloadablePackage>> hotfixesByName = hotFixes.stream().filter( pkg -> (allowSNAPSHOT || !pkg.getVersion().isSnapshot())) // .collect(Collectors.groupingBy(DownloadablePackage::getName)); List<String> lastHotFixes = hotfixesByName.values().stream() // .map(list -> Collections.max(list, Comparator.comparing(DownloadablePackage::getVersion))) // .map(DownloadablePackage::getId) // .collect(Collectors.toList()); return lastHotFixes; }
protected List<String> getInstalledSNAPSHOTPackages() { List<String> installedSNAPSHOTPackages = new ArrayList<>(); for (DownloadablePackage pkg : pm.listInstalledPackages()) { if (pkg.getVersion().isSnapshot()) { installedSNAPSHOTPackages.add(pkg.getName()); } } return installedSNAPSHOTPackages; }
/** * @param snapshotUpgrade whether to upgrade when both versions are SNAPSHOT and equal to each other * @return true if the current version is an upgrade comparing to the given version * @since 1.4.19 */ public boolean isUpgradeFor(Version version, boolean snapshotUpgrade) { return greaterThan(version) || snapshotUpgrade && isSnapshot() && equalsTo(version); }
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()); } }
if (snapshot == o.isSnapshot()) { log.trace(" case 1 => 0"); return 0; } else { if (isSnapshot()) { log.trace(" case 2 => -1"); return -1;
/** * @since 5.8 */ public boolean canUpgrade(Package pkg) { return pkg.getPackageState().isInstalled() && pkg.getVersion().isSnapshot() && !InstallAfterRestart.isMarkedForInstallAfterRestart(pkg.getName()); }
/** * @since 5.8 */ public boolean canUpgrade(Package pkg) { return pkg.getPackageState().isInstalled() && pkg.getVersion().isSnapshot() && !InstallAfterRestart.isMarkedForInstallAfterRestart(pkg.getName()); }
if (localPackage.getVersion().isSnapshot()) {
if (!allowSNAPSHOT && pkg.getVersion().isSnapshot() && pkg.getType() != PackageType.STUDIO && !installedOrRequiredSNAPSHOTPackages.contains(pkg.getName())) { log.debug("Ignore " + pkg + " (excluded SNAPSHOT)"); if (pkg.getVersion().isSnapshot() && pkg.isLocal() && upgradesMap.containsKey(pkg.getName())) { PackageDependency upgrade = upgradesMap.get(pkg.getName()); if (upgrade.getVersionRange().matchVersion(pkg.getVersion())) {
log.error(String.format("Package '%s' is installed. Download skipped.", pkg)); packagesAlreadyDownloaded.add(pkg); } else if (localPackage.getVersion().isSnapshot()) { if (localPackage.getVisibility() != PackageVisibility.PUBLIC && !isRegistered) { log.info(String.format("Update of '%s' requires being registered.", pkg));
/** * Add unzipped packaged to local cache. It replaces SNAPSHOT packages if not installed * * @throws PackageException * @throws AlreadyExistsPackageException If not replacing a SNAPSHOT or if the existing package is installed */ protected LocalPackage addPackageFromDir(File file) throws PackageException { LocalPackageImpl pkg = new LocalPackageImpl(file, PackageState.DOWNLOADED, service); File dir = null; try { dir = new File(store, pkg.getId()); if (dir.exists()) { LocalPackage oldpkg = getPackage(pkg.getId()); if (!pkg.getVersion().isSnapshot()) { throw new AlreadyExistsPackageException("Package " + pkg.getId() + " already exists"); } if (oldpkg.getPackageState().isInstalled()) { throw new AlreadyExistsPackageException("Package " + pkg.getId() + " is already installed"); } log.info(String.format("Replacement of %s in local cache...", oldpkg)); org.apache.commons.io.FileUtils.deleteQuietly(dir); } org.apache.commons.io.FileUtils.copyDirectory(file, dir); pkg.getData().setRoot(dir); updateState(pkg.getId(), pkg.state); return pkg; } catch (IOException e) { throw new PackageException(String.format("Failed to move %s to %s", file, dir), e); } }
LocalPackage pkg = getLocalPackage(pkgId); if (pkg != null && pkg.getPackageState().isInstalled()) { if (pkg.getVersion().isSnapshot()) { log.info(String.format("Updating package %s...", pkg));
if (potentialMatchingPackage != null && potentialMatchingPackage.getVersion().isSnapshot()) { localSnapshotsToMaybeReplace.add(potentialMatchingPackage.getId()); if (localPackage != null && localPackage.getVersion().isSnapshot()) { if (localPackage.getPackageState().isInstalled()) {