jenkins-bot submitted this change.

View Change

Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified
[IMPR] Add -clear and -nodist options to make_dist.py

Change-Id: Ic10f5e6ec3c30725241617272405efa19466d766
---
M make_dist.py
1 file changed, 36 insertions(+), 3 deletions(-)

diff --git a/make_dist.py b/make_dist.py
index 21271c3..b975f47 100644
--- a/make_dist.py
+++ b/make_dist.py
@@ -12,9 +12,13 @@
-remote Upload the package to pypi. This cannot be done if the
Pywikibot version is a development release.

+-clear Clear old dist folders
+
-upgrade Upgrade distribution packages pip, setuptools, wheel and twine
first

+-nodist Do not create a distribution. Useful to -clear or -upgrade only.
+
Usage::

[pwb] make_dist [options]
@@ -27,6 +31,11 @@
- installs pre-releases over stable versions
- also creates built distribution together with source distribution
- `-upgrade` option was added
+
+.. versionchanged:: 7.5
+
+ - `clear` option was added
+ - `nodist` option was added
"""
#
# (C) Pywikibot team, 2022
@@ -43,6 +52,19 @@
import setup


+def clear_old_dist() -> None:
+ """Delete old dist folders.
+
+ .. versionadded:: 7.5
+ """
+ info('Removing old dist folders... ', newline=False)
+ folder = Path().resolve()
+ shutil.rmtree(folder / 'build', ignore_errors=True)
+ shutil.rmtree(folder / 'dist', ignore_errors=True)
+ shutil.rmtree(folder / 'pywikibot.egg-info', ignore_errors=True)
+ info('done')
+
+
def copy_files() -> None:
"""Copy code entry point and i18n files to pywikibot.scripts folder.

@@ -98,25 +120,36 @@

local = '-local' in sys.argv
remote = '-remote' in sys.argv
+ clear = '-clear' in sys.argv
upgrade = '-upgrade' in sys.argv
+ nodist = '-nodist' in sys.argv
+
+ if nodist:
+ local, remote = False, False

if remote and 'dev' in __version__:
warning('Distribution must not be a developmental release to upload.')
remote = False

sys.argv = [sys.argv[0], 'sdist', 'bdist_wheel']
- return local, remote, upgrade
+ return local, remote, clear, upgrade, nodist


def main() -> None:
"""Script entry point."""
- local, remote, upgrade = handle_args()
+ local, remote, clear, upgrade, nodist = handle_args()

- copy_files()
if upgrade:
subprocess.run('python -m pip install --upgrade pip')
subprocess.run('pip install --upgrade setuptools wheel twine ')

+ if clear:
+ clear_old_dist()
+
+ if nodist:
+ return
+
+ copy_files()
try:
setup.main() # create a new package
except SystemExit as e:

To view, visit change 815894. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: Ic10f5e6ec3c30725241617272405efa19466d766
Gerrit-Change-Number: 815894
Gerrit-PatchSet: 2
Gerrit-Owner: Xqt <info@gno.de>
Gerrit-Reviewer: Xqt <info@gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged