| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- /**
- * @author oldj
- * @blog http://oldj.net
- */
- 'use strict';
- const fs = require('fs');
- const path = require('path');
- // const util = require('util');
- const exec = require('child_process').exec;
- const gulp = require('gulp');
- const beautify = require('js-beautify').js_beautify;
- const ELECTRON_VERSION = '1.4.8';
- gulp.task('ver', () => {
- let fn = path.join(__dirname, 'src', 'version.js');
- let version = require('./src/version').version;
- version[3]++;
- console.log(`version -> ${version.join('.')}`);
- let cnt = `exports.version = ${JSON.stringify(version)};`;
- fs.writeFileSync(fn, cnt, 'utf-8');
- // update package.json
- fn = './package.json';
- cnt = fs.readFileSync(fn);
- let d = JSON.parse(cnt);
- d.version = version.slice(0, 3).join('.');
- cnt = beautify(JSON.stringify(d), {indent_size: 2});
- fs.writeFileSync(fn, cnt, 'utf-8');
- });
- gulp.task('pack', () => {
- let version = require('./src/version').version;
- let v1 = version.slice(0, 3).join('.');
- let v2 = version[3];
- let cmds = `
- # for macOS
- electron-packager . 'SwitchHosts!' --platform=darwin --arch=x64 --version=${ELECTRON_VERSION} --overwrite --asar=true --prune --icon=../assets/app.icns --ignore=node_modules/.bin --ignore=.git --ignore=dist --ignore=node_modules/electron-* --out=dist --app-version=${v1} --build-version=${v2}
- cp ../assets/Credits.rtf dist/SwitchHosts\!-darwin-x64/SwitchHosts\!.app/Contents/Resources/en.lproj
- # for windows x64
- electron-packager . 'SwitchHosts!' --platform=win32 --arch=x64 --version=${ELECTRON_VERSION} --overwrite --asar=true --prune --icon=../assets/app.ico --ignore=node_modules/.bin --ignore=.git --ignore=dist --ignore=node_modules/electron-* --out=dist --app-version=${v1} --build-version=${v2}
- # for windows ia32
- electron-packager . 'SwitchHosts!' --platform=win32 --arch=ia32 --version=${ELECTRON_VERSION} --overwrite --asar=true --prune --icon=../assets/app.ico --ignore=node_modules/.bin --ignore=.git --ignore=dist --ignore=node_modules/electron-* --out=dist --app-version=${v1} --build-version=${v2}
- # for linux x86_64
- electron-packager . 'SwitchHosts!' --platform=linux --arch=x64 --version=${ELECTRON_VERSION} --overwrite --asar=true --prune --icon=../assets/app.ico --ignore=node_modules/.bin --ignore=.git --ignore=dist --ignore=node_modules/electron-* --out=dist --app-version=${v1} --build-version=${v2}
- `;
- console.log(`start packing, v: ${v1}.${v2} ..`);
- console.log(cmds);
- exec(cmds, (error, stdout, stderr) => {
- console.log('end pack.');
- if (error) {
- console.error(`exec error: ${error}`);
- }
- // if (stdout) console.log(`${stdout}`);
- // if (stderr) console.log(`${stderr}`);
- });
- });
- gulp.task('zip', () => {
- let version = require('./src/version').version;
- let v = version.join('.');
- let cmds = `
- cd ./dist
- rm -f ./SwitchHosts-*.zip
- zip -ry SwitchHosts-macOS-x64_v${v}.zip ./SwitchHosts\\!-darwin-x64/SwitchHosts\\!.app
- zip -ry SwitchHosts-win32-x64_v${v}.zip ./SwitchHosts\\!-win32-x64
- zip -ry SwitchHosts-win32-ia32_v${v}.zip ./SwitchHosts\\!-win32-ia32
- zip -ry SwitchHosts-linux-x64_v${v}.zip ./SwitchHosts\\!-linux-x64
- cd ..
- `;
- console.log(`start zip ..`);
- exec(cmds, (error, stdout, stderr) => {
- console.log('end zip.');
- if (error) {
- console.error(`exec error: ${error}`);
- }
- // if (stdout) console.log(`${stdout}`);
- // if (stderr) console.log(`${stderr}`);
- });
- });
- gulp.task('default', () => {
- gulp.start('ver');
- gulp.watch([
- './main.js',
- './index.html',
- './src/**/*.*',
- '!./src/version.js'
- ], ['ver']);
- });
|