@Override public boolean equals(Object ot) { if (!(ot instanceof Version)) return false; return compareTo((Version) ot) == 0; }
@Override public String toString() { return value.toString(); }
private Version bumpBundle(Delta delta, Version last, int offset, int base) { switch (delta) { case MINOR : return new Version(last.getMajor(), last.getMinor() + offset, base); case MAJOR : return new Version(last.getMajor() + offset, base, base); case ADDED : return new Version(last.getMajor(), last.getMinor() + offset, base); default : return new Version(last.getMajor(), last.getMinor(), last.getMicro() + offset); } }
private Version toFrameworkVersion(aQute.bnd.version.Version v) { return new Version(v.getMajor(), v.getMinor(), v.getMicro(), v.getQualifier()); }
private String doSnapshot(String version) { String snapshot = getProperty(SNAPSHOT); if (snapshot == null) { return version; } if (snapshot.isEmpty()) { snapshot = null; } Version v = Version.parseVersion(version); String q = v.getQualifier(); if (q == null) { return version; } if (q.equals("SNAPSHOT")) { q = snapshot; } else if (q.endsWith("-SNAPSHOT")) { int end = q.length() - "SNAPSHOT".length(); if (snapshot == null) { q = q.substring(0, end - 1); } else { q = q.substring(0, end) + snapshot; } } else { return version; } return new Version(v.getMajor(), v.getMinor(), v.getMicro(), q).toString(); }
private Element getLocalAPI() throws Exception { List<Element> result = new ArrayList<Element>(); for (Map.Entry<PackageRef,List<Element>> entry : packages.entrySet()) { List<Element> set = entry.getValue(); for (Iterator<Element> i = set.iterator(); i.hasNext();) { if (notAccessible.contains(analyzer.getTypeRefFromFQN(i.next().getName()))) i.remove(); } String version = exports.get(entry.getKey()).get(Constants.VERSION_ATTRIBUTE); if (version != null) { Version v = new Version(version); set.add(new Element(Type.VERSION, v.getWithoutQualifier().toString(), null, IGNORED, IGNORED, null)); } Element pd = new Element(Type.PACKAGE, entry.getKey().getFQN(), set, MINOR, MAJOR, null); result.add(pd); } for (JAVA java : javas) { result.add(new Element(CLASS_VERSION, java.toString(), null, Delta.CHANGED, Delta.CHANGED, null)); } return new Element(Type.API, "<api>", result, CHANGED, CHANGED, null); }
public void cleanupVersion(Packages packages, String defaultVersion) { if (defaultVersion != null) { Matcher m = Verifier.VERSION.matcher(defaultVersion); if (m.matches()) { // Strip qualifier from default package version defaultVersion = Version.parseVersion(defaultVersion).getWithoutQualifier().toString(); } } for (Map.Entry<PackageRef,Attrs> entry : packages.entrySet()) { Attrs attributes = entry.getValue(); String v = attributes.get(Constants.VERSION_ATTRIBUTE); if (v == null && defaultVersion != null) { if (!isTrue(getProperty(Constants.NODEFAULTVERSION))) { v = defaultVersion; if (isPedantic()) warning("Used bundle version %s for exported package %s", v, entry.getKey()); } else { if (isPedantic()) warning("No export version for exported package %s", entry.getKey()); } } if (v != null) attributes.put(Constants.VERSION_ATTRIBUTE, cleanupVersion(v)); } }
private Version getVersion(Map<String, String> map) { if (map == null) return Version.LOWEST; return Version.parseVersion(map.get(Constants.VERSION_ATTRIBUTE)); }
v = "0"; version = new Version(v); if (c != '~') { if (i == 3) { result = version.getQualifier(); } else if (Character.isDigit(c)) { int x = version.get(i); switch (c) { case '+' :
private DownloadBlocker findMatchingVersion(RepositoryPlugin dest, String bsn, Version version) throws Exception { Version floor = version.getWithoutQualifier(); Version ceiling = new Version(floor.getMajor()+1, 0,0); VersionRange range = new VersionRange(true,floor, ceiling, false); SortedSet<Version> versions = dest.versions(bsn); if ( versions == null || versions.isEmpty()) return null; for ( Version v : range.filter(versions)) { // First one is highest // TODO Diff } return null; }
private boolean replace(File target, final Version newVersion, Pattern pattern) throws IOException { String content = IO.collect(target); Matcher m = pattern.matcher(content); if (!m.find()) { return false; } Version oldVersion = new Version(m.group(1)); if (newVersion.compareTo(oldVersion) == 0) { return true; } return replace(newVersion, content, m, target); }
protected File getLocal(String bsn, Version version, Map<String,String> properties) { File dir = new File(root, bsn); if (LATEST_VERSION.equals(version)) { File fjar = new File(dir, bsn + LATEST_POSTFIX); if (fjar.isFile()) return fjar.getAbsoluteFile(); } File fjar = new File(dir, bsn + "-" + version.getWithoutQualifier() + ".jar"); if (fjar.isFile()) return fjar.getAbsoluteFile(); File sfjar = new File(dir, version.getWithoutQualifier() + ".jar"); if (sfjar.isFile()) return sfjar.getAbsoluteFile(); File flib = new File(dir, bsn + "-" + version.getWithoutQualifier() + ".lib"); if (flib.isFile()) return flib.getAbsoluteFile(); File sflib = new File(dir, version.getWithoutQualifier() + ".lib"); if (sflib.isFile()) return sflib.getAbsoluteFile(); return fjar.getAbsoluteFile(); }
public static Version valueOf(String version) { version = version.trim(); if (version.isEmpty()) { return LOWEST; } return new Version(version); }
@Description("Show all deliverables from this workspace. with their current version and path.") public void _deliverables(deliverableOptions options) throws Exception { Project project = getProject(options.project()); if (project == null) { messages.NoProject(); return; } Collection<Project> projects; if (options.limit()) projects = Arrays.asList(project); else projects = project.getWorkspace().getAllProjects(); List<Container> containers = new ArrayList<Container>(); for (Project p : projects) { containers.addAll(p.getDeliverables()); } for (Container c : containers) { Version v = new Version(c.getVersion()); err.printf("%-40s %8s %s\n", c.getBundleSymbolicName(), v.getWithoutQualifier(), c.getFile()); } getInfo(project); }
/** * "Major version zero (0.y.z) is for initial development. Anything may * change at any time. The public API should not be considered stable." * * @see <a href="https://semver.org/#spec-item-4">SemVer</a> */ private boolean mismatch(Version older, Version newer) { return older.getMajor() > 0 && newer.getMajor() > 0; }