mirror of
https://github.com/ethauvin/bld.git
synced 2025-04-26 00:37:10 -07:00
Preserve the project's version as a semantic version number. Created two version of parsing version string, one falls back to generic version, the other returns VersionNumber.UNKNOWN when parsing fails like in previous bld versions.
This commit is contained in:
parent
fa0ac43828
commit
d605ac1242
17 changed files with 169 additions and 60 deletions
2
core
2
core
|
@ -1 +1 @@
|
||||||
Subproject commit bd78138d0e5ca6afd542b1d68ab706ae2b123807
|
Subproject commit 2cf670d576120309afd11f9f879a000e18ed6521
|
Binary file not shown.
|
@ -6,6 +6,7 @@ package rife;
|
||||||
|
|
||||||
import rife.bld.BuildCommand;
|
import rife.bld.BuildCommand;
|
||||||
import rife.bld.Cli;
|
import rife.bld.Cli;
|
||||||
|
import rife.bld.dependencies.VersionNumber;
|
||||||
import rife.bld.extension.ZipOperation;
|
import rife.bld.extension.ZipOperation;
|
||||||
import rife.bld.operations.*;
|
import rife.bld.operations.*;
|
||||||
import rife.bld.publish.*;
|
import rife.bld.publish.*;
|
||||||
|
@ -28,7 +29,7 @@ public class BldBuild extends AbstractRife2Build {
|
||||||
throws Exception {
|
throws Exception {
|
||||||
name = "bld";
|
name = "bld";
|
||||||
mainClass = "rife.bld.Cli";
|
mainClass = "rife.bld.Cli";
|
||||||
version = version(FileUtils.readString(new File(srcMainResourcesDirectory(), "BLD_VERSION")));
|
version = VersionNumber.parse(FileUtils.readString(new File(srcMainResourcesDirectory(), "BLD_VERSION")));
|
||||||
|
|
||||||
repositories = List.of(MAVEN_CENTRAL, RIFE2_RELEASES);
|
repositories = List.of(MAVEN_CENTRAL, RIFE2_RELEASES);
|
||||||
scope(test)
|
scope(test)
|
||||||
|
|
|
@ -52,7 +52,7 @@ public class BaseProject extends BuildExecutor {
|
||||||
* @see #version()
|
* @see #version()
|
||||||
* @since 1.5
|
* @since 1.5
|
||||||
*/
|
*/
|
||||||
protected Version version = null;
|
protected VersionNumber version = null;
|
||||||
/**
|
/**
|
||||||
* The project's main class.
|
* The project's main class.
|
||||||
*
|
*
|
||||||
|
@ -684,7 +684,7 @@ public class BaseProject extends BuildExecutor {
|
||||||
* @since 1.5
|
* @since 1.5
|
||||||
*/
|
*/
|
||||||
public Version version(String description) {
|
public Version version(String description) {
|
||||||
return VersionNumber.parse(description);
|
return Version.parse(description);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1198,7 +1198,7 @@ public class BaseProject extends BuildExecutor {
|
||||||
*
|
*
|
||||||
* @since 1.5
|
* @since 1.5
|
||||||
*/
|
*/
|
||||||
public Version version() {
|
public VersionNumber version() {
|
||||||
if (version == null) {
|
if (version == null) {
|
||||||
throw new IllegalStateException("The version variable has to be set.");
|
throw new IllegalStateException("The version variable has to be set.");
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,7 +80,7 @@ public record Dependency(String groupId, String artifactId, Version version, Str
|
||||||
|
|
||||||
var groupId = matcher.group("groupId");
|
var groupId = matcher.group("groupId");
|
||||||
var artifactId = matcher.group("artifactId");
|
var artifactId = matcher.group("artifactId");
|
||||||
var version = VersionNumber.parse(matcher.group("version"));
|
var version = Version.parse(matcher.group("version"));
|
||||||
var classifier = matcher.group("classifier");
|
var classifier = matcher.group("classifier");
|
||||||
var type = matcher.group("type");
|
var type = matcher.group("type");
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ public record PomDependency(String groupId, String artifactId, String version, S
|
||||||
return new Dependency(
|
return new Dependency(
|
||||||
groupId(),
|
groupId(),
|
||||||
artifactId(),
|
artifactId(),
|
||||||
VersionNumber.parse(version()),
|
Version.parse(version()),
|
||||||
classifier(),
|
classifier(),
|
||||||
type(),
|
type(),
|
||||||
exclusions(),
|
exclusions(),
|
||||||
|
|
|
@ -4,12 +4,42 @@
|
||||||
*/
|
*/
|
||||||
package rife.bld.dependencies;
|
package rife.bld.dependencies;
|
||||||
|
|
||||||
|
import static rife.bld.dependencies.VersionNumber.parseOrNull;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents the basic functionality of a dependency version.
|
* Represents the basic functionality of a dependency version.
|
||||||
*
|
*
|
||||||
* @since 2.0
|
* @since 2.0
|
||||||
*/
|
*/
|
||||||
public interface Version extends Comparable<Version> {
|
public interface Version extends Comparable<Version> {
|
||||||
|
/**
|
||||||
|
* Parses a version from a string representation.
|
||||||
|
* <p>
|
||||||
|
* If the string can't be successfully parsed as a semantic {@link VersionNumber},
|
||||||
|
* it will be parsed as a {@link VersionGeneric}.
|
||||||
|
*
|
||||||
|
* @param version the version string to parse
|
||||||
|
* @return the parsed version instance
|
||||||
|
* @since 2.0
|
||||||
|
*/
|
||||||
|
static Version parse(String version) {
|
||||||
|
if (version == null || version.isEmpty()) {
|
||||||
|
return VersionNumber.UNKNOWN;
|
||||||
|
}
|
||||||
|
|
||||||
|
var result = parseOrNull(version);
|
||||||
|
if (result != null) {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// bld doesn't support version ranges at this time
|
||||||
|
if (version.startsWith("[") || version.startsWith("(")) {
|
||||||
|
return VersionNumber.UNKNOWN;
|
||||||
|
}
|
||||||
|
|
||||||
|
return new VersionGeneric(version);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves the qualifier of the version.
|
* Retrieves the qualifier of the version.
|
||||||
*
|
*
|
||||||
|
|
|
@ -48,11 +48,9 @@ public class VersionGeneric implements Version {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns this instance tokenized representation as unmodifiable list.
|
* Visible for testing.
|
||||||
*
|
|
||||||
* @since 2.0
|
|
||||||
*/
|
*/
|
||||||
public List<Item> asItems() {
|
List<Item> asItems() {
|
||||||
return items_;
|
return items_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,7 +70,7 @@ public class VersionGeneric implements Version {
|
||||||
/**
|
/**
|
||||||
* Visible for testing.
|
* Visible for testing.
|
||||||
*/
|
*/
|
||||||
public static void trimPadding(List<Item> items) {
|
static void trimPadding(List<Item> items) {
|
||||||
Boolean number = null;
|
Boolean number = null;
|
||||||
var end = items.size() - 1;
|
var end = items.size() - 1;
|
||||||
for (var i = end; i > 0; i--) {
|
for (var i = end; i > 0; i--) {
|
||||||
|
|
|
@ -37,25 +37,35 @@ public record VersionNumber(Integer major, Integer minor, Integer revision, Stri
|
||||||
/**
|
/**
|
||||||
* Parses a version number from a string representation.
|
* Parses a version number from a string representation.
|
||||||
* <p>
|
* <p>
|
||||||
* If the string can't be successfully parsed, {@link VersionNumber#UNKNOWN} will be returned.
|
* If the string can't be successfully parsed as a semantic version,
|
||||||
|
* {@link VersionNumber#UNKNOWN} will be returned.
|
||||||
*
|
*
|
||||||
* @param version the version string to parse
|
* @param version the version string to parse
|
||||||
* @return a parsed instance of {@code VersionNumber}; or
|
* @return a parsed instance of {@code VersionNumber}; or
|
||||||
* {@link VersionNumber#UNKNOWN} when the string couldn't be parsed
|
* {@link VersionNumber#UNKNOWN} when the string couldn't be parsed
|
||||||
* @since 1.5
|
* @since 1.5
|
||||||
*/
|
*/
|
||||||
public static Version parse(String version) {
|
public static VersionNumber parse(String version) {
|
||||||
if (version == null || version.isEmpty()) {
|
if (version == null || version.isEmpty()) {
|
||||||
return UNKNOWN;
|
return UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var result = parseOrNull(version);
|
||||||
|
if (result == null) {
|
||||||
|
result = UNKNOWN;
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
static VersionNumber parseOrNull(String version) {
|
||||||
|
if (version == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
var matcher = VERSION_PATTERN.matcher(version);
|
var matcher = VERSION_PATTERN.matcher(version);
|
||||||
if (!matcher.matches()) {
|
if (!matcher.matches()) {
|
||||||
// bld doesn't support version ranges at this time
|
return null;
|
||||||
if (version.startsWith("[") || version.startsWith("(")) {
|
|
||||||
return UNKNOWN;
|
|
||||||
}
|
|
||||||
return new VersionGeneric(version);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var major = matcher.group("major");
|
var major = matcher.group("major");
|
||||||
|
|
|
@ -63,9 +63,9 @@ public class Xml2MavenMetadata extends Xml2Data implements MavenMetadata {
|
||||||
|
|
||||||
public void endElement(String uri, String localName, String qName) {
|
public void endElement(String uri, String localName, String qName) {
|
||||||
switch (qName) {
|
switch (qName) {
|
||||||
case "latest" -> latest_ = VersionNumber.parse(characterData_.toString());
|
case "latest" -> latest_ = Version.parse(characterData_.toString());
|
||||||
case "release" -> release_ = VersionNumber.parse(characterData_.toString());
|
case "release" -> release_ = Version.parse(characterData_.toString());
|
||||||
case "version" -> versions_.add(VersionNumber.parse(characterData_.toString()));
|
case "version" -> versions_.add(Version.parse(characterData_.toString()));
|
||||||
case "timestamp" -> snapshotTimestamp_ = characterData_.toString();
|
case "timestamp" -> snapshotTimestamp_ = characterData_.toString();
|
||||||
case "buildNumber" -> snapshotBuildNumber_ = Integer.parseInt(characterData_.toString());
|
case "buildNumber" -> snapshotBuildNumber_ = Integer.parseInt(characterData_.toString());
|
||||||
case "snapshot" -> isSnapshot_ = true;
|
case "snapshot" -> isSnapshot_ = true;
|
||||||
|
|
|
@ -197,7 +197,7 @@ class Xml2MavenPom extends Xml2Data {
|
||||||
switch (qName) {
|
switch (qName) {
|
||||||
case "parent" -> {
|
case "parent" -> {
|
||||||
if (isChildOfProject()) {
|
if (isChildOfProject()) {
|
||||||
var parent_dependency = new Dependency(resolveMavenProperties(lastGroupId_), resolveMavenProperties(lastArtifactId_), VersionNumber.parse(resolveMavenProperties(lastVersion_)));
|
var parent_dependency = new Dependency(resolveMavenProperties(lastGroupId_), resolveMavenProperties(lastArtifactId_), Version.parse(resolveMavenProperties(lastVersion_)));
|
||||||
var parent = new DependencyResolver(resolution_, retriever_, repositories_, parent_dependency).getMavenPom(parent_);
|
var parent = new DependencyResolver(resolution_, retriever_, repositories_, parent_dependency).getMavenPom(parent_);
|
||||||
|
|
||||||
parent.mavenProperties_.keySet().removeAll(mavenProperties_.keySet());
|
parent.mavenProperties_.keySet().removeAll(mavenProperties_.keySet());
|
||||||
|
@ -224,7 +224,7 @@ class Xml2MavenPom extends Xml2Data {
|
||||||
var dependency = new PomDependency(lastGroupId_, lastArtifactId_, lastVersion_, lastClassifier_, lastType_, lastScope_, lastOptional_, exclusions_, parent_);
|
var dependency = new PomDependency(lastGroupId_, lastArtifactId_, lastVersion_, lastClassifier_, lastType_, lastScope_, lastOptional_, exclusions_, parent_);
|
||||||
if (collectDependencyManagement_) {
|
if (collectDependencyManagement_) {
|
||||||
if (dependency.isPomImport()) {
|
if (dependency.isPomImport()) {
|
||||||
var import_dependency = new Dependency(resolveMavenProperties(lastGroupId_), resolveMavenProperties(lastArtifactId_), VersionNumber.parse(resolveMavenProperties(lastVersion_)));
|
var import_dependency = new Dependency(resolveMavenProperties(lastGroupId_), resolveMavenProperties(lastArtifactId_), Version.parse(resolveMavenProperties(lastVersion_)));
|
||||||
var imported_pom = new DependencyResolver(resolution_, retriever_, repositories_, import_dependency).getMavenPom(parent_);
|
var imported_pom = new DependencyResolver(resolution_, retriever_, repositories_, import_dependency).getMavenPom(parent_);
|
||||||
imported_pom.dependencyManagement_.keySet().removeAll(dependencyManagement_.keySet());
|
imported_pom.dependencyManagement_.keySet().removeAll(dependencyManagement_.keySet());
|
||||||
var resolved_dependencies = new LinkedHashSet<PomDependency>();
|
var resolved_dependencies = new LinkedHashSet<PomDependency>();
|
||||||
|
|
|
@ -45,16 +45,16 @@ public class TestDependencySet {
|
||||||
@Test
|
@Test
|
||||||
void testAddAll() {
|
void testAddAll() {
|
||||||
var set1 = new DependencySet()
|
var set1 = new DependencySet()
|
||||||
.include(new Dependency("org.eclipse.jetty", "jetty-server", VersionNumber.parse("11.0.14")))
|
.include(new Dependency("org.eclipse.jetty", "jetty-server", Version.parse("11.0.14")))
|
||||||
.include(new Dependency("org.eclipse.jetty.toolchain", "jetty-jakarta-servlet-api", VersionNumber.parse("5.0.2")))
|
.include(new Dependency("org.eclipse.jetty.toolchain", "jetty-jakarta-servlet-api", Version.parse("5.0.2")))
|
||||||
.include(new Dependency("org.eclipse.jetty", "jetty-http", VersionNumber.parse("11.0.14")))
|
.include(new Dependency("org.eclipse.jetty", "jetty-http", Version.parse("11.0.14")))
|
||||||
.include(new Dependency("org.eclipse.jetty", "jetty-io", VersionNumber.parse("11.0.14")))
|
.include(new Dependency("org.eclipse.jetty", "jetty-io", Version.parse("11.0.14")))
|
||||||
.include(new Dependency("org.eclipse.jetty", "jetty-util", VersionNumber.parse("11.0.14")))
|
.include(new Dependency("org.eclipse.jetty", "jetty-util", Version.parse("11.0.14")))
|
||||||
.include(new Dependency("org.slf4j", "slf4j-api", VersionNumber.parse("2.0.5")));
|
.include(new Dependency("org.slf4j", "slf4j-api", Version.parse("2.0.5")));
|
||||||
|
|
||||||
var set2 = new DependencySet()
|
var set2 = new DependencySet()
|
||||||
.include(new Dependency("org.slf4j", "slf4j-simple", VersionNumber.parse("2.0.6")))
|
.include(new Dependency("org.slf4j", "slf4j-simple", Version.parse("2.0.6")))
|
||||||
.include(new Dependency("org.slf4j", "slf4j-api", VersionNumber.parse("2.0.6")));
|
.include(new Dependency("org.slf4j", "slf4j-api", Version.parse("2.0.6")));
|
||||||
|
|
||||||
var set_union1 = new DependencySet(set1);
|
var set_union1 = new DependencySet(set1);
|
||||||
set_union1.addAll(set2);
|
set_union1.addAll(set2);
|
||||||
|
|
73
src/test/java/rife/bld/dependencies/TestVersion.java
Normal file
73
src/test/java/rife/bld/dependencies/TestVersion.java
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2001-2023 Geert Bevin (gbevin[remove] at uwyn dot com)
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License")
|
||||||
|
*/
|
||||||
|
package rife.bld.dependencies;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
public class TestVersion {
|
||||||
|
@Test
|
||||||
|
void testParsing() {
|
||||||
|
assertEquals(Version.parse("1"), new VersionNumber(1, 0, 0, null));
|
||||||
|
assertEquals(Version.parse("1.0"), new VersionNumber(1, 0, 0, null));
|
||||||
|
assertEquals(Version.parse("1.0.0"), new VersionNumber(1, 0, 0, null));
|
||||||
|
|
||||||
|
assertEquals(Version.parse("1.2"), new VersionNumber(1, 2, 0, null));
|
||||||
|
assertEquals(Version.parse("1.2.3"), new VersionNumber(1, 2, 3, null));
|
||||||
|
|
||||||
|
assertEquals(Version.parse("1-rc1-SNAPSHOT"), new VersionNumber(1, 0, 0, "rc1-SNAPSHOT"));
|
||||||
|
assertEquals(Version.parse("1.2-rc1-SNAPSHOT"), new VersionNumber(1, 2, 0, "rc1-SNAPSHOT"));
|
||||||
|
assertEquals(Version.parse("1.2.3-rc1-SNAPSHOT"), new VersionNumber(1, 2, 3, "rc1-SNAPSHOT"));
|
||||||
|
|
||||||
|
assertEquals(Version.parse("11.22"), new VersionNumber(11, 22, 0, null));
|
||||||
|
assertEquals(Version.parse("11.22.33"), new VersionNumber(11, 22, 33, null));
|
||||||
|
assertEquals(Version.parse("11.22.33-eap"), new VersionNumber(11, 22, 33, "eap"));
|
||||||
|
|
||||||
|
assertEquals(Version.parse("11.fortyfour"), new VersionNumber(11, 0, 0, "fortyfour"));
|
||||||
|
|
||||||
|
assertEquals(Version.parse("1.0.0.0"), new VersionNumber(1, 0, 0, "0"));
|
||||||
|
assertEquals(Version.parse("1.0.0.0.0.0.0"), new VersionNumber(1, 0, 0, "0.0.0.0"));
|
||||||
|
assertEquals(Version.parse("1.2.3.4-rc1-SNAPSHOT"), new VersionNumber(1, 2, 3, "4-rc1-SNAPSHOT"));
|
||||||
|
assertEquals(Version.parse("1.2.3.4.rc1-SNAPSHOT"), new VersionNumber(1, 2, 3, "4.rc1-SNAPSHOT"));
|
||||||
|
|
||||||
|
assertEquals(Version.parse("1.2.3_4"), new VersionNumber(1, 2, 0, "3_4"));
|
||||||
|
assertEquals(Version.parse("1.54b"), new VersionNumber(1, 0, 0, "54b"));
|
||||||
|
|
||||||
|
assertEquals(Version.parse("2024-02"), new VersionNumber(2024, null, null, "02"));
|
||||||
|
assertEquals(Version.parse("2.0-05"), new VersionNumber(2, 0, null, "05"));
|
||||||
|
assertEquals(Version.parse("2024.02"), new VersionNumber(2024, null, null, "02", "."));
|
||||||
|
assertEquals(Version.parse("2.0.05"), new VersionNumber(2, 0, null, "05", "."));
|
||||||
|
|
||||||
|
assertEquals(Version.parse("v3-rev20240514-2.0.0"), new VersionGeneric("v3-rev20240514-2.0.0"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testInvalidParsed() {
|
||||||
|
assertEquals(Version.parse(null), VersionNumber.UNKNOWN);
|
||||||
|
assertEquals(Version.parse(""), VersionNumber.UNKNOWN);
|
||||||
|
assertEquals(Version.parse("foo"), new VersionGeneric("foo"));
|
||||||
|
assertEquals(Version.parse("1."), new VersionGeneric("1."));
|
||||||
|
assertEquals(Version.parse("1.2.3-"), new VersionGeneric("1.2.3-"));
|
||||||
|
assertEquals(Version.parse("."), new VersionGeneric("."));
|
||||||
|
assertEquals(Version.parse("_"), new VersionGeneric("_"));
|
||||||
|
assertEquals(Version.parse("-"), new VersionGeneric("-"));
|
||||||
|
assertEquals(Version.parse(".1"), new VersionGeneric(".1"));
|
||||||
|
assertEquals(Version.parse("a.1"), new VersionGeneric("a.1"));
|
||||||
|
assertEquals(Version.parse("1_2"), new VersionGeneric("1_2"));
|
||||||
|
assertEquals(Version.parse("1_2_2"), new VersionGeneric("1_2_2"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testStringRepresentation() {
|
||||||
|
assertEquals(Version.parse("1.0").toString(), "1.0");
|
||||||
|
assertEquals(Version.parse("1.2.3").toString(), "1.2.3");
|
||||||
|
assertEquals(Version.parse("1.2.3-4").toString(), "1.2.3-4");
|
||||||
|
assertEquals(Version.parse("1.2.3.4").toString(), "1.2.3.4");
|
||||||
|
assertEquals(Version.parse("1-rc-1").toString(), "1-rc-1");
|
||||||
|
assertEquals(Version.parse("1.2.3-rc-1").toString(), "1.2.3-rc-1");
|
||||||
|
assertEquals(Version.parse("1.2.3.rc-1").toString(), "1.2.3.rc-1");
|
||||||
|
}
|
||||||
|
}
|
|
@ -70,16 +70,16 @@ public class TestVersionNumber {
|
||||||
void testInvalidParsed() {
|
void testInvalidParsed() {
|
||||||
assertEquals(VersionNumber.parse(null), VersionNumber.UNKNOWN);
|
assertEquals(VersionNumber.parse(null), VersionNumber.UNKNOWN);
|
||||||
assertEquals(VersionNumber.parse(""), VersionNumber.UNKNOWN);
|
assertEquals(VersionNumber.parse(""), VersionNumber.UNKNOWN);
|
||||||
assertEquals(VersionNumber.parse("foo"), new VersionGeneric("foo"));
|
assertEquals(VersionNumber.parse("foo"), VersionNumber.UNKNOWN);
|
||||||
assertEquals(VersionNumber.parse("1."), new VersionGeneric("1."));
|
assertEquals(VersionNumber.parse("1."), VersionNumber.UNKNOWN);
|
||||||
assertEquals(VersionNumber.parse("1.2.3-"), new VersionGeneric("1.2.3-"));
|
assertEquals(VersionNumber.parse("1.2.3-"), VersionNumber.UNKNOWN);
|
||||||
assertEquals(VersionNumber.parse("."), new VersionGeneric("."));
|
assertEquals(VersionNumber.parse("."), VersionNumber.UNKNOWN);
|
||||||
assertEquals(VersionNumber.parse("_"), new VersionGeneric("_"));
|
assertEquals(VersionNumber.parse("_"), VersionNumber.UNKNOWN);
|
||||||
assertEquals(VersionNumber.parse("-"), new VersionGeneric("-"));
|
assertEquals(VersionNumber.parse("-"), VersionNumber.UNKNOWN);
|
||||||
assertEquals(VersionNumber.parse(".1"), new VersionGeneric(".1"));
|
assertEquals(VersionNumber.parse(".1"), VersionNumber.UNKNOWN);
|
||||||
assertEquals(VersionNumber.parse("a.1"), new VersionGeneric("a.1"));
|
assertEquals(VersionNumber.parse("a.1"), VersionNumber.UNKNOWN);
|
||||||
assertEquals(VersionNumber.parse("1_2"), new VersionGeneric("1_2"));
|
assertEquals(VersionNumber.parse("1_2"), VersionNumber.UNKNOWN);
|
||||||
assertEquals(VersionNumber.parse("1_2_2"), new VersionGeneric("1_2_2"));
|
assertEquals(VersionNumber.parse("1_2_2"), VersionNumber.UNKNOWN);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
@ -150,13 +150,13 @@ public class TestDependencyTreeOperation {
|
||||||
.include(new Dependency("org.eclipse.jetty", "jetty-servlet", new VersionNumber(11,0,15)).exclude("*", "jetty-jakarta-servlet-api"))
|
.include(new Dependency("org.eclipse.jetty", "jetty-servlet", new VersionNumber(11,0,15)).exclude("*", "jetty-jakarta-servlet-api"))
|
||||||
.include(new Dependency("org.apache.tomcat.embed", "tomcat-embed-core", new VersionNumber(10,1,12)))
|
.include(new Dependency("org.apache.tomcat.embed", "tomcat-embed-core", new VersionNumber(10,1,12)))
|
||||||
.include(new Dependency("org.apache.tomcat.embed", "tomcat-embed-jasper", new VersionNumber(10,1,12)))
|
.include(new Dependency("org.apache.tomcat.embed", "tomcat-embed-jasper", new VersionNumber(10,1,12)))
|
||||||
.include(new Dependency("net.imagej", "ij", VersionNumber.parse("1.54d")));
|
.include(new Dependency("net.imagej", "ij", Version.parse("1.54d")));
|
||||||
operation.dependencies().scope(Scope.test)
|
operation.dependencies().scope(Scope.test)
|
||||||
.include(new Dependency("org.jsoup", "jsoup", new VersionNumber(1,16,1)))
|
.include(new Dependency("org.jsoup", "jsoup", new VersionNumber(1,16,1)))
|
||||||
.include(new Dependency("jakarta.servlet", "jakarta.servlet-api", new VersionNumber(5,0,0)))
|
.include(new Dependency("jakarta.servlet", "jakarta.servlet-api", new VersionNumber(5,0,0)))
|
||||||
.include(new Dependency("org.eclipse.jetty", "jetty-server", new VersionNumber(11,0,15)).exclude("*", "jetty-jakarta-servlet-api"))
|
.include(new Dependency("org.eclipse.jetty", "jetty-server", new VersionNumber(11,0,15)).exclude("*", "jetty-jakarta-servlet-api"))
|
||||||
.include(new Dependency("org.eclipse.jetty", "jetty-servlet", new VersionNumber(11,0,15)).exclude("*", "jetty-jakarta-servlet-api"))
|
.include(new Dependency("org.eclipse.jetty", "jetty-servlet", new VersionNumber(11,0,15)).exclude("*", "jetty-jakarta-servlet-api"))
|
||||||
.include(new Dependency("net.imagej", "ij", VersionNumber.parse("1.54d")));
|
.include(new Dependency("net.imagej", "ij", Version.parse("1.54d")));
|
||||||
|
|
||||||
operation.execute();
|
operation.execute();
|
||||||
|
|
||||||
|
@ -306,13 +306,13 @@ public class TestDependencyTreeOperation {
|
||||||
.include(new Dependency("org.eclipse.jetty", "jetty-servlet", new VersionNumber(11,0,15)).exclude("*", "jetty-jakarta-servlet-api"))
|
.include(new Dependency("org.eclipse.jetty", "jetty-servlet", new VersionNumber(11,0,15)).exclude("*", "jetty-jakarta-servlet-api"))
|
||||||
.include(new Dependency("org.apache.tomcat.embed", "tomcat-embed-core", new VersionNumber(10,1,12)))
|
.include(new Dependency("org.apache.tomcat.embed", "tomcat-embed-core", new VersionNumber(10,1,12)))
|
||||||
.include(new Dependency("org.apache.tomcat.embed", "tomcat-embed-jasper", new VersionNumber(10,1,12)))
|
.include(new Dependency("org.apache.tomcat.embed", "tomcat-embed-jasper", new VersionNumber(10,1,12)))
|
||||||
.include(new Dependency("net.imagej", "ij", VersionNumber.parse("1.54d")));
|
.include(new Dependency("net.imagej", "ij", Version.parse("1.54d")));
|
||||||
project.dependencies().scope(Scope.test)
|
project.dependencies().scope(Scope.test)
|
||||||
.include(new Dependency("org.jsoup", "jsoup", new VersionNumber(1,16,1)))
|
.include(new Dependency("org.jsoup", "jsoup", new VersionNumber(1,16,1)))
|
||||||
.include(new Dependency("jakarta.servlet", "jakarta.servlet-api", new VersionNumber(5,0,0)))
|
.include(new Dependency("jakarta.servlet", "jakarta.servlet-api", new VersionNumber(5,0,0)))
|
||||||
.include(new Dependency("org.eclipse.jetty", "jetty-server", new VersionNumber(11,0,15)).exclude("*", "jetty-jakarta-servlet-api"))
|
.include(new Dependency("org.eclipse.jetty", "jetty-server", new VersionNumber(11,0,15)).exclude("*", "jetty-jakarta-servlet-api"))
|
||||||
.include(new Dependency("org.eclipse.jetty", "jetty-servlet", new VersionNumber(11,0,15)).exclude("*", "jetty-jakarta-servlet-api"))
|
.include(new Dependency("org.eclipse.jetty", "jetty-servlet", new VersionNumber(11,0,15)).exclude("*", "jetty-jakarta-servlet-api"))
|
||||||
.include(new Dependency("net.imagej", "ij", VersionNumber.parse("1.54d")));
|
.include(new Dependency("net.imagej", "ij", Version.parse("1.54d")));
|
||||||
|
|
||||||
var operation = new DependencyTreeOperation()
|
var operation = new DependencyTreeOperation()
|
||||||
.fromProject(project);
|
.fromProject(project);
|
||||||
|
@ -405,13 +405,13 @@ public class TestDependencyTreeOperation {
|
||||||
.include(new Dependency("org.eclipse.jetty", "jetty-servlet", new VersionNumber(11,0,15)).exclude("*", "jetty-jakarta-servlet-api"))
|
.include(new Dependency("org.eclipse.jetty", "jetty-servlet", new VersionNumber(11,0,15)).exclude("*", "jetty-jakarta-servlet-api"))
|
||||||
.include(new Dependency("org.apache.tomcat.embed", "tomcat-embed-core", new VersionNumber(10,1,12)))
|
.include(new Dependency("org.apache.tomcat.embed", "tomcat-embed-core", new VersionNumber(10,1,12)))
|
||||||
.include(new Dependency("org.apache.tomcat.embed", "tomcat-embed-jasper", new VersionNumber(10,1,12)))
|
.include(new Dependency("org.apache.tomcat.embed", "tomcat-embed-jasper", new VersionNumber(10,1,12)))
|
||||||
.include(new Dependency("net.imagej", "ij", VersionNumber.parse("1.54d")));
|
.include(new Dependency("net.imagej", "ij", Version.parse("1.54d")));
|
||||||
project.dependencies().scope(Scope.test)
|
project.dependencies().scope(Scope.test)
|
||||||
.include(new Dependency("org.jsoup", "jsoup", new VersionNumber(1,16,1)))
|
.include(new Dependency("org.jsoup", "jsoup", new VersionNumber(1,16,1)))
|
||||||
.include(new Dependency("jakarta.servlet", "jakarta.servlet-api", new VersionNumber(5,0,0)))
|
.include(new Dependency("jakarta.servlet", "jakarta.servlet-api", new VersionNumber(5,0,0)))
|
||||||
.include(new Dependency("org.eclipse.jetty", "jetty-server", new VersionNumber(11,0,15)).exclude("*", "jetty-jakarta-servlet-api"))
|
.include(new Dependency("org.eclipse.jetty", "jetty-server", new VersionNumber(11,0,15)).exclude("*", "jetty-jakarta-servlet-api"))
|
||||||
.include(new Dependency("org.eclipse.jetty", "jetty-servlet", new VersionNumber(11,0,15)).exclude("*", "jetty-jakarta-servlet-api"))
|
.include(new Dependency("org.eclipse.jetty", "jetty-servlet", new VersionNumber(11,0,15)).exclude("*", "jetty-jakarta-servlet-api"))
|
||||||
.include(new Dependency("net.imagej", "ij", VersionNumber.parse("1.54d")));
|
.include(new Dependency("net.imagej", "ij", Version.parse("1.54d")));
|
||||||
|
|
||||||
var operation = new DependencyTreeOperation()
|
var operation = new DependencyTreeOperation()
|
||||||
.fromProject(project);
|
.fromProject(project);
|
||||||
|
|
|
@ -41,7 +41,7 @@ public class TestMetadataBuilder {
|
||||||
.info(new PublishInfo()
|
.info(new PublishInfo()
|
||||||
.groupId("com.example")
|
.groupId("com.example")
|
||||||
.artifactId("myapp")
|
.artifactId("myapp")
|
||||||
.version(VersionNumber.parse("1.2.3-SNAPSHOT")));
|
.version(Version.parse("1.2.3-SNAPSHOT")));
|
||||||
assertEquals("""
|
assertEquals("""
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<metadata modelVersion="1.1.0">
|
<metadata modelVersion="1.1.0">
|
||||||
|
@ -100,7 +100,7 @@ public class TestMetadataBuilder {
|
||||||
.info(new PublishInfo()
|
.info(new PublishInfo()
|
||||||
.groupId("com.example")
|
.groupId("com.example")
|
||||||
.artifactId("myapp")
|
.artifactId("myapp")
|
||||||
.version(VersionNumber.parse("1.2.3-SNAPSHOT")))
|
.version(Version.parse("1.2.3-SNAPSHOT")))
|
||||||
.otherVersions(List.of(new VersionNumber(6,0,1), new VersionNumber(3,0,2), new VersionNumber(1,0,3), new VersionNumber(3,0,2)))
|
.otherVersions(List.of(new VersionNumber(6,0,1), new VersionNumber(3,0,2), new VersionNumber(1,0,3), new VersionNumber(3,0,2)))
|
||||||
.updated(ZonedDateTime.of(2023, 3, 27, 8, 56, 17, 123, ZoneId.of("America/New_York")));
|
.updated(ZonedDateTime.of(2023, 3, 27, 8, 56, 17, 123, ZoneId.of("America/New_York")));
|
||||||
assertEquals("""
|
assertEquals("""
|
||||||
|
@ -129,7 +129,7 @@ public class TestMetadataBuilder {
|
||||||
.info(new PublishInfo()
|
.info(new PublishInfo()
|
||||||
.groupId("com.example")
|
.groupId("com.example")
|
||||||
.artifactId("myapp")
|
.artifactId("myapp")
|
||||||
.version(VersionNumber.parse("1.2.3-SNAPSHOT")))
|
.version(Version.parse("1.2.3-SNAPSHOT")))
|
||||||
.snapshot(ZonedDateTime.of(2023, 3, 27, 8, 56, 17, 123, ZoneId.of("America/New_York")), 5);
|
.snapshot(ZonedDateTime.of(2023, 3, 27, 8, 56, 17, 123, ZoneId.of("America/New_York")), 5);
|
||||||
assertEquals("""
|
assertEquals("""
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
@ -156,7 +156,7 @@ public class TestMetadataBuilder {
|
||||||
.info(new PublishInfo()
|
.info(new PublishInfo()
|
||||||
.groupId("com.example")
|
.groupId("com.example")
|
||||||
.artifactId("myapp")
|
.artifactId("myapp")
|
||||||
.version(VersionNumber.parse("1.2.3-SNAPSHOT")))
|
.version(Version.parse("1.2.3-SNAPSHOT")))
|
||||||
.snapshot(moment, 5)
|
.snapshot(moment, 5)
|
||||||
.snapshotVersions(List.of(
|
.snapshotVersions(List.of(
|
||||||
new SnapshotVersion("classifier1", "ext1", "123", moment2),
|
new SnapshotVersion("classifier1", "ext1", "123", moment2),
|
||||||
|
@ -207,7 +207,7 @@ public class TestMetadataBuilder {
|
||||||
.info(new PublishInfo()
|
.info(new PublishInfo()
|
||||||
.groupId("com.example")
|
.groupId("com.example")
|
||||||
.artifactId("myapp")
|
.artifactId("myapp")
|
||||||
.version(VersionNumber.parse("1.2.3-SNAPSHOT")))
|
.version(Version.parse("1.2.3-SNAPSHOT")))
|
||||||
.snapshotLocal()
|
.snapshotLocal()
|
||||||
.snapshotVersions(List.of(
|
.snapshotVersions(List.of(
|
||||||
new SnapshotVersion("classifier1", "ext1", "123", moment2),
|
new SnapshotVersion("classifier1", "ext1", "123", moment2),
|
||||||
|
|
|
@ -5,10 +5,7 @@
|
||||||
package rife.bld.publish;
|
package rife.bld.publish;
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import rife.bld.dependencies.Dependency;
|
import rife.bld.dependencies.*;
|
||||||
import rife.bld.dependencies.DependencyScopes;
|
|
||||||
import rife.bld.dependencies.Scope;
|
|
||||||
import rife.bld.dependencies.VersionNumber;
|
|
||||||
import rife.tools.StringUtils;
|
import rife.tools.StringUtils;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
@ -50,7 +47,7 @@ public class TestPomBuilder {
|
||||||
.info(new PublishInfo()
|
.info(new PublishInfo()
|
||||||
.groupId("com.example")
|
.groupId("com.example")
|
||||||
.artifactId("myapp")
|
.artifactId("myapp")
|
||||||
.version(VersionNumber.parse("1.2.3-SNAPSHOT"))
|
.version(Version.parse("1.2.3-SNAPSHOT"))
|
||||||
.name("the thing")
|
.name("the thing")
|
||||||
.description("the thing but longer")
|
.description("the thing but longer")
|
||||||
.url("https://the.thing"));
|
.url("https://the.thing"));
|
||||||
|
@ -227,7 +224,7 @@ public class TestPomBuilder {
|
||||||
.info(new PublishInfo()
|
.info(new PublishInfo()
|
||||||
.groupId("com.example")
|
.groupId("com.example")
|
||||||
.artifactId("myapp")
|
.artifactId("myapp")
|
||||||
.version(VersionNumber.parse("1.2.3-SNAPSHOT"))
|
.version(Version.parse("1.2.3-SNAPSHOT"))
|
||||||
.name("the thing")
|
.name("the thing")
|
||||||
.description("the thing but longer")
|
.description("the thing but longer")
|
||||||
.url("https://the.thing")
|
.url("https://the.thing")
|
||||||
|
@ -533,7 +530,7 @@ public class TestPomBuilder {
|
||||||
.info(new PublishInfo()
|
.info(new PublishInfo()
|
||||||
.groupId("com.example")
|
.groupId("com.example")
|
||||||
.artifactId("myapp")
|
.artifactId("myapp")
|
||||||
.version(VersionNumber.parse("1.2.3-SNAPSHOT"))
|
.version(Version.parse("1.2.3-SNAPSHOT"))
|
||||||
.name("the thing")
|
.name("the thing")
|
||||||
.description("the thing but longer")
|
.description("the thing but longer")
|
||||||
.url("https://the.thing")
|
.url("https://the.thing")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue