@@ -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
112112class 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