From adb907d55c81630201cd165346163061a0b007be Mon Sep 17 00:00:00 2001 From: Martin Kinkelin Date: Thu, 14 Jul 2022 04:32:57 +0200 Subject: [PATCH 1/2] getDefaultConfiguration(): Accept a const BuildPlatform argument Like `Package.getDefaultConfiguration()` already does. Fixes a minor annoyance for reggae. --- source/dub/dub.d | 2 +- source/dub/project.d | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/dub/dub.d b/source/dub/dub.d index 2822f1b2d..76636c6cf 100644 --- a/source/dub/dub.d +++ b/source/dub/dub.d @@ -504,7 +504,7 @@ class Dub { This forwards to `Project.getDefaultConfiguration` and requires a project to be loaded. */ - string getDefaultConfiguration(BuildPlatform platform, bool allow_non_library_configs = true) const { return m_project.getDefaultConfiguration(platform, allow_non_library_configs); } + string getDefaultConfiguration(in BuildPlatform platform, bool allow_non_library_configs = true) const { return m_project.getDefaultConfiguration(platform, allow_non_library_configs); } /** Attempts to upgrade the dependency selection of the loaded project. diff --git a/source/dub/project.d b/source/dub/project.d index b433b2566..259a461d7 100644 --- a/source/dub/project.d +++ b/source/dub/project.d @@ -194,7 +194,7 @@ class Project { possible configuration instead of the first "executable" configuration. */ - string getDefaultConfiguration(BuildPlatform platform, bool allow_non_library_configs = true) + string getDefaultConfiguration(in BuildPlatform platform, bool allow_non_library_configs = true) const { auto cfgs = getPackageConfigs(platform, null, allow_non_library_configs); return cfgs[m_rootPackage.name]; From 281ee3244175ca3e91b0f761e523f50d790a832d Mon Sep 17 00:00:00 2001 From: Martin Kinkelin Date: Thu, 14 Jul 2022 05:25:11 +0200 Subject: [PATCH 2/2] Make Project.addTestRunnerConfiguration() accept a const GeneratorSettings argument --- source/dub/generators/build.d | 2 +- source/dub/project.d | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/source/dub/generators/build.d b/source/dub/generators/build.d index 4ba7331f4..490b47d12 100644 --- a/source/dub/generators/build.d +++ b/source/dub/generators/build.d @@ -32,7 +32,7 @@ string getObjSuffix(const scope ref BuildPlatform platform) return platform.isWindows() ? ".obj" : ".o"; } -string computeBuildName(string config, GeneratorSettings settings, const string[][] hashing...) +string computeBuildName(string config, in GeneratorSettings settings, const string[][] hashing...) { import std.digest; import std.digest.md; diff --git a/source/dub/project.d b/source/dub/project.d index 259a461d7..226442080 100644 --- a/source/dub/project.d +++ b/source/dub/project.d @@ -231,7 +231,7 @@ class Project { Returns: Name of the added test runner configuration, or null for base configurations with target type `none` */ - string addTestRunnerConfiguration(GeneratorSettings settings, bool generate_main = true, string base_config = "", NativePath custom_main_file = NativePath()) + string addTestRunnerConfiguration(in GeneratorSettings settings, bool generate_main = true, string base_config = "", NativePath custom_main_file = NativePath()) { if (base_config.length == 0) { // if a custom main file was given, favor the first library configuration, so that it can be applied @@ -244,7 +244,7 @@ class Project { if (!base_config.length) base_config = getDefaultConfiguration(settings.platform, true); } - BuildSettings lbuildsettings = settings.buildSettings; + BuildSettings lbuildsettings = settings.buildSettings.dup; addBuildSettings(lbuildsettings, settings, base_config, null, true); if (lbuildsettings.targetType == TargetType.none) {