From 42fd534ed0f4d5d973b96a5c4b4ce0a891206444 Mon Sep 17 00:00:00 2001 From: Mike Crute Date: Sun, 23 Jun 2019 22:26:02 +0000 Subject: Cleanup setup.py release target --- setup.py | 36 +++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/setup.py b/setup.py index e9b1df2..2e76532 100755 --- a/setup.py +++ b/setup.py @@ -37,29 +37,47 @@ class PyPiReleaseCommand(Command): def finalize_options(self): pass - def pip_install(self, *pkgs): - subprocess.check_call((".release/py3/bin/pip", "install", "-U") + pkgs) + def venv_run(self, cmd, *args): + subprocess.check_call((os.path.join(".release/py3/bin", cmd),) + args) - def run(self): + def make_release_tree(self): if not os.path.exists(".release"): log.info("Creating temp release tree") os.mkdir(".release") + def configure_environment(self): + log.info("Configuring release environment") subprocess.check_call(["python3", "-m", "venv", ".release/py3"]) - self.pip_install("pip", "setuptools", "virtualenv", "twine") + self.venv_run("pip", "install", "-U", + "pip", "setuptools", "virtualenv", "twine") + def build_py3_artifact(self): log.info("Building Python 3 Artifact") - subprocess.check_call([ - ".release/py3/bin/python", - "setup.py", "release", "bdist_wheel", "--python-tag", "py3"]) + self.venv_run("python", "setup.py", + "release", "bdist_wheel", "--python-tag", "py3") + def build_sdist_artifact(self): log.info("Building Source Dist Artifact") - subprocess.check_call([".release/py3/bin/python", "setup.py", "sdist"]) - subprocess.check_call([".release/py3/bin/twine", "upload", "dist/*"]) + self.venv_run("python", "setup.py", "sdist") + + def upload_artifacts(self): + log.info("Uploading artifacts to PyPi") + self.venv_run("twine", "upload", "dist/*") + def cleanup(self): log.info("Cleaning up temp release tree") shutil.rmtree(".release") + def run(self): + try: + self.make_release_tree() + self.configure_environment() + self.build_py3_artifact() + self.build_sdist_artifact() + self.upload_artifacts() + finally: + self.cleanup() + setup( name="pydora", -- cgit v1.2.3