如何检索导入特定Maven依赖项的GitHub Java项目?

时间:2019-11-25 22:38:54

标签: maven github github-api

是否有一种方法可以访问GitHub中基于artifactIdgroupId标签内容导入给定Maven依赖项的Java项目列表?

例如,我想知道GitHub中的哪些项目正在导入依赖项<artifactId>ApacheJMeter_core</artifactId><groupId>org.apache.jmeter</groupId>

有可能吗?该怎么做?

2 个答案:

答案 0 :(得分:0)

粗略的第一个近似值是使用文件名for($i=0; $i < count($request->input('prestamo_id', 'ncuota', 'montopag', 'fechapag')); $i++) { $presocio = new Presocio; $presocio->prestamo_id = $request->prestamo_id[$i]; $presocio->ncuota = $request->ncuota[$i]; $presocio->montopag = $request->montopag[$i]; $presocio->fechapag = $request->fechapag[$i]; $presocio->save(); } 的GitHub搜索:

pom.xml

但是您需要检查每个结果,以查看例如artifctId是否在https://github.com/search?utf8=%E2%9C%93&q=aaaa+extension%3Axml+filename%3Apom.xml+language%3AXML&type=Code&ref=advsearch&l=XML&l= 部分中列出。

您还可以考虑针对Google BigQuery做一个GitHub public dataset,其中包括280万个开源GitHub存储库中内容的完整快照。


已关闭的更精确的功能是GitHub Dependency Graph,该功能可用于受支持语言(包括Java / Maven)的公共项目

您可以try its API(目前在预览中,请参阅“ Access to a Repositories Dependency Graph”),但这将是每个项目的项目。

答案 1 :(得分:0)

GitHub可通过REST API v3使用-您可以搜索advanced search中可用的所有内容。

示例

https://api.github.com/search/code?q=org.apache.jmeter+filename:pom.xml+path:/+repo:jmeter-maven-plugin/jmeter-maven-plugin

结果

None

详细信息

您无法通过存储库的内容搜索存储库-这是API的限制。但是,您可以按照自己喜欢的任何方式search for code。然后从结果中解析回购信息。

单个回购的简短示例is limited。要摆脱此限制并在所有公共存储库中进行搜索,您必须通过基本身份验证或使用OAuth2令牌authenticate