bundle wallet headers in app

This commit is contained in:
Sean Yesmunt 2019-12-19 13:42:36 -05:00
parent 4556681e6c
commit e8c8b20b58
4 changed files with 32 additions and 9 deletions

View file

@ -24,13 +24,14 @@ before_install:
else else
sudo apt-get -qq update sudo apt-get -qq update
sudo apt-get install -y libsecret-1-dev sudo apt-get install -y libsecret-1-dev
sudo apt-get install --no-install-recommends -y gcc-multilib g++-multilib sudo apt-get install --no-install-recommends -y gcc-multilib g++-multilib wget
curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.6.0 curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.6.0
export PATH="$HOME/.yarn/bin:$PATH" export PATH="$HOME/.yarn/bin:$PATH"
fi fi
before_script: before_script:
- git lfs pull - git lfs pull
- if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then unset WIN_CSC_LINK; unset CSC_LINK; fi - if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then unset WIN_CSC_LINK; unset CSC_LINK; fi
- wget https://headers.lbry.io/blockchain_headers_latest -O $TRAVIS_BUILD_DIR/static/daemon/headers
script: script:
- | - |
if [ "$TARGET" == "windows" ]; then if [ "$TARGET" == "windows" ]; then

View file

@ -7,13 +7,18 @@
"files": [ "files": [
{ {
"from": "dist/electron/webpack", "from": "dist/electron/webpack",
"to": "./", "to": "./"
"filter": ["!dist/!electron/!webpack/*.js", "!dist/!electron/!webpack/!static/**/*"]
}, },
{ {
"from": "dist/electron/static", "from": "dist/electron/static",
"to": "./", "to": "./"
"filter": ["!dist/!electron/!static/index-electron.html"] }
],
"extraResources": [
{
"from": "./static/daemon/",
"to": "static/daemon/",
"filter": ["**/*"]
} }
], ],
"publish": [ "publish": [

View file

@ -1,13 +1,21 @@
import path from 'path'; import path from 'path';
import fs from 'fs';
import { spawn, execSync } from 'child_process'; import { spawn, execSync } from 'child_process';
import { Lbry } from 'lbry-redux'; import { Lbry } from 'lbry-redux';
export default class Daemon { export default class Daemon {
static path = static lbrynetPath =
process.env.LBRY_DAEMON || process.env.LBRY_DAEMON ||
(process.env.NODE_ENV === 'production' (process.env.NODE_ENV === 'production'
? path.join(process.resourcesPath, 'static/daemon', 'lbrynet') ? path.join(process.resourcesPath, 'static/daemon', 'lbrynet')
: path.join(__static, 'daemon/lbrynet')); : path.join(__static, 'daemon/lbrynet'));
static headersPath =
process.env.LBRY_DAEMON ||
(process.env.NODE_ENV === 'production'
? path.join(process.resourcesPath, 'static/daemon', 'headers')
: path.join(__static, 'daemon/headers'));
subprocess; subprocess;
handlers; handlers;
@ -16,8 +24,13 @@ export default class Daemon {
} }
launch() { launch() {
this.subprocess = spawn(Daemon.path, ['start']); let flags = ['start'];
if (fs.existsSync(Daemon.headersPath)) {
flags.push(`--initial-headers=${Daemon.headersPath}`);
}
this.subprocess = spawn(Daemon.lbrynetPath, flags);
this.subprocess.stdout.on('data', data => console.log(`Daemon: ${data}`)); this.subprocess.stdout.on('data', data => console.log(`Daemon: ${data}`));
this.subprocess.stderr.on('data', data => console.error(`Daemon: ${data}`)); this.subprocess.stderr.on('data', data => console.error(`Daemon: ${data}`));
this.subprocess.on('exit', () => this.fire('exit')); this.subprocess.on('exit', () => this.fire('exit'));

View file

@ -46,12 +46,16 @@ let mainConfig = {
{ {
from: `${STATIC_ROOT}/`, from: `${STATIC_ROOT}/`,
to: `${DIST_ROOT}/electron/static/`, to: `${DIST_ROOT}/electron/static/`,
ignore: ['index-web.html', 'index-electron.html'], ignore: ['index-web.html', 'index-electron.html', 'daemon/**/*'],
}, },
{ {
from: `${STATIC_ROOT}/index-electron.html`, from: `${STATIC_ROOT}/index-electron.html`,
to: `${DIST_ROOT}/electron/static/index.html`, to: `${DIST_ROOT}/electron/static/index.html`,
}, },
{
from: `${STATIC_ROOT}/daemon`,
to: `${DIST_ROOT}/electron/daemon`,
},
]), ]),
], ],
}; };