Skip to content

Commit cd604ed

Browse files
authored
Merge pull request #21 from eggplants/fix-pre-released-version-format
Convert pre-release version format into Python one
2 parents 2832d87 + bd1f32f commit cd604ed

1 file changed

Lines changed: 20 additions & 1 deletion

File tree

publish.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,21 @@
1717
MVN_BASE_URL = "https://search.maven.org"
1818

1919

20+
def convert_pre_release_version(version: str) -> str:
21+
pattern = re.compile(r"(?P<ver>\d+\.\d+\.\d+)-(?P<stage>[ab])(?:lpha|eta)(?P<revision>\d*)$")
22+
if not (m := pattern.match(version)):
23+
return version
24+
25+
if not (ver := m["ver"]):
26+
return version
27+
28+
if not (stage := m["stage"]):
29+
return version
30+
31+
revision = m["revision"] or 0
32+
return pattern.sub(f"{ver}{stage}{revision}", version, count=1)
33+
34+
2035
def download_openapi_generator_jar(version: str) -> None:
2136
download_url = (
2237
MVN_BASE_URL
@@ -46,7 +61,7 @@ def get_available_versions() -> list[str]:
4661
)
4762
response = urlopen(mvn_url) # noqa: S310
4863
docs = json.loads(response.read())["response"]["docs"]
49-
return [doc["v"] for doc in docs]
64+
return [convert_pre_release_version(doc["v"]) for doc in docs]
5065

5166

5267
def get_published_vesions() -> KeysView[str]:
@@ -90,6 +105,10 @@ def publish(*, dryrun: bool = False) -> None:
90105

91106
unpublished_versions = natsorted(set(get_available_versions()) - set(get_published_vesions()))
92107

108+
if len(unpublished_versions) == 0:
109+
print("[!] Nothing to be released.")
110+
return
111+
93112
for publishing_version in unpublished_versions:
94113
print(f"[{publishing_version}] Downloading...")
95114
download_openapi_generator_jar(publishing_version)

0 commit comments

Comments
 (0)