diff --git a/source/dub/commandline.d b/source/dub/commandline.d index 37d5db2..6f6958b 100644 --- a/source/dub/commandline.d +++ b/source/dub/commandline.d @@ -2752,7 +2752,7 @@ } } recipe.buildSettings.dependencies[depname] = dep; - logInfo("Adding dependency %s %s", depname, dep.versionSpec); + logInfo("Adding dependency %s %s", depname, dep.toString()); return true; } diff --git a/source/dub/dependency.d b/source/dub/dependency.d index 2b24e3d..723c56a 100644 --- a/source/dub/dependency.d +++ b/source/dub/dependency.d @@ -179,17 +179,19 @@ (VersionRange v) => v, ); enforce(range.isExactVersion(), - "Dependency "~this.versionSpec~" is no exact version."); + "Dependency "~range.toString()~" is no exact version."); return range.m_versA; } /// Sets/gets the matching version range as a specification string. + deprecated("Create a new `Dependency` instead and provide a `VersionRange`") @property void versionSpec(string ves) @trusted { this.m_value = VersionRange.fromString(ves); } /// ditto + deprecated("Use `Dependency.visit` and match `VersionRange`instead") @property string versionSpec() const @safe { return this.m_value.match!( (const NativePath p) => ANY_IDENT, @@ -481,19 +483,19 @@ unittest { Dependency a = Dependency(">=1.1.0"), b = Dependency(">=1.3.0"); - assert (a.merge(b).valid() && a.merge(b).versionSpec == ">=1.3.0", a.merge(b).toString()); + assert (a.merge(b).valid() && a.merge(b).toString() == ">=1.3.0", a.merge(b).toString()); assertThrown(Dependency("<=2.0.0 >=1.0.0")); assertThrown(Dependency(">=2.0.0 <=1.0.0")); a = Dependency(">=1.0.0 <=5.0.0"); b = Dependency(">=2.0.0"); - assert (a.merge(b).valid() && a.merge(b).versionSpec == ">=2.0.0 <=5.0.0", a.merge(b).toString()); + assert (a.merge(b).valid() && a.merge(b).toString() == ">=2.0.0 <=5.0.0", a.merge(b).toString()); assertThrown(a = Dependency(">1.0.0 ==5.0.0"), "Construction is invalid"); a = Dependency(">1.0.0"); b = Dependency("<2.0.0"); assert (a.merge(b).valid(), a.merge(b).toString()); - assert (a.merge(b).versionSpec == ">1.0.0 <2.0.0", a.merge(b).toString()); + assert (a.merge(b).toString() == ">1.0.0 <2.0.0", a.merge(b).toString()); a = Dependency(">2.0.0"); b = Dependency("<1.0.0"); assert (!(a.merge(b)).valid(), a.merge(b).toString()); @@ -649,13 +651,13 @@ } unittest { - assert(Dependency("~>1.0.4").versionSpec == "~>1.0.4"); - assert(Dependency("~>1.4").versionSpec == "~>1.4"); - assert(Dependency("~>2").versionSpec == "~>2"); - assert(Dependency("~>1.0.4+1.2.3").versionSpec == "~>1.0.4"); - assert(Dependency("^0.1.2").versionSpec == "^0.1.2"); - assert(Dependency("^1.2.3").versionSpec == "^1.2.3"); - assert(Dependency("^1.2").versionSpec == "~>1.2"); // equivalent; prefer ~> + assert(VersionRange.fromString("~>1.0.4").toString() == "~>1.0.4"); + assert(VersionRange.fromString("~>1.4").toString() == "~>1.4"); + assert(VersionRange.fromString("~>2").toString() == "~>2"); + assert(VersionRange.fromString("~>1.0.4+1.2.3").toString() == "~>1.0.4"); + assert(VersionRange.fromString("^0.1.2").toString() == "^0.1.2"); + assert(VersionRange.fromString("^1.2.3").toString() == "^1.2.3"); + assert(VersionRange.fromString("^1.2").toString() == "~>1.2"); // equivalent; prefer ~> } /** diff --git a/source/dub/recipe/sdl.d b/source/dub/recipe/sdl.d index 08a2fdf..beb1b2d 100644 --- a/source/dub/recipe/sdl.d +++ b/source/dub/recipe/sdl.d @@ -554,7 +554,7 @@ assert(rec.buildSettings.dependencies["projectname:subpackage1"].optional == false); assert(rec.buildSettings.dependencies["projectname:subpackage1"].path == NativePath(".")); assert(rec.buildSettings.dependencyBuildSettings["projectname:subpackage1"].dflags == ["":["-g", "-debug"]]); - assert(rec.buildSettings.dependencies["somedep"].versionSpec == "1.0.0"); + assert(rec.buildSettings.dependencies["somedep"].version_.toString() == "1.0.0"); assert(rec.buildSettings.dependencies["somedep"].optional == true); assert(rec.buildSettings.dependencies["somedep"].path.empty); assert(rec.buildSettings.systemDependencies == "system dependencies"); @@ -671,7 +671,7 @@ parseSDL(rec, sdl, null, "testfile"); auto dependency = rec.buildSettings.dependencies["package"]; assert(!dependency.repository.empty); - assert(dependency.versionSpec == "12345678"); + assert(dependency.repository.ref_ == "12345678"); } unittest {