diff --git a/README.md b/README.md index 654778429..8bb0595e9 100644 --- a/README.md +++ b/README.md @@ -23,9 +23,10 @@ To install from source or make changes to the application, continue reading belo ### One-time Setup 1. Clone this repo -2. `INSTALL_DEPENDENCIES=true ./build.sh` +2. `DEPS=true ./build.sh` -This will download and install the LBRY app and its dependencies, including [the LBRY daemon](https://github.com/lbryio/lbry) and command line utilities like `node` and `yarn`. The LBRY app requires Node >= 6; if you have an earlier version of Node installed and want to keep it, you can use [nvm](https://github.com/creationix/nvm) to switch back and forth. +This will download and install the LBRY app and its dependencies, including [the LBRY daemon](https://github.com/lbryio/lbry) and command line utilities like `node` and `yarn`. \ +The LBRY app requires Node >= 6; if you have an earlier version of Node installed and want to keep it, you can use [nvm](https://github.com/creationix/nvm) to switch back and forth. ### Running diff --git a/build/build.sh b/build/build.sh index 8cf38ca20..2a6fa1d4e 100755 --- a/build/build.sh +++ b/build/build.sh @@ -30,30 +30,13 @@ if [ -n "${TEAMCITY_VERSION:-}" -o -n "${APPVEYOR:-}" ]; then FULL_BUILD="true" fi -if [ "$FULL_BUILD" == "true" ]; then - INSTALL_DEPENDENCIES="true" -else - INSTALL_DEPENDENCIES="${INSTALL_DEPENDENCIES:-false}" -fi - -if [ "$INSTALL_DEPENDENCIES" != "true" ]; then +DEPS="${DEPS:-$FULL_BUILD}" +if [ "$DEPS" != "true" ]; then echo -e "\033[1;36mDependencies will NOT be installed. Run with \"INSTALL_DEPENDENCIES=true\" to install dependencies, or \"FULL_BUILD=true\" to install dependencies and build a complete app.\x1b[m" else # install dependencies echo -e "\033[0;32mInstalling Dependencies\x1b[m" - "$BUILD_DIR/prebuild.sh" - - VENV="$BUILD_DIR/venv" - if [ -d "$VENV" ]; then - rm -rf "$VENV" - fi - virtualenv "$VENV" - set +u - source "$VENV/bin/activate" - set -u - # "python pip install" required to support path names with spaces (may be fixed in pip 10) - python "`which pip`" install -r "$BUILD_DIR/requirements.txt" - python "$BUILD_DIR/set_version.py" + "$BUILD_DIR/install_deps.sh" fi [ -d "$ROOT/dist" ] && rm -rf "$ROOT/dist" @@ -140,9 +123,13 @@ if [ "$FULL_BUILD" == "true" ]; then # electron-build has a publish feature, but I had a hard time getting # it to reliably work and it also seemed difficult to configure. Not proud of # this, but it seemed better to write my own. - python "$BUILD_DIR/upload_assets.py" - - deactivate + VENV="$BUILD_DIR/venv" + if [ -d "$VENV" ]; then + rm -rf "$VENV" + fi + virtualenv "$VENV" + "$VENV/bin/pip" install -r "$BUILD_DIR/requirements.txt" + "$VENV/bin/python" "$BUILD_DIR/upload_assets.py" echo -e '\033[0;32mBuild and packaging complete.\x1b[m' else diff --git a/build/prebuild.sh b/build/install_deps.sh similarity index 92% rename from build/prebuild.sh rename to build/install_deps.sh index fb6d041c3..34a212dfe 100755 --- a/build/prebuild.sh +++ b/build/install_deps.sh @@ -1,8 +1,6 @@ #!/bin/bash set -euo pipefail -set -x - LINUX=false OSX=false @@ -52,6 +50,9 @@ if ! cmd_exists python; then $INSTALL python2.7 elif $OSX; then brew install python + else + echo "python2.7 required" + exit 1 fi fi @@ -66,6 +67,9 @@ if ! cmd_exists pip; then $INSTALL python-pip elif $OSX; then $SUDO easy_install pip + else + echo "pip required" + exit 1 fi $SUDO pip install --upgrade pip fi @@ -84,6 +88,9 @@ if ! cmd_exists node; then $INSTALL nodejs elif $OSX; then brew install node + else + echo "node required" + exit 1 fi fi @@ -95,16 +102,17 @@ if ! cmd_exists yarn; then $SUDO apt-get install yarn elif $OSX; then brew install yarn + else + echo "yarn required" + exit 1 fi fi if ! cmd_exists unzip; then if $LINUX; then $INSTALL unzip - elif $OSX; then + else echo "unzip required" exit 1 - # not sure this works, but OSX should come with unzip - # brew install unzip fi fi diff --git a/build/set_version.py b/build/set_version.py deleted file mode 100644 index 313cf6c93..000000000 --- a/build/set_version.py +++ /dev/null @@ -1,21 +0,0 @@ -"""Set the package version to the output of `git describe`""" - -from __future__ import print_function - -import os.path -import sys -import fileinput - - -def main(): - filename = os.path.abspath( - os.path.join(os.path.abspath(__file__), '..', '..', 'ui', 'js', 'lbryio.js')) - for line in fileinput.input(filename, inplace=True): - if line.startswith(' enabled: false'): - print(' enabled: true') - else: - print(line, end='') - - -if __name__ == '__main__': - sys.exit(main())