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.
|
||||
|
||||
```sh
|
||||
./scripts/rebuild-cli.sh
|
||||
python scripts/rebuild-cli.py
|
||||
```
|
||||
|
||||
### 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
|
||||
```
|
||||
|
||||
Windows uses `scripts\dev.bat` instead.
|
||||
|
||||
## Running tests
|
||||
|
||||
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