aboutsummaryrefslogtreecommitdiffstats
path: root/release/rtool.py
diff options
context:
space:
mode:
Diffstat (limited to 'release/rtool.py')
-rwxr-xr-xrelease/rtool.py114
1 files changed, 0 insertions, 114 deletions
diff --git a/release/rtool.py b/release/rtool.py
deleted file mode 100755
index 0009cf89..00000000
--- a/release/rtool.py
+++ /dev/null
@@ -1,114 +0,0 @@
-#!/usr/bin/env python3
-
-import contextlib
-import os
-import sys
-import platform
-import runpy
-import shlex
-import subprocess
-from os.path import join, abspath, dirname
-
-import cryptography.fernet
-import click
-
-
-ROOT_DIR = abspath(join(dirname(__file__), ".."))
-RELEASE_DIR = join(ROOT_DIR, "release")
-DIST_DIR = join(RELEASE_DIR, "dist")
-VERSION_FILE = join(ROOT_DIR, "mitmproxy", "version.py")
-
-
-def git(args: str) -> str:
- with chdir(ROOT_DIR):
- return subprocess.check_output(["git"] + shlex.split(args)).decode()
-
-
-def get_version(dev: bool = False, build: bool = False) -> str:
- x = runpy.run_path(VERSION_FILE)
- return x["get_version"](dev, build, True)
-
-
-def wheel_name() -> str:
- return "mitmproxy-{version}-py3-none-any.whl".format(
- version=get_version(True),
- )
-
-
-@contextlib.contextmanager
-def chdir(path: str):
- old_dir = os.getcwd()
- os.chdir(path)
- yield
- os.chdir(old_dir)
-
-
-@click.group(chain=True)
-def cli():
- """
- mitmproxy build tool
- """
- pass
-
-
-@cli.command("contributors")
-def contributors():
- """
- Update CONTRIBUTORS.md
- """
- with chdir(ROOT_DIR):
- print("Updating CONTRIBUTORS...")
- contributors_data = git("shortlog -n -s")
- with open("CONTRIBUTORS", "wb") as f:
- f.write(contributors_data.encode())
-
-
-@cli.command("upload-release")
-@click.option('--username', prompt=True)
-@click.password_option(confirmation_prompt=False)
-@click.option('--repository', default="pypi")
-def upload_release(username, password, repository):
- """
- Upload wheels to PyPI
- """
- filename = wheel_name()
- print("Uploading {} to {}...".format(filename, repository))
- subprocess.check_call([
- "twine",
- "upload",
- "-u", username,
- "-p", password,
- "-r", repository,
- join(DIST_DIR, filename)
- ])
-
-
-@cli.command("homebrew-pr")
-def homebrew_pr():
- """
- Create a new Homebrew PR
- """
- if platform.system() != "Darwin":
- print("You need to run this on macOS to create a new Homebrew PR. Sorry.")
- sys.exit(1)
-
- print("Creating a new PR with Homebrew...")
- subprocess.check_call([
- "brew",
- "bump-formula-pr",
- "--url", "https://github.com/mitmproxy/mitmproxy/archive/v{}".format(get_version()),
- "mitmproxy",
- ])
-
-
-@cli.command("encrypt")
-@click.argument('infile', type=click.File('rb'))
-@click.argument('outfile', type=click.File('wb'))
-@click.argument('key', envvar='RTOOL_KEY')
-def encrypt(infile, outfile, key):
- f = cryptography.fernet.Fernet(key.encode())
- outfile.write(f.encrypt(infile.read()))
-
-
-if __name__ == "__main__":
- cli()