blob: c6eea722cd5b4422d387191650c282169a18e226 [file] [log] [blame]
#!/usr/bin/python3
"""A script to remove old alpha/beta/rc version prebuilts.
Script deletes all alpha/beta/rc unless they are the last two released versions
of the artifacts. All stable releases are kept.
"""
import os
import shutil
import re
from packaging.version import Version
versionPattern = re.compile("^[0-9]+\.[0-9]+\..*$")
SCRIPT_PATH = os.path.realpath(os.path.dirname(__file__))
directories = [x for x in os.walk(SCRIPT_PATH)]
for directory in directories:
# Use Version to sort so we handle 1.9.0 and 1.10.0 correctly
# fixeddocs is excluded due to androidx/concurrent/concurrent-futures/1.0.0-fixeddocs01
versionDirs = sorted([subdir
for subdir in directory[1]
if versionPattern.match(subdir) and "fixeddocs" not in subdir
], key=Version)[:-2]
alphaBetaVersionDirs = [subdir
for subdir in versionDirs
if "-alpha" in subdir or "-beta" in subdir or "-rc" in subdir
]
if any(alphaBetaVersionDirs):
for version in alphaBetaVersionDirs:
shutil.rmtree(directory[0] + "/" + version)