Skip to content

Commit ac37101

Browse files
committed
fix: make sure we search only for JARs
1 parent b335a6d commit ac37101

1 file changed

Lines changed: 15 additions & 13 deletions

File tree

src/main/java/org/codejive/jpm/util/SearchUtils.java

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ private static SearchResult select(String query, int start, int count) throws IO
6767
}
6868
String searchUrl =
6969
String.format(
70-
"https://search.maven.org/solrsearch/select?start=%d&rows=%d&q=%s",
70+
"https://search.maven.org/solrsearch/select?start=%d&rows=%d&q=p:jar+AND+%s",
7171
start, count, URLEncoder.encode(finalQuery, "UTF-8"));
7272
if (parts.length >= 3) {
7373
searchUrl += "&core=gav";
@@ -90,23 +90,23 @@ private static SearchResult select(String query, int start, int count) throws IO
9090
}
9191
List<DefaultArtifact> artifacts =
9292
result.response.docs.stream()
93-
.filter(
94-
d ->
95-
parts.length != 2
96-
|| d.g.contains(parts[0])
97-
&& d.a.contains(parts[1]))
98-
.map(
99-
d ->
100-
new DefaultArtifact(
101-
d.g,
102-
d.a,
103-
"",
104-
d.v != null ? d.v : d.latestVersion))
93+
.filter(d -> acceptDoc(d, parts))
94+
.map(SearchUtils::toArtifact)
10595
.collect(Collectors.toList());
10696
return new SearchResult(artifacts, query, start, count, result.response.numFound);
10797
}
10898
}
10999
}
100+
101+
private static boolean acceptDoc(MsrDoc d, String[] parts) {
102+
return d.ec != null
103+
&& d.ec.contains(".jar")
104+
&& (parts.length != 2 || d.g.contains(parts[0]) && d.a.contains(parts[1]));
105+
}
106+
107+
private static DefaultArtifact toArtifact(MsrDoc d) {
108+
return new DefaultArtifact(d.g, d.a, "", d.v != null ? d.v : d.latestVersion);
109+
}
110110
}
111111

112112
class MvnSearchResult {
@@ -129,4 +129,6 @@ class MsrDoc {
129129
public String a;
130130
public String v;
131131
public String latestVersion;
132+
public String p;
133+
public List<String> ec;
132134
}

0 commit comments

Comments
 (0)