diff --git a/source/dub/packagesuppliers/maven.d b/source/dub/packagesuppliers/maven.d index eaee689..40c88bb 100644 --- a/source/dub/packagesuppliers/maven.d +++ b/source/dub/packagesuppliers/maven.d @@ -119,7 +119,13 @@ SearchResult[] searchPackages(string query) { - return []; + // Only exact search is supported + // This enables retrival of dub packages on dub run + auto md = getMetadata(query); + if (md.type == Json.Type.null_) + return []; + auto json = getBestPackage(md, query, Dependency(">=0.0.0"), true); + return [SearchResult(json["name"].opt!string, "", json["version"].opt!string)]; } } diff --git a/test/issue1416-maven-repo-pkg-supplier.sh b/test/issue1416-maven-repo-pkg-supplier.sh index 4f106b4..636ef31 100755 --- a/test/issue1416-maven-repo-pkg-supplier.sh +++ b/test/issue1416-maven-repo-pkg-supplier.sh @@ -24,5 +24,8 @@ "$DUB" fetch maven-dubpackage --skip-registry=all --registry=mvn+http://localhost:$PORT/maven/release/dubpackages if ! dub remove maven-dubpackage --non-interactive --version=1.0.6 2>/dev/null; then - die 'DUB did not install latest package from maven registry.' -fi \ No newline at end of file + die 'DUB fetch did not install latest package from maven registry.' +fi + +echo "Trying to search (exact) maven-dubpackage" +"$DUB" search maven-dubpackage --skip-registry=all --registry=mvn+http://localhost:$PORT/maven/release/dubpackages | grep -c "maven-dubpackage (1.0.6)"