Skip to content
This repository has been archived by the owner on Jun 14, 2021. It is now read-only.

Commit

Permalink
Improve buiding support for Windows
Browse files Browse the repository at this point in the history
  • Loading branch information
Ragg authored and Ragg committed Apr 29, 2017
1 parent 76ddf52 commit 3e8b3fe
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 11 deletions.
22 changes: 13 additions & 9 deletions gulpfile.babel.js
Expand Up @@ -7,6 +7,7 @@ const builder = require('electron-builder')
const nib = require('nib')
const notifier = require('node-notifier')

const os = require('os')
const fs = require("fs-promise");
const {join} = require("path");
const {spawn, spawnSync} = require("child_process");
Expand All @@ -28,6 +29,7 @@ const paths = {
binary : join(__dirname, "./release/"),
};

const isWindows = os.type() === 'Windows_NT'
const DELIR_ENV = process.env.DELIR_ENV

export function buildBrowserJs() {
Expand Down Expand Up @@ -325,34 +327,36 @@ export function copyImage() {

export function makeIcon() {
return new Promise((resolve, reject) => {
const bin = join(__dirname, 'node_modules/.bin/electron-icon-maker')
const binName = isWindows ? 'electron-icon-maker.cmd' : 'electron-icon-maker'
const binPath = join(__dirname, 'node_modules/.bin/', binName)
const source = join(__dirname, 'build-assets/icon.png')

const iconMaker = spawn(bin, [`--input=${source}`, `--output=./build-assets`]);
iconMaker.on('close', (code) => {
code === 0 ? resolve() : reject()
})
const iconMaker = spawn(binPath, [`--input=${source}`, `--output=./build-assets`]);
iconMaker
.on('error', err => reject(err))
.on('close', (code, signal) => code === 0 ? resolve() : reject(new Error(signal)))
})
}

export async function pack(done) {
const pjson = require("./package.json");
const yarnBin = isWindows ? 'yarn.cmd' : 'yarn'

await rimraf(join(paths.build, 'node_modules'))

await new Promise((resolve, reject) => {
spawn('yarn', ['install'], {cwd: paths.build}).on('close', code => code === 0 ? resolve() : reject())
spawn(yarnBin, ['install'], {cwd: paths.build})
.on('error', err => reject(err))
.on('close', (code, signal) => code === 0 ? resolve() : reject(new Error(signal)))
})

const targets = [
builder.Platform.MAC.createTarget(),
...(!isWindows ? [builder.Platform.MAC.createTarget()] : []),
builder.Platform.WINDOWS.createTarget(),
// ...builder.Platform.LINUX.createTarget(),
]

for (const target of targets) {


await builder.build({
// targets: builder.Platform.MAC.createTarget(),
targets: target,
Expand Down
1 change: 1 addition & 0 deletions package.json
Expand Up @@ -44,6 +44,7 @@
"babel-preset-flow": "^6.23.0",
"babel-preset-react": "^6.24.1",
"clean-webpack-plugin": "^0.1.16",
"cross-env": "^4.0.0",
"css-loader": "^0.28.0",
"devtron": "^1.4.0",
"electron": "^1.6.6",
Expand Down
33 changes: 31 additions & 2 deletions yarn.lock
Expand Up @@ -1593,13 +1593,28 @@ create-hmac@^1.1.0, create-hmac@^1.1.2:
create-hash "^1.1.0"
inherits "^2.0.1"

cross-env@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-4.0.0.tgz#16083862d08275a4628b0b243b121bedaa55dd80"
dependencies:
cross-spawn "^5.1.0"
is-windows "^1.0.0"

cross-spawn-async@^2.1.1:
version "2.2.5"
resolved "https://registry.yarnpkg.com/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz#845ff0c0834a3ded9d160daca6d390906bb288cc"
dependencies:
lru-cache "^4.0.0"
which "^1.2.8"

cross-spawn@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
dependencies:
lru-cache "^4.0.1"
shebang-command "^1.2.0"
which "^1.2.9"

cross-unzip@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/cross-unzip/-/cross-unzip-0.0.2.tgz#5183bc47a09559befcf98cc4657964999359372f"
Expand Down Expand Up @@ -3301,6 +3316,10 @@ is-windows@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c"

is-windows@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.1.tgz#310db70f742d259a16a369202b51af84233310d9"

isarray@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
Expand Down Expand Up @@ -3805,7 +3824,7 @@ lowercase-keys@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306"

lru-cache@^4.0.0:
lru-cache@^4.0.0, lru-cache@^4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e"
dependencies:
Expand Down Expand Up @@ -5381,6 +5400,16 @@ sha.js@^2.3.6:
dependencies:
inherits "^2.0.1"

shebang-command@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
dependencies:
shebang-regex "^1.0.0"

shebang-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"

shellwords@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.0.tgz#66afd47b6a12932d9071cbfd98a52e785cd0ba14"
Expand Down Expand Up @@ -6224,7 +6253,7 @@ which-module@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"

which@1, which@^1.2.11, which@^1.2.12, which@^1.2.8, which@~1.2.10:
which@1, which@^1.2.11, which@^1.2.12, which@^1.2.8, which@^1.2.9, which@~1.2.10:
version "1.2.14"
resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5"
dependencies:
Expand Down

0 comments on commit 3e8b3fe

Please sign in to comment.