From fc1711abce69c7bea14a865bce7e543592d23143 Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Mon, 3 Jun 2024 12:06:46 +0200 Subject: [PATCH 01/27] Remove deprecated override system The override system has been deprecated since v1.30.0 (52e3f861e49669d778f4014238990a1a75357c08). It has now been 10 releases, and following the standard Dlang policy, we are clear to remove it. --- changelog/removed_overrides.dd | 9 ++ source/dub/commandline.d | 122 +-------------- source/dub/packagemanager.d | 268 ++------------------------------- 3 files changed, 19 insertions(+), 380 deletions(-) create mode 100644 changelog/removed_overrides.dd diff --git a/changelog/removed_overrides.dd b/changelog/removed_overrides.dd new file mode 100644 index 0000000000..c36a6415e2 --- /dev/null +++ b/changelog/removed_overrides.dd @@ -0,0 +1,9 @@ +The override system has been removed + +The override system was deprecated in v1.30.0 as it was neither +widely used nor generally useful given Dub's available feature set. +With this release, it is now completely removed. + +This means that the commands `add-override`, `remove-override`, +`list-override`, and the interaction with `local-overrides.json` +have been removed, along with all the associated APIs. diff --git a/source/dub/commandline.d b/source/dub/commandline.d index 794bddcd8c..d2a126ae08 100644 --- a/source/dub/commandline.d +++ b/source/dub/commandline.d @@ -67,9 +67,6 @@ CommandGroup[] getCommands() @safe pure nothrow new RemoveLocalCommand, new ListCommand, new SearchCommand, - new AddOverrideCommand, - new RemoveOverrideCommand, - new ListOverridesCommand, new CleanCachesCommand, new ConvertCommand, ) @@ -272,7 +269,7 @@ unittest { assert(handler.commandNames == ["init", "run", "build", "test", "lint", "generate", "describe", "clean", "dustmite", "fetch", "add", "remove", "upgrade", "add-path", "remove-path", "add-local", "remove-local", "list", "search", - "add-override", "remove-override", "list-overrides", "clean-caches", "convert"]); + "clean-caches", "convert"]); } /// It sets the cwd as root_path by default @@ -2561,123 +2558,6 @@ class SearchCommand : Command { } } - -/******************************************************************************/ -/* OVERRIDES */ -/******************************************************************************/ - -class AddOverrideCommand : Command { - private { - bool m_system = false; - } - - static immutable string DeprecationMessage = - "This command is deprecated. Use path based dependency, custom cache path, " ~ - "or edit `dub.selections.json` to achieve the same results."; - - - this() @safe pure nothrow - { - this.name = "add-override"; - this.argumentsPattern = " "; - this.description = "Adds a new package override."; - - this.hidden = true; - this.helpText = [ DeprecationMessage ]; - } - - override void prepare(scope CommandArgs args) - { - args.getopt("system", &m_system, [ - "Register system-wide instead of user-wide" - ]); - } - - override int execute(Dub dub, string[] free_args, string[] app_args) - { - logWarn(DeprecationMessage); - enforceUsage(app_args.length == 0, "Unexpected application arguments."); - enforceUsage(free_args.length == 3, "Expected three arguments, not "~free_args.length.to!string); - auto scope_ = m_system ? PlacementLocation.system : PlacementLocation.user; - auto pack = free_args[0]; - auto source = VersionRange.fromString(free_args[1]); - if (existsFile(NativePath(free_args[2]))) { - auto target = NativePath(free_args[2]); - if (!target.absolute) target = getWorkingDirectory() ~ target; - dub.packageManager.addOverride_(scope_, pack, source, target); - logInfo("Added override %s %s => %s", pack, source, target); - } else { - auto target = Version(free_args[2]); - dub.packageManager.addOverride_(scope_, pack, source, target); - logInfo("Added override %s %s => %s", pack, source, target); - } - return 0; - } -} - -class RemoveOverrideCommand : Command { - private { - bool m_system = false; - } - - this() @safe pure nothrow - { - this.name = "remove-override"; - this.argumentsPattern = " "; - this.description = "Removes an existing package override."; - - this.hidden = true; - this.helpText = [ AddOverrideCommand.DeprecationMessage ]; - } - - override void prepare(scope CommandArgs args) - { - args.getopt("system", &m_system, [ - "Register system-wide instead of user-wide" - ]); - } - - override int execute(Dub dub, string[] free_args, string[] app_args) - { - logWarn(AddOverrideCommand.DeprecationMessage); - enforceUsage(app_args.length == 0, "Unexpected application arguments."); - enforceUsage(free_args.length == 2, "Expected two arguments, not "~free_args.length.to!string); - auto scope_ = m_system ? PlacementLocation.system : PlacementLocation.user; - auto source = VersionRange.fromString(free_args[1]); - dub.packageManager.removeOverride_(scope_, free_args[0], source); - return 0; - } -} - -class ListOverridesCommand : Command { - this() @safe pure nothrow - { - this.name = "list-overrides"; - this.argumentsPattern = ""; - this.description = "Prints a list of all local package overrides"; - - this.hidden = true; - this.helpText = [ AddOverrideCommand.DeprecationMessage ]; - } - override void prepare(scope CommandArgs args) {} - override int execute(Dub dub, string[] free_args, string[] app_args) - { - logWarn(AddOverrideCommand.DeprecationMessage); - - void printList(in PackageOverride_[] overrides, string caption) - { - if (overrides.length == 0) return; - logInfoNoTag("# %s", caption); - foreach (ovr; overrides) - ovr.target.match!( - t => logInfoNoTag("%s %s => %s", ovr.package_.color(Mode.bold), ovr.source, t)); - } - printList(dub.packageManager.getOverrides_(PlacementLocation.user), "User wide overrides"); - printList(dub.packageManager.getOverrides_(PlacementLocation.system), "System wide overrides"); - return 0; - } -} - /******************************************************************************/ /* Cache cleanup */ /******************************************************************************/ diff --git a/source/dub/packagemanager.d b/source/dub/packagemanager.d index e3b9ff48c8..9485679a7f 100644 --- a/source/dub/packagemanager.d +++ b/source/dub/packagemanager.d @@ -187,11 +187,8 @@ class PackageManager { * first scan all the available locations (as `refresh` does). * * Note: - * This function does not take overrides into account. Overrides need - * to be resolved by the caller before `lookup` is called. - * Additionally, if a package of the same version is loaded in multiple - * locations, the first one matching (local > user > system) - * will be returned. + * If a package of the same version is loaded in multiple locations, + * the first one matching (local > user > system) will be returned. * * Params: * name = The full name of the package to look up @@ -227,47 +224,26 @@ class PackageManager { ver = The exact version of the package to query path = An exact path that the package must reside in. Note that the package must still be registered in the package manager. - enable_overrides = Apply the local package override list before - returning a package (enabled by default) Returns: The matching package or null if no match was found. */ - Package getPackage(in PackageName name, in Version ver, bool enable_overrides = true) - { - if (enable_overrides) { - foreach (ref repo; m_repositories) - foreach (ovr; repo.overrides) - if (ovr.package_ == name.toString() && ovr.source.matches(ver)) { - Package pack = ovr.target.match!( - (NativePath path) => getOrLoadPackage(path), - (Version vers) => getPackage(name, vers, false), - ); - if (pack) return pack; - - ovr.target.match!( - (any) { - logWarn("Package override %s %s -> '%s' doesn't reference an existing package.", - ovr.package_, ovr.source, any); - }, - ); - } - } - + Package getPackage(in PackageName name, in Version ver) + { return this.lookup(name, ver); } deprecated("Use the overload that accepts a `PackageName` instead") Package getPackage(string name, Version ver, bool enable_overrides = true) { - return this.getPackage(PackageName(name), ver, enable_overrides); + return this.getPackage(PackageName(name), ver); } /// ditto deprecated("Use the overload that accepts a `Version` as second argument") Package getPackage(string name, string ver, bool enable_overrides = true) { - return getPackage(name, Version(ver), enable_overrides); + return getPackage(name, Version(ver)); } /// ditto @@ -577,12 +553,11 @@ class PackageManager { deprecated("`getBestPackage` should only be used with a `Version` or `VersionRange` argument") Package getBestPackage(string name, Dependency version_spec, bool enable_overrides = true) { - return this.getBestPackage_(PackageName(name), version_spec, enable_overrides); + return this.getBestPackage_(PackageName(name), version_spec); } // TODO: Merge this into `getBestPackage(string, VersionRange)` - private Package getBestPackage_(in PackageName name, in Dependency version_spec, - bool enable_overrides = true) + private Package getBestPackage_(in PackageName name, in Dependency version_spec) { Package ret; foreach (p; getPackageIterator(name.toString())) { @@ -590,11 +565,6 @@ class PackageManager { if (version_spec.matches(p.version_, vmm) && (!ret || p.version_ > ret.version_)) ret = p; } - - if (enable_overrides && ret) { - if (auto ovr = getPackage(name, ret.version_)) - return ovr; - } return ret; } @@ -687,92 +657,6 @@ class PackageManager { return &iterator; } - - /** Returns a list of all package overrides for the given scope. - */ - deprecated(OverrideDepMsg) - const(PackageOverride)[] getOverrides(PlacementLocation scope_) - const { - return cast(typeof(return)) this.getOverrides_(scope_); - } - - package(dub) const(PackageOverride_)[] getOverrides_(PlacementLocation scope_) - const { - return m_repositories[scope_].overrides; - } - - /** Adds a new override for the given package. - */ - deprecated("Use the overload that accepts a `VersionRange` as 3rd argument") - void addOverride(PlacementLocation scope_, string package_, Dependency version_spec, Version target) - { - m_repositories[scope_].overrides ~= PackageOverride(package_, version_spec, target); - m_repositories[scope_].writeOverrides(this); - } - /// ditto - deprecated("Use the overload that accepts a `VersionRange` as 3rd argument") - void addOverride(PlacementLocation scope_, string package_, Dependency version_spec, NativePath target) - { - m_repositories[scope_].overrides ~= PackageOverride(package_, version_spec, target); - m_repositories[scope_].writeOverrides(this); - } - - /// Ditto - deprecated(OverrideDepMsg) - void addOverride(PlacementLocation scope_, string package_, VersionRange source, Version target) - { - this.addOverride_(scope_, package_, source, target); - } - /// ditto - deprecated(OverrideDepMsg) - void addOverride(PlacementLocation scope_, string package_, VersionRange source, NativePath target) - { - this.addOverride_(scope_, package_, source, target); - } - - // Non deprecated version that is used by `commandline`. Do not use! - package(dub) void addOverride_(PlacementLocation scope_, string package_, VersionRange source, Version target) - { - m_repositories[scope_].overrides ~= PackageOverride_(package_, source, target); - m_repositories[scope_].writeOverrides(this); - } - // Non deprecated version that is used by `commandline`. Do not use! - package(dub) void addOverride_(PlacementLocation scope_, string package_, VersionRange source, NativePath target) - { - m_repositories[scope_].overrides ~= PackageOverride_(package_, source, target); - m_repositories[scope_].writeOverrides(this); - } - - /** Removes an existing package override. - */ - deprecated("Use the overload that accepts a `VersionRange` as 3rd argument") - void removeOverride(PlacementLocation scope_, string package_, Dependency version_spec) - { - version_spec.visit!( - (VersionRange src) => this.removeOverride(scope_, package_, src), - (any) { throw new Exception(format("No override exists for %s %s", package_, version_spec)); }, - ); - } - - deprecated(OverrideDepMsg) - void removeOverride(PlacementLocation scope_, string package_, VersionRange src) - { - this.removeOverride_(scope_, package_, src); - } - - package(dub) void removeOverride_(PlacementLocation scope_, string package_, VersionRange src) - { - Location* rep = &m_repositories[scope_]; - foreach (i, ovr; rep.overrides) { - if (ovr.package_ != package_ || ovr.source != src) - continue; - rep.overrides = rep.overrides[0 .. i] ~ rep.overrides[i+1 .. $]; - (*rep).writeOverrides(this); - return; - } - throw new Exception(format("No override exists for %s %s", package_, src)); - } - deprecated("Use `store(NativePath source, PlacementLocation dest, string name, Version vers)`") Package storeFetchedPackage(NativePath zip_file_path, Json package_info, NativePath destination) { @@ -1347,91 +1231,6 @@ symlink_exit: } } -deprecated(OverrideDepMsg) -alias PackageOverride = PackageOverride_; - -package(dub) struct PackageOverride_ { - private alias ResolvedDep = SumType!(NativePath, Version); - string package_; - VersionRange source; - ResolvedDep target; - - deprecated("Use `source` instead") - @property inout(Dependency) version_ () inout return @safe { - return Dependency(this.source); - } - - deprecated("Assign `source` instead") - @property ref PackageOverride version_ (Dependency v) scope return @safe pure { - this.source = v.visit!( - (VersionRange range) => range, - (any) { - int a; if (a) return VersionRange.init; // Trick the compiler - throw new Exception("Cannot use anything else than a `VersionRange` for overrides"); - }, - ); - return this; - } - - deprecated("Use `target.match` directly instead") - @property inout(Version) targetVersion () inout return @safe pure nothrow @nogc { - return this.target.match!( - (Version v) => v, - (any) => Version.init, - ); - } - - deprecated("Assign `target` directly instead") - @property ref PackageOverride targetVersion (Version v) scope return pure nothrow @nogc { - this.target = v; - return this; - } - - deprecated("Use `target.match` directly instead") - @property inout(NativePath) targetPath () inout return @safe pure nothrow @nogc { - return this.target.match!( - (NativePath v) => v, - (any) => NativePath.init, - ); - } - - deprecated("Assign `target` directly instead") - @property ref PackageOverride targetPath (NativePath v) scope return pure nothrow @nogc { - this.target = v; - return this; - } - - deprecated("Use the overload that accepts a `VersionRange` as 2nd argument") - this(string package_, Dependency version_, Version target_version) - { - this.package_ = package_; - this.version_ = version_; - this.target = target_version; - } - - deprecated("Use the overload that accepts a `VersionRange` as 2nd argument") - this(string package_, Dependency version_, NativePath target_path) - { - this.package_ = package_; - this.version_ = version_; - this.target = target_path; - } - - this(string package_, VersionRange src, Version target) - { - this.package_ = package_; - this.source = src; - this.target = target; - } - - this(string package_, VersionRange src, NativePath target) - { - this.package_ = package_; - this.source = src; - this.target = target; - } -} - deprecated("Use `PlacementLocation` instead") enum LocalPackageType : PlacementLocation { package_ = PlacementLocation.local, @@ -1440,10 +1239,9 @@ enum LocalPackageType : PlacementLocation { } private enum LocalPackagesFilename = "local-packages.json"; -private enum LocalOverridesFilename = "local-overrides.json"; /** - * A managed location, with packages, configuration, and overrides + * A managed location, with packages, and configuration * * There exists three standards locations, listed in `PlacementLocation`. * The user one is the default, with the system and local one meeting @@ -1453,7 +1251,6 @@ private enum LocalOverridesFilename = "local-overrides.json"; * - A `packages/` directory, where packages are stored (see `packagePath`); * - A `local-packages.json` file, with extra search paths * and manually added packages (see `dub add-local`); - * - A `local-overrides.json` file, with manually added overrides (`dub add-override`); * * Additionally, each location host a config file, * which is not managed by this module, but by dub itself. @@ -1471,9 +1268,6 @@ package struct Location { */ Package[] localPackages; - /// List of overrides stored at this `Location` - PackageOverride_[] overrides; - /** * List of packages stored under `packagePath` and automatically detected */ @@ -1484,47 +1278,6 @@ package struct Location { this.packagePath = path; } - void loadOverrides(PackageManager mgr) - { - this.overrides = null; - auto ovrfilepath = this.packagePath ~ LocalOverridesFilename; - if (mgr.existsFile(ovrfilepath)) { - logWarn("Found local override file: %s", ovrfilepath); - logWarn(OverrideDepMsg); - logWarn("Replace with a path-based dependency in your project or a custom cache path"); - const text = mgr.readText(ovrfilepath); - auto json = parseJsonString(text, ovrfilepath.toNativeString()); - foreach (entry; json) { - PackageOverride_ ovr; - ovr.package_ = entry["name"].get!string; - ovr.source = VersionRange.fromString(entry["version"].get!string); - if (auto pv = "targetVersion" in entry) ovr.target = Version(pv.get!string); - if (auto pv = "targetPath" in entry) ovr.target = NativePath(pv.get!string); - this.overrides ~= ovr; - } - } - } - - private void writeOverrides(PackageManager mgr) - { - Json[] newlist; - foreach (ovr; this.overrides) { - auto jovr = Json.emptyObject; - jovr["name"] = ovr.package_; - jovr["version"] = ovr.source.toString(); - ovr.target.match!( - (NativePath path) { jovr["targetPath"] = path.toNativeString(); }, - (Version vers) { jovr["targetVersion"] = vers.toString(); }, - ); - newlist ~= jovr; - } - auto path = this.packagePath; - mgr.ensureDirectory(path); - auto app = appender!string(); - app.writePrettyJsonString(Json(newlist)); - mgr.writeFile(path ~ LocalOverridesFilename, app.data); - } - private void writeLocalPackageList(PackageManager mgr) { Json[] newlist; @@ -1802,6 +1555,3 @@ package struct Location { return path.startsWith(this.packagePath); } } - -private immutable string OverrideDepMsg = - "Overrides are deprecated as they are redundant with more fine-grained approaches"; From 63fe80d93ef63ccbb863dbc3f8ed04a5309934c3 Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 02:09:56 +0200 Subject: [PATCH 02/27] Remove deprecated PackageManager.getLatestPackage This was deprecated in 051f7e170b7f5dd582a260ae5c37b4a05e60b4b9. --- source/dub/packagemanager.d | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/source/dub/packagemanager.d b/source/dub/packagemanager.d index 9485679a7f..dfbb6cd874 100644 --- a/source/dub/packagemanager.d +++ b/source/dub/packagemanager.d @@ -302,18 +302,6 @@ class PackageManager { return null; } - /** Looks up the latest package matching the given name. - */ - deprecated("Use `getBestPackage` with `name, Dependency.any` instead") - Package getLatestPackage(string name) - { - Package pkg; - foreach (ep; getPackageIterator(name)) - if (pkg is null || pkg.version_ < ep.version_) - pkg = ep; - return pkg; - } - /** For a given package path, returns the corresponding package. If the package is already loaded, a reference is returned. Otherwise From 2074d610571d078b959e8cd4af397e7291afb460 Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 02:12:45 +0200 Subject: [PATCH 03/27] Remove Dependency : Repository related deprecations Those were introduced in a9a568d99025112303f08b5c4f6ac42515d94123. --- source/dub/dependency.d | 19 ------------------- source/dub/project.d | 6 ------ 2 files changed, 25 deletions(-) diff --git a/source/dub/dependency.d b/source/dub/dependency.d index f2ca23109e..91bf3ccf45 100644 --- a/source/dub/dependency.d +++ b/source/dub/dependency.d @@ -188,14 +188,6 @@ struct Dependency { this.m_value = rng; } - deprecated("Instantiate the `Repository` struct with the string directly") - this(Repository repository, string spec) @safe - { - assert(repository.m_ref is null); - repository.m_ref = spec; - this(repository); - } - /// If set, overrides any version based dependency selection. deprecated("Construct a new `Dependency` object instead") @property void path(NativePath value) @trusted @@ -767,17 +759,6 @@ struct Repository assert(m_ref.length); } - /// Ditto - deprecated("Use the constructor accepting a second parameter named `ref_`") - this(string remote) - { - enforce(remote.startsWith("git+"), "Unsupported repository type (supports: git+URL)"); - - m_remote = remote["git+".length .. $]; - m_kind = Kind.git; - assert(m_remote.length); - } - string toString() const nothrow pure @safe { if (empty) return null; diff --git a/source/dub/project.d b/source/dub/project.d index d733f3532d..76ea276ad0 100644 --- a/source/dub/project.d +++ b/source/dub/project.d @@ -1977,12 +1977,6 @@ public class SelectedVersions { m_dirty = true; } - deprecated("Move `spec` inside of the `repository` parameter and call `selectVersion`") - void selectVersionWithRepository(string package_id, Repository repository, string spec) - { - this.selectVersion(package_id, Repository(repository.remote(), spec)); - } - /// Removes the selection for a particular package. deprecated("Use the overload that accepts a `PackageName`") void deselectVersion(string package_id) From 65ba1919ac6b184d56da69bfa1ae9f412c4ab34c Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 02:15:34 +0200 Subject: [PATCH 04/27] Remove deprecated SelectedVersions Json constructor This was deprecated in fd844ebabd03888f668607feeca3632ae60902d1. --- source/dub/project.d | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/source/dub/project.d b/source/dub/project.d index 76ea276ad0..109370e1c9 100644 --- a/source/dub/project.d +++ b/source/dub/project.d @@ -1874,18 +1874,6 @@ public class SelectedVersions { this.m_bare = false; } - /** Constructs a new version selection from JSON data. - - The structure of the JSON document must match the contents of the - "dub.selections.json" file. - */ - deprecated("Pass a `dub.recipe.selection : Selected` directly") - this(Json data) - { - deserialize(data); - m_dirty = false; - } - /** Constructs a new version selections from an existing JSON file. */ deprecated("JSON deserialization is deprecated") From c85a46a9785b650843aedf0d036b0544a9c8f3f0 Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 02:17:05 +0200 Subject: [PATCH 05/27] Remove deprecated PackageManager.loadSCMPackage(string, Dependency) This was deprecated in b503a805734d10af4864e64ac0b69fe0c1592351. --- source/dub/packagemanager.d | 5 ----- 1 file changed, 5 deletions(-) diff --git a/source/dub/packagemanager.d b/source/dub/packagemanager.d index dfbb6cd874..4a96b6b1ea 100644 --- a/source/dub/packagemanager.d +++ b/source/dub/packagemanager.d @@ -421,11 +421,6 @@ class PackageManager { } } - deprecated("Use the overload that accepts a `dub.dependency : Repository`") - Package loadSCMPackage(string name, Dependency dependency) - in { assert(!dependency.repository.empty); } - do { return this.loadSCMPackage(name, dependency.repository); } - deprecated("Use `loadSCMPackage(PackageName, Repository)`") Package loadSCMPackage(string name, Repository repo) { From 8cf5ffe5e975690655818620a680433653a79b5e Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 02:18:27 +0200 Subject: [PATCH 06/27] Remove deprecated Project.dependencyToJson This was deprecated in 1bafd57d5cad5f9b56334fc8f14ff23b46f06824. --- source/dub/project.d | 6 ------ 1 file changed, 6 deletions(-) diff --git a/source/dub/project.d b/source/dub/project.d index 109370e1c9..b19bdcacee 100644 --- a/source/dub/project.d +++ b/source/dub/project.d @@ -2028,12 +2028,6 @@ public class SelectedVersions { m_bare = false; } - deprecated("Use `dub.dependency : Dependency.toJson(true)`") - static Json dependencyToJson(Dependency d) - { - return d.toJson(true); - } - deprecated("JSON deserialization is deprecated") static Dependency dependencyFromJson(Json j) { From e2fdbda8970fb5915b409c694076cf1e344c39b6 Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 02:25:19 +0200 Subject: [PATCH 07/27] Remove deprecated Dub.remove(pack, bool) It was deprecated in 17ec6f9fc5f3463f0fce588ae4b633c6e5bf3e3c. --- source/dub/dub.d | 7 ------- 1 file changed, 7 deletions(-) diff --git a/source/dub/dub.d b/source/dub/dub.d index 2b42fb751d..33d3d9fc11 100644 --- a/source/dub/dub.d +++ b/source/dub/dub.d @@ -1058,13 +1058,6 @@ class Dub { if (!m_dryRun) m_packageManager.remove(pack); } - /// Compatibility overload. Use the version without a `force_remove` argument instead. - deprecated("Use `remove(pack)` directly instead, the boolean has no effect") - void remove(in Package pack, bool force_remove) - { - remove(pack); - } - /// @see remove(string, string, RemoveLocation) enum RemoveVersionWildcard = "*"; From 0cd067594276de412a6327e968cb00197a691d75 Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 02:26:15 +0200 Subject: [PATCH 08/27] Remove deprecation project : PlacementLocation alias It was deprecated in 4f0a1a3d86d189091ba522af59fdd5e73b480177. --- source/dub/project.d | 3 --- 1 file changed, 3 deletions(-) diff --git a/source/dub/project.d b/source/dub/project.d index b19bdcacee..cb40aed5f1 100644 --- a/source/dub/project.d +++ b/source/dub/project.d @@ -1437,9 +1437,6 @@ enum ListBuildSettingsFormat { commandLineNul, /// NUL character separated list entries (unescaped, data lists separated by two NUL characters) } -deprecated("Use `dub.packagemanager : PlacementLocation` instead") -public alias PlacementLocation = dub.packagemanager.PlacementLocation; - void processVars(ref BuildSettings dst, in Project project, in Package pack, BuildSettings settings, in GeneratorSettings gsettings, bool include_target_settings = false) { From 189d4f5a16de4320c6f3b4036584e471c0fac722 Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 02:28:43 +0200 Subject: [PATCH 09/27] Remove deprecated selections JSON deserialization functions They were deprecated in 7b5e24f53f9227eb4fed893627c3a88672c65e8a. --- source/dub/project.d | 36 ------------------------------------ 1 file changed, 36 deletions(-) diff --git a/source/dub/project.d b/source/dub/project.d index cb40aed5f1..ec14c63598 100644 --- a/source/dub/project.d +++ b/source/dub/project.d @@ -1871,17 +1871,6 @@ public class SelectedVersions { this.m_bare = false; } - /** Constructs a new version selections from an existing JSON file. - */ - deprecated("JSON deserialization is deprecated") - this(NativePath path) - { - auto json = jsonFromFile(path); - deserialize(json); - m_dirty = false; - m_bare = false; - } - /// Returns a list of names for all packages that have a version selection. @property string[] selectedPackages() const { return m_selections.versions.keys; } @@ -2025,35 +2014,10 @@ public class SelectedVersions { m_bare = false; } - deprecated("JSON deserialization is deprecated") - static Dependency dependencyFromJson(Json j) - { - if (j.type == Json.Type.string) - return Dependency(Version(j.get!string)); - else if (j.type == Json.Type.object && "path" in j) - return Dependency(NativePath(j["path"].get!string)); - else if (j.type == Json.Type.object && "repository" in j) - return Dependency(Repository(j["repository"].get!string, - enforce("version" in j, "Expected \"version\" field in repository version object").get!string)); - else throw new Exception(format("Unexpected type for dependency: %s", j)); - } - deprecated("JSON serialization is deprecated") Json serialize() const { return PackageManager.selectionsToJSON(this.m_selections); } - - deprecated("JSON deserialization is deprecated") - private void deserialize(Json json) - { - const fileVersion = json["fileVersion"].get!int; - enforce(fileVersion == FileVersion, "Mismatched dub.selections.json version: " ~ to!string(fileVersion) ~ " vs. " ~ to!string(FileVersion)); - clear(); - m_selections.fileVersion = fileVersion; - scope(failure) clear(); - foreach (string p, dep; json["versions"]) - m_selections.versions[p] = dependencyFromJson(dep); - } } /// The template code from which the test runner is generated From 8898c1c645fb22817a946bd2b08c0f327c57701e Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 02:30:42 +0200 Subject: [PATCH 10/27] Remove deprecated DependencyResolver constructor It was deprecated in 11a8ac8aea63d71a765fbfd05e17264b6733eb39. --- source/dub/dependencyresolver.d | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/source/dub/dependencyresolver.d b/source/dub/dependencyresolver.d index 88488142d1..841e867845 100644 --- a/source/dub/dependencyresolver.d +++ b/source/dub/dependencyresolver.d @@ -43,18 +43,6 @@ class DependencyResolver(CONFIGS, CONFIG) { this.loop_limit = limit; } - /// Compatibility overload - deprecated("Use the overload that accepts a `ulong limit` argument") - public this () scope @safe - { - // Leave the possibility to opt-out from the loop limit - import std.process : environment; - if (environment.get("DUB_NO_RESOLVE_LIMIT") !is null) - this(ulong.max); - else - this(1_000_000); - } - /** Encapsulates a list of outgoing edges in the dependency graph. A value of this type represents a single dependency with multiple From 2a81349dcddd3794b8d6592f3b2a3cda909dc8d8 Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 02:31:54 +0200 Subject: [PATCH 11/27] Error our on invalid settings / selections file This warning was added in 67a58e4767b8fe4791069d0a0bbbfe923c5be0ab and the plan was to enable it in 10 releases (v1.40.0). --- source/dub/dub.d | 5 +---- source/dub/packagemanager.d | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/source/dub/dub.d b/source/dub/dub.d index 33d3d9fc11..dc8188ab21 100644 --- a/source/dub/dub.d +++ b/source/dub/dub.d @@ -255,12 +255,9 @@ class Dub { static void readSettingsFile (NativePath path_, ref Settings current) { - // TODO: Remove `StrictMode.Warn` after v1.40 release - // The default is to error, but as the previous parser wasn't - // complaining, we should first warn the user. const path = path_.toNativeString(); if (path.exists) { - auto newConf = parseConfigFileSimple!Settings(path, StrictMode.Warn); + auto newConf = parseConfigFileSimple!Settings(path); if (!newConf.isNull()) current = current.merge(newConf.get()); } diff --git a/source/dub/packagemanager.d b/source/dub/packagemanager.d index 4a96b6b1ea..ed30cdd47a 100644 --- a/source/dub/packagemanager.d +++ b/source/dub/packagemanager.d @@ -1039,11 +1039,8 @@ symlink_exit: if (!this.existsFile(path)) return typeof(return).init; const content = this.readText(path); - // TODO: Remove `StrictMode.Warn` after v1.40 release - // The default is to error, but as the previous parser wasn't - // complaining, we should first warn the user. return wrapException(parseConfigString!SelectionsFile( - content, path.toNativeString(), StrictMode.Warn)); + content, path.toNativeString())); } /** From 2a0b04cae64aee7955fe6dcb182e7096c5e9784e Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 02:34:15 +0200 Subject: [PATCH 12/27] Remove deprecated enum LocalPackageType It was deprecated in da98e59aaf0c8a57d849407c4eef25dbdb8391fd. --- source/dub/packagemanager.d | 7 ------- 1 file changed, 7 deletions(-) diff --git a/source/dub/packagemanager.d b/source/dub/packagemanager.d index ed30cdd47a..e0fa6a09bc 100644 --- a/source/dub/packagemanager.d +++ b/source/dub/packagemanager.d @@ -1211,13 +1211,6 @@ symlink_exit: } } -deprecated("Use `PlacementLocation` instead") -enum LocalPackageType : PlacementLocation { - package_ = PlacementLocation.local, - user = PlacementLocation.user, - system = PlacementLocation.system, -} - private enum LocalPackagesFilename = "local-packages.json"; /** From e0e7209d7db7f9855d99c6f759672ea180e73ec7 Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 02:35:27 +0200 Subject: [PATCH 13/27] Remove deprecated Dependency.matchesAny It was deprecated in ea2ebbc985333bfe8d2d6027ed8296d3191fb9be. --- source/dub/dependency.d | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/source/dub/dependency.d b/source/dub/dependency.d index 91bf3ccf45..7b4f980c99 100644 --- a/source/dub/dependency.d +++ b/source/dub/dependency.d @@ -477,19 +477,6 @@ struct Dependency { ); } - /** Determines if this dependency specification matches arbitrary versions. - - This is true in particular for the `any` constant. - */ - deprecated("Use `VersionRange.matchesAny` directly") - bool matchesAny() const scope @safe { - return this.m_value.match!( - (NativePath v) => true, - (Repository v) => true, - (VersionRange v) => v.matchesAny(), - ); - } - /** Tests if the specification matches a specific version. */ bool matches(string vers, VersionMatchMode mode = VersionMatchMode.standard) const @safe From 6b8726d904238901677ee27c9733ad9f81347234 Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 02:39:00 +0200 Subject: [PATCH 14/27] Remove deprecated dub.remove overload It was deprecated in b65d9b86e35a9dffe86e61e52778c1d33ca47145. --- source/dub/dub.d | 7 ------- 1 file changed, 7 deletions(-) diff --git a/source/dub/dub.d b/source/dub/dub.d index dc8188ab21..478117e0f9 100644 --- a/source/dub/dub.d +++ b/source/dub/dub.d @@ -1160,13 +1160,6 @@ class Dub { this.remove(PackageName(name), version_, location); } - /// Compatibility overload. Use the version without a `force_remove` argument instead. - deprecated("Use the overload without force_remove instead") - void remove(string package_id, string version_, PlacementLocation location, bool force_remove) - { - remove(package_id, version_, location); - } - /** Adds a directory to the list of locally known packages. Forwards to `PackageManager.addLocalPackage`. From d9c23553366bfa811cf719892fa9fcb7ce849671 Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 02:43:12 +0200 Subject: [PATCH 15/27] Remove deprecated Dependency.versionSpec It was deprecated in 78573cc7e0b94aff41c38d1d2e24fd3a6a028ec8. --- source/dub/dependency.d | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/source/dub/dependency.d b/source/dub/dependency.d index 7b4f980c99..cec79b9c13 100644 --- a/source/dub/dependency.d +++ b/source/dub/dependency.d @@ -166,7 +166,7 @@ struct Dependency { /** Constructs a new dependency specification from a string - See the `versionSpec` property for a description of the accepted + See the `VersionRange` type for a description of the accepted contents of that string. */ this(string spec) @safe @@ -263,23 +263,6 @@ struct Dependency { 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, - (const Repository r) => r.m_ref, - (const VersionRange p) => p.toString(), - ); - } - /** Returns a modified dependency that gets mapped to a given path. This function will return an unmodified `Dependency` if it is not path From fd7830d1d65cd8a450443ed19d9a4268afebffb5 Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 02:45:20 +0200 Subject: [PATCH 16/27] Remove deprecated Dub.fetch with Dependency This was deprecated in 06ef374577c24b9ab6b392ccdd7a42d06be78ca0. --- source/dub/dub.d | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/source/dub/dub.d b/source/dub/dub.d index 478117e0f9..dc3c761c8a 100644 --- a/source/dub/dub.d +++ b/source/dub/dub.d @@ -894,16 +894,6 @@ class Dub { rmdirRecurse(cache.toNativeString()); } - deprecated("Use the overload that accepts either a `Version` or a `VersionRange` as second argument") - Package fetch(string packageId, const Dependency dep, PlacementLocation location, FetchOptions options, string reason = "") - { - const vrange = dep.visit!( - (VersionRange range) => range, - function VersionRange (any) { throw new Exception("Cannot call `dub.fetch` with a " ~ typeof(any).stringof ~ " dependency"); } - ); - return this.fetch(packageId, vrange, location, options, reason); - } - deprecated("Use `fetch(PackageName, Version, [FetchOptions, PlacementLocation, string])`") Package fetch(string name, in Version vers, PlacementLocation location, FetchOptions options, string reason = "") { From d64cc266e6b0aae29f83f9e141bc4db9176bdbb2 Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 02:51:29 +0200 Subject: [PATCH 17/27] Remove deprecated Dub.getPackageSuppliers This was deprecated in bf1354258b567f48b1d7d4579f4dc9c355df3bf1. --- source/dub/dub.d | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/source/dub/dub.d b/source/dub/dub.d index dc3c761c8a..71c788ae39 100644 --- a/source/dub/dub.d +++ b/source/dub/dub.d @@ -323,21 +323,12 @@ class Dub { /** Get the list of package suppliers. Params: - additional_package_suppliers = A list of package suppliers to try + base = A list of package suppliers to try before the suppliers found in the configurations files and the `defaultPackageSuppliers`. skip = Can be used to skip using the configured package suppliers, as well as the default suppliers. */ - deprecated("This is an implementation detail. " ~ - "Use `packageSuppliers` to get the computed list of package " ~ - "suppliers once a `Dub` instance has been constructed.") - public PackageSupplier[] getPackageSuppliers(PackageSupplier[] base, SkipPackageSuppliers skip) - { - return this.makePackageSuppliers(base, skip, environment.get("DUB_REGISTRY", null)); - } - - /// Ditto protected PackageSupplier[] makePackageSuppliers(PackageSupplier[] base, SkipPackageSuppliers skip, string registry_var) { @@ -420,15 +411,6 @@ class Dub { } } - /// ditto - deprecated("This is an implementation detail. " ~ - "Use `packageSuppliers` to get the computed list of package " ~ - "suppliers once a `Dub` instance has been constructed.") - public PackageSupplier[] getPackageSuppliers(PackageSupplier[] additional_package_suppliers) - { - return getPackageSuppliers(additional_package_suppliers, m_config.skipRegistry); - } - @property bool dryRun() const { return m_dryRun; } @property void dryRun(bool v) { m_dryRun = v; } From 0db33e3113d7d7dcfc3d2196f0a40d4df0152a99 Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 02:53:25 +0200 Subject: [PATCH 18/27] Remove deprecated PackageManaget.getPackage version string overloads This was deprecated in 9d5fd4f4c4b2ff7aea1dc65562c9e39c03f7ac7e. --- source/dub/packagemanager.d | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/source/dub/packagemanager.d b/source/dub/packagemanager.d index e0fa6a09bc..5d8d7bb0c8 100644 --- a/source/dub/packagemanager.d +++ b/source/dub/packagemanager.d @@ -239,13 +239,6 @@ class PackageManager { return this.getPackage(PackageName(name), ver); } - /// ditto - deprecated("Use the overload that accepts a `Version` as second argument") - Package getPackage(string name, string ver, bool enable_overrides = true) - { - return getPackage(name, Version(ver)); - } - /// ditto deprecated("Use the overload that takes a `PlacementLocation`") Package getPackage(string name, Version ver, NativePath path) @@ -274,13 +267,6 @@ class PackageManager { return this.m_repositories[loc].load(name, ver, this); } - /// ditto - deprecated("Use the overload that accepts a `Version` as second argument") - Package getPackage(string name, string ver, NativePath path) - { - return getPackage(name, Version(ver), path); - } - /// ditto deprecated("Use another `PackageManager` API, open an issue if none suits you") Package getPackage(string name, NativePath path) From 855cd2d607f378451875a0f6cf67753b63357bcc Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 02:56:56 +0200 Subject: [PATCH 19/27] Remove deprecated Dependency.path and repository setters This was deprecated in a300f6150b973df4e6854c00e34bbed6a979fe6a. --- source/dub/dependency.d | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/source/dub/dependency.d b/source/dub/dependency.d index cec79b9c13..f825a85da0 100644 --- a/source/dub/dependency.d +++ b/source/dub/dependency.d @@ -188,13 +188,7 @@ struct Dependency { this.m_value = rng; } - /// If set, overrides any version based dependency selection. - deprecated("Construct a new `Dependency` object instead") - @property void path(NativePath value) @trusted - { - this.m_value = value; - } - /// ditto + /// The path this `Dependency` matches, or `NativePath.init` @property NativePath path() const @safe { return this.m_value.match!( @@ -203,13 +197,7 @@ struct Dependency { ); } - /// If set, overrides any version based dependency selection. - deprecated("Construct a new `Dependency` object instead") - @property void repository(Repository value) @trusted - { - this.m_value = value; - } - /// ditto + /// The repository this `Dependency` matches, or `Repository.init` @property Repository repository() const @safe { return this.m_value.match!( From a64551135ebe342fc77fa29589bb0404e055daed Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 03:02:25 +0200 Subject: [PATCH 20/27] Error out on invalid dub.json file This warning was introduced in a8aa2341be8434b16630aba03958f70565ff3ad6. --- source/dub/recipe/io.d | 41 ++--------------------------------------- 1 file changed, 2 insertions(+), 39 deletions(-) diff --git a/source/dub/recipe/io.d b/source/dub/recipe/io.d index f12fdb56ca..8bf95fc011 100644 --- a/source/dub/recipe/io.d +++ b/source/dub/recipe/io.d @@ -83,8 +83,6 @@ PackageRecipe parsePackageRecipe(string contents, string filename, { import std.algorithm : endsWith; import dub.compilers.buildsettings : TargetType; - import dub.internal.vibecompat.data.json; - import dub.recipe.json : parseJson; import dub.recipe.sdl : parseSDL; PackageRecipe ret; @@ -93,43 +91,8 @@ PackageRecipe parsePackageRecipe(string contents, string filename, if (filename.endsWith(".json")) { - try { - ret = parseConfigString!PackageRecipe(contents, filename, mode); - fixDependenciesNames(ret.name, ret); - } catch (ConfigException exc) { - logWarn("Your `dub.json` file use non-conventional features that are deprecated"); - logWarn("Please adjust your `dub.json` file as those warnings will turn into errors in dub v1.40.0"); - logWarn("Error was: %s", exc); - // Fallback to JSON parser - ret = PackageRecipe.init; - parseJson(ret, parseJsonString(contents, filename), parent); - } catch (Exception exc) { - logWarn("Your `dub.json` file use non-conventional features that are deprecated"); - logWarn("This is most likely due to duplicated keys."); - logWarn("Please adjust your `dub.json` file as those warnings will turn into errors in dub v1.40.0"); - logWarn("Error was: %s", exc); - // Fallback to JSON parser - ret = PackageRecipe.init; - parseJson(ret, parseJsonString(contents, filename), parent); - } - // `debug = ConfigFillerDebug` also enables verbose parser output - debug (ConfigFillerDebug) - { - import std.stdio; - - PackageRecipe jsonret; - parseJson(jsonret, parseJsonString(contents, filename), parent_name); - if (ret != jsonret) - { - writeln("Content of JSON and YAML parsing differ for file: ", filename); - writeln("-------------------------------------------------------------------"); - writeln("JSON (excepted): ", jsonret); - writeln("-------------------------------------------------------------------"); - writeln("YAML (actual ): ", ret); - writeln("========================================"); - ret = jsonret; - } - } + ret = parseConfigString!PackageRecipe(contents, filename, mode); + fixDependenciesNames(ret.name, ret); } else if (filename.endsWith(".sdl")) parseSDL(ret, contents, parent, filename); else assert(false, "readPackageRecipe called with filename with unknown extension: "~filename); From b82ec231ca4049f6bbe495bff2e5e34f5759dc32 Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 03:07:55 +0200 Subject: [PATCH 21/27] Remove deprecated PackageManager.getFirstPackage It was deprecated in 3e85201b55790d5c0da9d515ba2ea68636aa9281. --- source/dub/packagemanager.d | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/source/dub/packagemanager.d b/source/dub/packagemanager.d index 5d8d7bb0c8..eee0a63c4b 100644 --- a/source/dub/packagemanager.d +++ b/source/dub/packagemanager.d @@ -277,17 +277,6 @@ class PackageManager { return null; } - - /** Looks up the first package matching the given name. - */ - deprecated("Use `getBestPackage` instead") - Package getFirstPackage(string name) - { - foreach (ep; getPackageIterator(name)) - return ep; - return null; - } - /** For a given package path, returns the corresponding package. If the package is already loaded, a reference is returned. Otherwise From 0248cbba8eff015393db58f4ec70a09776cfe2d8 Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 03:09:00 +0200 Subject: [PATCH 22/27] Remove deprecated PackageManager.getPackage(string, NativePath) It was deprecated in e29a366324d1f92c1d9298247625769eaca14679. --- source/dub/packagemanager.d | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/source/dub/packagemanager.d b/source/dub/packagemanager.d index eee0a63c4b..5c50c93b79 100644 --- a/source/dub/packagemanager.d +++ b/source/dub/packagemanager.d @@ -267,16 +267,6 @@ class PackageManager { return this.m_repositories[loc].load(name, ver, this); } - /// ditto - deprecated("Use another `PackageManager` API, open an issue if none suits you") - Package getPackage(string name, NativePath path) - { - foreach( p; getPackageIterator(name) ) - if (p.path.startsWith(path)) - return p; - return null; - } - /** For a given package path, returns the corresponding package. If the package is already loaded, a reference is returned. Otherwise From 0ca27a90aebb5dc5aca1f7775e8f79ad56100558 Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 03:09:58 +0200 Subject: [PATCH 23/27] Remove PackageManager.completeSearchPath It was deprecated in 7175eadfa7a7f58522caa524e42e4419918da408. --- source/dub/packagemanager.d | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/source/dub/packagemanager.d b/source/dub/packagemanager.d index 5c50c93b79..43fd306f69 100644 --- a/source/dub/packagemanager.d +++ b/source/dub/packagemanager.d @@ -146,20 +146,6 @@ class PackageManager { /// ditto @property const(NativePath)[] searchPath() const { return this.m_internal.searchPath; } - /** Returns the effective list of search paths, including default ones. - */ - deprecated("Use the `PackageManager` facilities instead") - @property const(NativePath)[] completeSearchPath() - const { - auto ret = appender!(const(NativePath)[])(); - ret.put(this.m_internal.searchPath); - foreach (ref repo; m_repositories) { - ret.put(repo.searchPath); - ret.put(repo.packagePath); - } - return ret.data; - } - /** Sets additional (read-only) package cache paths to search for packages. Cache paths have the same structure as the default cache paths, such as From 9cd764045bd7ee0bc4bd9ad80310a39d0758ba91 Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 03:11:25 +0200 Subject: [PATCH 24/27] Remove deprecated PackageManager.getPackage overload It was deprecated in 606a429cb4323473928e5744f60238f5594a3694. --- source/dub/packagemanager.d | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/source/dub/packagemanager.d b/source/dub/packagemanager.d index 43fd306f69..62ba1b61c1 100644 --- a/source/dub/packagemanager.d +++ b/source/dub/packagemanager.d @@ -225,18 +225,6 @@ class PackageManager { return this.getPackage(PackageName(name), ver); } - /// ditto - deprecated("Use the overload that takes a `PlacementLocation`") - Package getPackage(string name, Version ver, NativePath path) - { - foreach (p; getPackageIterator(name)) { - auto pvm = isManagedPackage(p) ? VersionMatchMode.strict : VersionMatchMode.standard; - if (p.version_.matches(ver, pvm) && p.path.startsWith(path)) - return p; - } - return null; - } - /// Ditto deprecated("Use the overload that accepts a `PackageName` instead") Package getPackage(string name, Version ver, PlacementLocation loc) From 35583350edb6615a60ba0cbf80ef33aa68bfc3cd Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 03:13:16 +0200 Subject: [PATCH 25/27] Remove deprecated PackageManager.storeFetchedPackage It was deprecated in 931f06cb8044b3d5bd2730b1bd0d92256d51aa0c. --- source/dub/packagemanager.d | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/source/dub/packagemanager.d b/source/dub/packagemanager.d index 62ba1b61c1..32f8ab71cd 100644 --- a/source/dub/packagemanager.d +++ b/source/dub/packagemanager.d @@ -579,16 +579,6 @@ class PackageManager { return &iterator; } - deprecated("Use `store(NativePath source, PlacementLocation dest, string name, Version vers)`") - Package storeFetchedPackage(NativePath zip_file_path, Json package_info, NativePath destination) - { - import dub.internal.vibecompat.core.file; - - return this.store_(readFile(zip_file_path), destination, - PackageName(package_info["name"].get!string), - Version(package_info["version"].get!string)); - } - /** * Store a zip file stored at `src` into a managed location `destination` * From 6d4fb1a64f0bea9a9a4d7f34ba46869b74758649 Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 03:14:44 +0200 Subject: [PATCH 26/27] Dub: Remove the ability to change the rootpath It was deprecated in 3c87ebdb20b80f58f2504ea86d8eea50565ffbf5. --- source/dub/dub.d | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/source/dub/dub.d b/source/dub/dub.d index 71c788ae39..e08e836963 100644 --- a/source/dub/dub.d +++ b/source/dub/dub.d @@ -206,12 +206,6 @@ class Dub { m_packageManager = new PackageManager(pkg_root); } - deprecated("Use the overload that takes `(NativePath pkg_root, NativePath root)`") - this(NativePath pkg_root) - { - this(pkg_root, pkg_root); - } - /** * Get the `PackageManager` instance to use for this `Dub` instance * @@ -417,14 +411,6 @@ class Dub { /** Returns the root path (usually the current working directory). */ @property NativePath rootPath() const { return m_rootPath; } - /// ditto - deprecated("Changing the root path is deprecated as it has non-obvious pitfalls " ~ - "(e.g. settings aren't reloaded). Instantiate a new `Dub` instead") - @property void rootPath(NativePath root_path) - { - m_rootPath = root_path; - if (!m_rootPath.absolute) m_rootPath = getWorkingDirectory() ~ m_rootPath; - } /// Returns the name listed in the dub.json of the current /// application. From 6e5e4c9a601e6c1b3dd580a90ca6157ae9d46525 Mon Sep 17 00:00:00 2001 From: Mathias Lang Date: Wed, 5 Jun 2024 03:18:14 +0200 Subject: [PATCH 27/27] Remove deprecated BuildOptions / BuildRequirements aliases It was deprecated in 4262e05af6c59bf9618748175f6ff46e3370a381. --- source/dub/compilers/buildsettings.d | 6 ------ 1 file changed, 6 deletions(-) diff --git a/source/dub/compilers/buildsettings.d b/source/dub/compilers/buildsettings.d index 19668025c4..1c31ee985c 100644 --- a/source/dub/compilers/buildsettings.d +++ b/source/dub/compilers/buildsettings.d @@ -528,9 +528,3 @@ enum Flags!BuildOption inheritedBuildOptions = | BuildOption.ignoreDeprecations | BuildOption.deprecationWarnings | BuildOption.deprecationErrors | BuildOption.property | BuildOption.profileGC | BuildOption.pic; - -deprecated("Use `Flags!BuildOption` instead") -public alias BuildOptions = Flags!BuildOption; - -deprecated("Use `Flags!BuildRequirement` instead") -public alias BuildRequirements = Flags!BuildRequirement;