|
11 | 11 | import site
|
12 | 12 | from pathlib import Path
|
13 | 13 |
|
14 |
| -virtualenv_home = os.path.realpath(os.environ["VIRTUAL_ENV"]) |
15 |
| -virtualenv_name = os.path.basename(virtualenv_home) |
16 |
| -runfiles_dir = os.path.realpath(os.environ["RUNFILES_DIR"]) |
17 |
| -builddir = os.path.realpath(os.environ["BUILD_WORKING_DIRECTORY"]) |
18 |
| -target_package, target_name = os.environ["BAZEL_TARGET"].split("//", 1)[1].split(":") |
19 |
| - |
20 |
| -PARSER = argparse.ArgumentParser( |
21 |
| - prog="link", |
22 |
| - usage=__doc__, |
23 |
| - formatter_class=argparse.ArgumentDefaultsHelpFormatter, |
24 |
| -) |
25 |
| - |
26 |
| -PARSER.add_argument( |
27 |
| - "--dest", |
28 |
| - dest="dest", |
29 |
| - default=builddir, |
30 |
| - help="Dir to link the virtualenv into. Default is $BUILD_WORKING_DIRECTORY.", |
31 |
| -) |
32 |
| - |
33 |
| -PARSER.add_argument( |
34 |
| - "--name", |
35 |
| - dest="name", |
36 |
| - default=".{}+{}".format(target_package.replace("/", "+"), virtualenv_name.lstrip(".")), |
37 |
| - help="Name to link the virtualenv as.", |
38 |
| -) |
39 | 14 |
|
| 15 | +def munge_venv_name(target_package, virtualenv_name): |
| 16 | + acc = (target_package or "").replace("/", "+") |
| 17 | + if acc: |
| 18 | + acc += "+" |
| 19 | + acc += virtualenv_name.lstrip(".") |
| 20 | + return "." + acc |
| 21 | + |
40 | 22 |
|
41 | 23 | if __name__ == "__main__":
|
| 24 | + virtualenv_home = os.path.realpath(os.environ["VIRTUAL_ENV"]) |
| 25 | + virtualenv_name = os.path.basename(virtualenv_home) |
| 26 | + runfiles_dir = os.path.realpath(os.environ["RUNFILES_DIR"]) |
| 27 | + builddir = os.path.realpath(os.environ["BUILD_WORKING_DIRECTORY"]) |
| 28 | + target_package, target_name = os.environ["BAZEL_TARGET"].split("//", 1)[1].split(":") |
| 29 | + |
| 30 | + PARSER = argparse.ArgumentParser( |
| 31 | + prog="link", |
| 32 | + usage=__doc__, |
| 33 | + formatter_class=argparse.ArgumentDefaultsHelpFormatter, |
| 34 | + ) |
| 35 | + |
| 36 | + PARSER.add_argument( |
| 37 | + "--dest", |
| 38 | + dest="dest", |
| 39 | + default=builddir, |
| 40 | + help="Dir to link the virtualenv into. Default is $BUILD_WORKING_DIRECTORY.", |
| 41 | + ) |
| 42 | + |
| 43 | + PARSER.add_argument( |
| 44 | + "--name", |
| 45 | + dest="name", |
| 46 | + default=munge_venv_name(target_package, virtualenv_name), |
| 47 | + help="Name to link the virtualenv as.", |
| 48 | + ) |
| 49 | + |
| 50 | + |
42 | 51 | PARSER.print_help(sys.stdout)
|
43 | 52 | opts = PARSER.parse_args()
|
44 | 53 | dest = Path(os.path.join(opts.dest, opts.name))
|
|
0 commit comments