mirror of
https://github.com/onionshare/onionshare.git
synced 2024-10-01 01:35:40 -04:00
Write rebuild-cli in python instead of bash to work in Windows, and make the dev script available in Windows
This commit is contained in:
parent
c904bb5b5f
commit
c2940a307d
@ -79,7 +79,7 @@ pip install briefcase
|
|||||||
In order to work with the desktop app, you'll need to build a wheel of the CLI package first, and copy it into the `desktop` folder. You'll need to re-run this script each time you change the CLI code.
|
In order to work with the desktop app, you'll need to build a wheel of the CLI package first, and copy it into the `desktop` folder. You'll need to re-run this script each time you change the CLI code.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
./scripts/rebuild-cli.sh
|
python scripts/rebuild-cli.py
|
||||||
```
|
```
|
||||||
|
|
||||||
### Running OnionShare from the source code tree
|
### Running OnionShare from the source code tree
|
||||||
@ -98,6 +98,8 @@ Once you have the dependencies installed, you can run it using the `dev.sh` scri
|
|||||||
./scripts/dev.sh -v --local-only
|
./scripts/dev.sh -v --local-only
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Windows uses `scripts\dev.bat` instead.
|
||||||
|
|
||||||
## Running tests
|
## Running tests
|
||||||
|
|
||||||
Install these packages inside your virtual environment:
|
Install these packages inside your virtual environment:
|
||||||
|
3
desktop/scripts/dev.bat
Normal file
3
desktop/scripts/dev.bat
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
cd src
|
||||||
|
python -c "import onionshare; onionshare.main()" %*
|
||||||
|
cd ..
|
45
desktop/scripts/rebuild-cli.py
Executable file
45
desktop/scripts/rebuild-cli.py
Executable file
@ -0,0 +1,45 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
"""
|
||||||
|
This script builds the CLI python wheel, copies it to the desktop folder,
|
||||||
|
and installs it in the virtual environment.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import inspect
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import glob
|
||||||
|
import subprocess
|
||||||
|
import shutil
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
# Build paths
|
||||||
|
root_path = os.path.dirname(
|
||||||
|
os.path.dirname(
|
||||||
|
os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
cli_path = os.path.join(root_path, "cli")
|
||||||
|
desktop_path = os.path.join(root_path, "desktop")
|
||||||
|
|
||||||
|
# Delete old wheels
|
||||||
|
for filename in glob.glob(os.path.join(cli_path, "dist", "*.whl")):
|
||||||
|
os.remove(filename)
|
||||||
|
|
||||||
|
# Build new wheel
|
||||||
|
subprocess.call(["poetry", "install"], cwd=cli_path)
|
||||||
|
subprocess.call(["poetry", "build"], cwd=cli_path)
|
||||||
|
wheel_filename = glob.glob(os.path.join(cli_path, "dist", "*.whl"))[0]
|
||||||
|
wheel_basename = os.path.basename(wheel_filename)
|
||||||
|
shutil.copyfile(
|
||||||
|
wheel_filename,
|
||||||
|
os.path.join(desktop_path, wheel_basename),
|
||||||
|
)
|
||||||
|
|
||||||
|
# Reinstall the new wheel
|
||||||
|
subprocess.call(["pip", "uninstall", "onionshare-cli", "-y"])
|
||||||
|
subprocess.call(["pip", "install", os.path.join(desktop_path, wheel_basename)])
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
@ -1,10 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Build the CLI python wheel and copy it to the desktop folder
|
|
||||||
|
|
||||||
SCRIPTS_DIR="$( cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )"
|
|
||||||
cd $SCRIPTS_DIR
|
|
||||||
cd ../../cli
|
|
||||||
poetry install
|
|
||||||
poetry build
|
|
||||||
cp dist/*.whl ../desktop
|
|
Loading…
Reference in New Issue
Block a user