diff --git a/source/dub/project.d b/source/dub/project.d index 395b011..cc358c2 100644 --- a/source/dub/project.d +++ b/source/dub/project.d @@ -171,8 +171,8 @@ m_main = new Package(m_root); m_main.warnOnSpecialCompilerFlags(); if (m_main.name != m_main.name.toLower()) { - logWarn("Package names should always be lower case, please change from '%s' to '%s'!", - m_main.name, m_main.name.toLower()); + logWarn(`DUB package names should always be lower case, please change to {"name": "%s"}. You can use {"targetName": "%s"} to keep the current executable name.`, + m_main.name.toLower(), m_main.name); } // TODO: compute the set of mutual dependencies first diff --git a/source/dub/utils.d b/source/dub/utils.d index 90f06d8..4c9332d 100644 --- a/source/dub/utils.d +++ b/source/dub/utils.d @@ -15,12 +15,13 @@ import dub.version_; // todo: cleanup imports. -import std.algorithm; +import std.algorithm : startsWith; import std.array; import std.conv; import std.exception; import std.file; import std.net.curl; +import std.string; import std.typecons; import std.zip; @@ -121,6 +122,13 @@ auto conn = HTTP(); static if( is(typeof(&conn.verifyPeer)) ) conn.verifyPeer = false; - conn.addRequestHeader("User-Agent", "dub/"~dubVersion~" (std.net.curl; +https://github.com/rejectedsoftware/dub)"); + + // convert version string to valid SemVer format + auto verstr = dubVersion; + if (verstr.startsWith("v")) verstr = verstr[1 .. $]; + auto idx = verstr.indexOf("-"); + if (idx >= 0) verstr = verstr[0 .. idx] ~ "+" ~ verstr[idx+1 .. $].split("-").join("."); + + conn.addRequestHeader("User-Agent", "dub/"~verstr~" (std.net.curl; +https://github.com/rejectedsoftware/dub)"); return conn; } \ No newline at end of file