fix(java): improve identification for org.elasticsearch artifacts (#2383)

Signed-off-by: Weston Steimel <weston.steimel@proton.me>
This commit is contained in:
Weston Steimel 2023-12-01 14:22:33 +00:00 committed by GitHub
parent 413ffdb233
commit 11039f4b4e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 437 additions and 354 deletions

View File

@ -294,7 +294,7 @@ func GetManifestFieldGroupIDs(manifest *pkg.JavaManifest, fields []string) (grou
} }
func cleanGroupID(groupID string) string { func cleanGroupID(groupID string) string {
return strings.TrimSpace(removeOSCIDirectives(groupID)) return strings.TrimSpace(strings.Split(removeOSCIDirectives(groupID), "#")[0])
} }
func removeOSCIDirectives(groupID string) string { func removeOSCIDirectives(groupID string) string {

View File

@ -219,6 +219,78 @@ var DefaultArtifactIDToGroupID = map[string]string{
"bcutil-jdk15to18": "org.bouncycastle", "bcutil-jdk15to18": "org.bouncycastle",
"bcutil-jdk18on": "org.bouncycastle", "bcutil-jdk18on": "org.bouncycastle",
"bcutil-lts8on": "org.bouncycastle", "bcutil-lts8on": "org.bouncycastle",
"elasticsearch": "org.elasticsearch",
"elasticsearch-analysis-icu": "org.elasticsearch",
"elasticsearch-analysis-ik": "org.elasticsearch",
"elasticsearch-analysis-kuromoji": "org.elasticsearch",
"elasticsearch-analysis-mmseg": "org.elasticsearch",
"elasticsearch-analysis-phonetic": "org.elasticsearch",
"elasticsearch-analysis-pinyin": "org.elasticsearch",
"elasticsearch-analysis-smartcn": "org.elasticsearch",
"elasticsearch-analysis-stconvert": "org.elasticsearch",
"elasticsearch-analysis-stempel": "org.elasticsearch",
"elasticsearch-attachments": "org.elasticsearch",
"elasticsearch-benchmarks": "org.elasticsearch",
"elasticsearch-cli": "org.elasticsearch",
"elasticsearch-client-groovy": "org.elasticsearch",
"elasticsearch-cloud": "org.elasticsearch",
"elasticsearch-cloud-aws": "org.elasticsearch",
"elasticsearch-cloud-azure": "org.elasticsearch",
"elasticsearch-cloud-gce": "org.elasticsearch",
"elasticsearch-core": "org.elasticsearch",
"elasticsearch-discovery-jgroups": "org.elasticsearch",
"elasticsearch-geo": "org.elasticsearch",
"elasticsearch-grok": "org.elasticsearch",
"elasticsearch-groovy": "org.elasticsearch",
"elasticsearch-h3": "org.elasticsearch",
"elasticsearch-hadoop": "org.elasticsearch",
"elasticsearch-hadoop-cascading": "org.elasticsearch",
"elasticsearch-hadoop-hive": "org.elasticsearch",
"elasticsearch-hadoop-mr": "org.elasticsearch",
"elasticsearch-hadoop-pig": "org.elasticsearch",
"elasticsearch-lang-groovy": "org.elasticsearch",
"elasticsearch-lang-javascript": "org.elasticsearch",
"elasticsearch-lang-mvel": "org.elasticsearch",
"elasticsearch-lang-python": "org.elasticsearch",
"elasticsearch-logging": "org.elasticsearch",
"elasticsearch-lz4": "org.elasticsearch",
"elasticsearch-mapper-attachments": "org.elasticsearch",
"elasticsearch-nio": "org.elasticsearch",
"elasticsearch-parent": "org.elasticsearch",
"elasticsearch-plugin-analysis-api": "org.elasticsearch",
"elasticsearch-plugin-api": "org.elasticsearch",
"elasticsearch-plugin-classloader": "org.elasticsearch",
"elasticsearch-plugin-scanner": "org.elasticsearch",
"elasticsearch-preallocate": "org.elasticsearch",
"elasticsearch-repository-hdfs": "org.elasticsearch",
"elasticsearch-river-couchdb": "org.elasticsearch",
"elasticsearch-river-rabbitmq": "org.elasticsearch",
"elasticsearch-river-twitter": "org.elasticsearch",
"elasticsearch-river-wikipedia": "org.elasticsearch",
"elasticsearch-secure-sm": "org.elasticsearch",
"elasticsearch-spark-1.2": "org.elasticsearch",
"elasticsearch-spark-1.2_2.10": "org.elasticsearch",
"elasticsearch-spark-1.2_2.11": "org.elasticsearch",
"elasticsearch-spark-13_2.10": "org.elasticsearch",
"elasticsearch-spark-13_2.11": "org.elasticsearch",
"elasticsearch-spark-20_2.10": "org.elasticsearch",
"elasticsearch-spark-20_2.11": "org.elasticsearch",
"elasticsearch-spark-20_2.12": "org.elasticsearch",
"elasticsearch-spark-30_2.12": "org.elasticsearch",
"elasticsearch-spark-30_2.13": "org.elasticsearch",
"elasticsearch-spark_2.10": "org.elasticsearch",
"elasticsearch-spark_2.11": "org.elasticsearch",
"elasticsearch-ssl-config": "org.elasticsearch",
"elasticsearch-storm": "org.elasticsearch",
"elasticsearch-tdigest": "org.elasticsearch",
"elasticsearch-transport-memcached": "org.elasticsearch",
"elasticsearch-transport-thrift": "org.elasticsearch",
"elasticsearch-transport-wares": "org.elasticsearch",
"elasticsearch-x-content": "org.elasticsearch",
"elasticsearch-yarn": "org.elasticsearch",
"elasticsearch-rest-client": "org.elasticsearch.client",
"elasticsearch-rest-client-sniffer": "org.elasticsearch.client",
"elasticsearch-rest-high-level-client": "org.elasticsearch.client",
"spring": "org.springframework", "spring": "org.springframework",
"spring-agent": "org.springframework", "spring-agent": "org.springframework",
"spring-aop": "org.springframework", "spring-aop": "org.springframework",

View File

@ -161,6 +161,17 @@ func Test_groupIDsFromJavaPackage(t *testing.T) {
}, },
expects: []string{"io.jenkins-ci.plugin.thing"}, expects: []string{"io.jenkins-ci.plugin.thing"},
}, },
{
name: "clean # suffixes",
pkg: pkg.Package{
Metadata: pkg.JavaArchive{
PomProperties: &pkg.JavaPomProperties{
GroupID: "org.elasticsearch.plugin#parent-join;6.8.15",
},
},
},
expects: []string{"org.elasticsearch.plugin"},
},
{ {
name: "from artifactID", name: "from artifactID",
pkg: pkg.Package{ pkg: pkg.Package{