From 5b2fe2019cdcfa6cedb844b5796133d3776dcf47 Mon Sep 17 00:00:00 2001 From: Micah Lee Date: Thu, 15 Oct 2020 16:30:30 -0700 Subject: Make onionshare_cli an actual dependency of the GUI version --- cli/README.md | 20 ++++++++++++++------ cli/pyproject.toml | 2 +- desktop/README.md | 27 ++++++++++++++++++++++++++- desktop/pyproject.toml | 1 + desktop/src/onionshare/__init__.py | 11 ----------- 5 files changed, 42 insertions(+), 19 deletions(-) diff --git a/cli/README.md b/cli/README.md index d7858404..cb5f9bc5 100644 --- a/cli/README.md +++ b/cli/README.md @@ -27,13 +27,13 @@ First, make sure you have `tor` installed. In Linux, install it through your pac Then install OnionShare CLI: -``` +```sh pip install onionshare-cli ``` Then run it with: -``` +```sh onionshare-cli --help ``` @@ -43,25 +43,33 @@ You must have python3 and [poetry](https://python-poetry.org/) installed. Install dependencies with poetry: -``` +```sh poetry install ``` To run from the source tree: -``` +```sh poetry run onionshare-cli ``` To run tests: -``` +```sh poetry run pytest -v ./tests ``` +## Build a wheel package + +```sh +poetry build +``` + +This will create `dist/onionshare_cli-$VERSION-py3-none-any.whl`. + ### Making a release -Before making a release, make update the version in these places: +Before making a release, update the version in these places: - `pyproject.toml` - `onionshare_cli/resources/version.txt` diff --git a/cli/pyproject.toml b/cli/pyproject.toml index 4e68e2fd..576444ae 100644 --- a/cli/pyproject.toml +++ b/cli/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "onionshare_cli" -version = "0.1.3" +version = "2.3.dev1" description = "OnionShare lets you securely and anonymously send and receive files. It works by starting a web server, making it accessible as a Tor onion service, and generating an unguessable web address so others can download files from you, or upload files to you. It does _not_ require setting up a separate server or using a third party file-sharing service." authors = ["Micah Lee "] license = "GPLv3+" diff --git a/desktop/README.md b/desktop/README.md index 71f3082f..91977fda 100644 --- a/desktop/README.md +++ b/desktop/README.md @@ -90,4 +90,29 @@ If you want to run tests while hiding the GUI, you must have the `xvfb` package xvfb-run ./tests/run.sh ``` -## Making a release \ No newline at end of file +## Making a release + +First, build a wheel package for OnionShare CLI: + +```sh +cd onionshare/cli +poetry install +poetry build +``` + +This will make a file like `dist/onionshare_cli-$VERSION-py3-none-any.whl` (except with your specific version number). Move it into `../desktop/linux`: + +``` +mkdir -p ../desktop/linux +mv dist/onionshare_cli-*-py3-none-any.whl ../desktop/linux +# change back to the desktop directory +cd ../desktop +``` + +Make sure the virtual environment is active, and then run `briefcase create` and `briefcase build`: + +```sh +. venv/bin/activate +briefcase create +briefcase build +``` \ No newline at end of file diff --git a/desktop/pyproject.toml b/desktop/pyproject.toml index a028aa2f..cf4ace2e 100644 --- a/desktop/pyproject.toml +++ b/desktop/pyproject.toml @@ -13,6 +13,7 @@ description = "OnionShare lets you securely and anonymously send and receive fil icon = "src/onionshare/resources/onionshare" sources = ['src/onionshare'] requires = [ + "./onionshare_cli-2.3.dev1-py3-none-any.whl", "Click", "eventlet", "Flask", diff --git a/desktop/src/onionshare/__init__.py b/desktop/src/onionshare/__init__.py index 131684db..287d882c 100644 --- a/desktop/src/onionshare/__init__.py +++ b/desktop/src/onionshare/__init__.py @@ -29,17 +29,6 @@ import psutil import getpass from PySide2 import QtCore, QtWidgets -# Allow importing onionshare_cli from the source tree -sys.path.insert( - 0, - os.path.join( - os.path.dirname( - os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) - ), - "cli", - ), -) - from onionshare_cli.common import Common from .gui_common import GuiCommon -- cgit v1.2.3-54-g00ecf