summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMicah Lee <micah@micahflee.com>2020-10-15 16:30:30 -0700
committerMicah Lee <micah@micahflee.com>2020-10-15 16:30:30 -0700
commit5b2fe2019cdcfa6cedb844b5796133d3776dcf47 (patch)
treea92df0e293d4beb772e8165f2123803bb49cd508
parent50e7471a49600c1788cc823a07781e724137a93c (diff)
downloadonionshare-5b2fe2019cdcfa6cedb844b5796133d3776dcf47.tar.gz
onionshare-5b2fe2019cdcfa6cedb844b5796133d3776dcf47.zip
Make onionshare_cli an actual dependency of the GUI version
-rw-r--r--cli/README.md20
-rw-r--r--cli/pyproject.toml2
-rw-r--r--desktop/README.md27
-rw-r--r--desktop/pyproject.toml1
-rw-r--r--desktop/src/onionshare/__init__.py11
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 <micah@micahflee.com>"]
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