From 4c58d4af6935a9e7d67ead105c2f7c548e59cda0 Mon Sep 17 00:00:00 2001 From: Thomas Nordquist Date: Thu, 21 Feb 2019 13:16:35 +0100 Subject: [PATCH] WiP --- appveyor.yml | 5 ++++- package.json | 7 +++++-- scripts/prepare-release.sh | 26 ------------------------ scripts/prepare-release.ts | 41 ++++++++++++++++++++++++++------------ 4 files changed, 37 insertions(+), 42 deletions(-) delete mode 100755 scripts/prepare-release.sh diff --git a/appveyor.yml b/appveyor.yml index f2058527..b613482c 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -10,11 +10,14 @@ install: - ps: Install-Product node 10 build_script: -# - rm .travis.yml - yarn - yarn prepare-release - yarn package win +artifacts: + - path: 'build\clean\build\MQTT-Explorer*.appx' + - path: 'build\clean\build\MQTT-Explorer*.exe' + test_script: - yarn test diff --git a/package.json b/package.json index 1e4ac417..a5a6e7ad 100644 --- a/package.json +++ b/package.json @@ -32,8 +32,11 @@ "category": "Development", "maintainer": "Thomas Nordquist" }, - "windows": { - "applicationId": "de.t7n.apps.mqttexplorer" + "appx": { + "applicationId": "de.t7n.apps.mqttexplorer", + "identityName": "51031thomas.nordquist.MQTT-Explorer", + "publisherDisplayName": "Thomas Nordquist", + "publisher": "0A6DE643-4AA2-4FF2-9729-6935C9ED8C13" }, "directories": { "app": "./", diff --git a/scripts/prepare-release.sh b/scripts/prepare-release.sh deleted file mode 100755 index b8060995..00000000 --- a/scripts/prepare-release.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash -set -e - -ORIGINAL_DIR=`pwd` -DIR=build/clean - -rm -rf "$DIR" || echo "Directory did not exist" -mkdir -p "$DIR" - -git clone .git "$DIR" -cd $DIR - -# App -cd app - yarn -cd .. - -# Build -yarn -yarn build -rm -rf node_modules -yarn install --production - -rm -rf app/node_modules - -cd "$ORIGINAL_DIR" diff --git a/scripts/prepare-release.ts b/scripts/prepare-release.ts index d3337892..872371ba 100644 --- a/scripts/prepare-release.ts +++ b/scripts/prepare-release.ts @@ -3,13 +3,30 @@ import * as path from 'path' import { spawn, ChildProcess } from 'child_process' import { chdir } from 'process' -async function waitFor(child: ChildProcess) { - child.stdout.on('data', (data: Buffer) => { +async function exec(cmd: string, args: string[] = []) { + const child = spawn(cmd, args, { shell: true }) + redirectOutputFor(child) + await waitFor(child) +} + +function redirectOutputFor(child: ChildProcess) { + const printStdout = (data: Buffer) => { process.stdout.write(data.toString()) - }) - child.stderr.on('data', (data: Buffer) => { + } + const printStderr = (data: Buffer) => { process.stderr.write(data.toString()) + } + child.stdout.on('data', printStdout) + child.stderr.on('data', printStderr) + + child.once('close', () => { + child.stdout.off('data', printStdout) + child.stderr.off('data', printStderr) }) +} + +async function waitFor(child: ChildProcess) { + return new Promise((resolve) => { child.once('close', () => resolve()) }) @@ -21,28 +38,26 @@ async function prepareRelease() { await fs.remove(targetDir) await fs.mkdirp(targetDir) - let process = spawn('git', ['clone', '.git', targetDir], { shell: true }) - await waitFor(process) + // Create fresh clone of the local git repo + await exec('git', ['clone', '.git', targetDir]) + // Enter git repo chdir(targetDir) // Install app dependencies chdir('app') - process = spawn('yarn', [], { shell: true }) - await waitFor(process) + await exec('yarn') chdir('..') // Install electron dependencies - process = spawn('yarn', [], { shell: true }) - await waitFor(process) + await exec('yarn') // Build App and Electron backend - process = spawn('yarn', ['build'], { shell: true }) - await waitFor(process) + await exec('yarn', ['build']) // Clean up await fs.remove('node_modules') - process = spawn('yarn', ['install', '--production'], { shell: true }) + await exec('yarn', ['install', '--production']) await fs.remove(path.join('app', 'node_modules')) chdir(originalDir)