in rules_jvm_export/jvm_export/support/pom_generator.py [0:0]
def _parse_maven_coordinates(coordinates_string):
"""
Given a string containing a standard Maven coordinate (g:a:[p:[c:]]v),
returns a Maven artifact map (see above).
See also https://github.com/bazelbuild/rules_jvm_external/blob/4.3/specs.bzl
"""
parts = coordinates_string.split(":")
group_id, artifact_id = parts[0:2]
if len(parts) == 3:
version = parts[2]
result = dict(group_id=group_id, artifact_id=artifact_id, version=version)
elif len(parts) == 4:
packaging = parts[2]
version = parts[3]
result = dict(group_id=group_id, artifact_id=artifact_id, packaging=packaging, version=version)
elif len(parts) == 5:
packaging = parts[2]
classifier = parts[3]
version = parts[4]
result = dict(group_id=group_id, artifact_id=artifact_id, packaging=packaging, classifier=classifier, version=version)
else:
raise ValueError("failed to parse '{}'".format(coordinates_string))
return result