diff --git a/CHANGELOG.md b/CHANGELOG.md index fd7f700..f7583fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,16 @@ Changelog ========= +v0.9.16 - 2013-06-29 +-------------------- + +### Bug fixes ### + + - Fixed fetching of all recursive dependencies in one go + - Fixed handling of paths with spaces when using "dub build" + - Fixed upwards inheritance of version identifiers in generated VisualD projects + + v0.9.15 - 2013-06-19 -------------------- diff --git a/source/app.d b/source/app.d index 176c5d1..699b030 100644 --- a/source/app.d +++ b/source/app.d @@ -349,7 +349,10 @@ docs, ddox, cov, unittest-cov --config=NAME Builds the specified configuration. Configurations can be defined in package.json - --compiler=NAME Uses one of the supported compilers: + --compiler=NAME Specifies the compiler binary to use. Arbitrary pre- + and suffixes to the identifiers below are recognized + (e.g. ldc2 or dmd-2.063) and matched to the proper + compiler type: dmd (default), gcc, ldc, gdmd, ldmd --arch=NAME Force a different architecture (e.g. x86 or x86_64) --nodeps Do not check dependencies for 'run' or 'build' diff --git a/source/dub/compilers/ldc.d b/source/dub/compilers/ldc.d index 385acbc..07fa103 100644 --- a/source/dub/compilers/ldc.d +++ b/source/dub/compilers/ldc.d @@ -40,8 +40,14 @@ string[] newdflags; foreach(f; settings.dflags){ switch(f){ - default: newdflags ~= f; break; + default: + if (f.startsWith("-debug=")) newdflags ~= "-d-debug="~f[7 .. $]; + else if (f.startsWith("-version=")) newdflags ~= "-d-version="~f[9 .. $]; + else newdflags ~= f; + break; case "-debug": newdflags ~= "-d-debug"; break; + case "-inline": newdflags ~= "-enable-inlining"; break; + case "-noboundscheck": newdflags ~= "-disable-boundscheck"; break; } } settings.dflags = newdflags; @@ -81,9 +87,9 @@ if (settings.requirements & BuildRequirements.silenceWarnings) { settings.removeDFlags("-w", "-wi"); } if (settings.requirements & BuildRequirements.disallowDeprecations) { settings.removeDFlags("-dw", "-d"); settings.addDFlags("-de"); } if (settings.requirements & BuildRequirements.silenceDeprecations) { settings.removeDFlags("-dw", "-de"); settings.addDFlags("-d"); } - if (settings.requirements & BuildRequirements.disallowInlining) { settings.removeDFlags("-inline"); } + if (settings.requirements & BuildRequirements.disallowInlining) { settings.removeDFlags("-enable-inlining"); } if (settings.requirements & BuildRequirements.disallowOptimization) { settings.removeDFlags("-O"); } - if (settings.requirements & BuildRequirements.requireBoundsCheck) { settings.removeDFlags("-noboundscheck"); } + if (settings.requirements & BuildRequirements.requireBoundsCheck) { settings.removeDFlags("-disable-boundscheck"); } if (settings.requirements & BuildRequirements.requireContracts) { settings.removeDFlags("-release"); } if (settings.requirements & BuildRequirements.relaxProperties) { settings.removeDFlags("-property"); } diff --git a/source/dub/internal/vibecompat/data/json.d b/source/dub/internal/vibecompat/data/json.d index 90ffb3f..bcefd27 100644 --- a/source/dub/internal/vibecompat/data/json.d +++ b/source/dub/internal/vibecompat/data/json.d @@ -1146,16 +1146,6 @@ } } - -/** Deprecated aliases for backwards compatibility. - - Use writeJsonString and writePrettyJsonString instead. -*/ -deprecated("Please use writeJsonString instead.") alias writeJsonString toJson; -/// -deprecated("Please use writePrettyJsonString instead.") alias writePrettyJsonString toPrettyJson; - - /// private private void jsonEscape(R)(ref R dst, string s) { diff --git a/source/dub/project.d b/source/dub/project.d index 669d978..395b011 100644 --- a/source/dub/project.d +++ b/source/dub/project.d @@ -262,6 +262,12 @@ dst.targetName = psettings.targetName; } } + + // always add all version identifiers of all packages + foreach (pkg; this.getTopologicalPackageList(false, null, configs)) { + auto psettings = pkg.getBuildSettings(platform, configs[pkg.name]); + dst.addVersions(psettings.versions); + } } @@ -486,7 +492,8 @@ markUpToDate(ppath[0]); } catch(Throwable e) { - logError("Geting package metadata for %s failed, exception: %s", pkg, e.toString()); + logError("Getting package metadata for %s failed: %s", pkg, e.msg); + logDiagnostic("Full eror: %s", e.toString().sanitize()); } }