| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- const package = require('../package.json');
- const electronBuilder = require('../electron-builder.json');
- const { promises } = require('fs');
- const { resolve } = require('path');
- const { run } = require('./utils');
- const isNightly = package.version.indexOf('nightly') !== -1;
- const getPlatform = () => {
- if (process.platform === 'win32') return 'windows';
- else if (process.platform === 'darwin') return 'mac';
- return process.platform;
- };
- const getEnv = (name) => process.env[name.toUpperCase()] || null;
- const setEnv = (name, value) => {
- if (value) {
- process.env[name.toUpperCase()] = value.toString();
- }
- };
- const getInput = (name) => {
- return getEnv(`INPUT_${name}`);
- };
- (async () => {
- try {
- if (isNightly) {
- await promises.copyFile(
- resolve(__dirname, '../package.json'),
- resolve(__dirname, '../temp-package.json'),
- );
- await promises.copyFile(
- resolve(__dirname, '../electron-builder.json'),
- resolve(__dirname, '../temp-electron-builder.json'),
- );
- const newPkg = {
- ...package,
- name: 'wexond-nightly',
- repository: {
- type: 'git',
- url: 'git+https://github.com/wexond/desktop-nightly.git',
- },
- };
- await promises.writeFile(
- resolve(__dirname, '../package.json'),
- JSON.stringify(newPkg),
- );
- const newEBConfig = {
- ...electronBuilder,
- appId: 'org.wexond.wexond-nightly',
- productName: 'Wexond Nightly',
- directories: {
- output: 'dist',
- buildResources: 'static/nightly-icons',
- },
- };
- await promises.writeFile(
- resolve(__dirname, '../electron-builder.json'),
- JSON.stringify(newEBConfig),
- );
- }
- const release =
- (getEnv('release') === 'true' || getEnv('release') === true) &&
- getEnv('GH_TOKEN');
- const platform = getPlatform();
- if (platform === 'mac') {
- setEnv('CSC_LINK', getEnv('mac_certs'));
- setEnv('CSC_KEY_PASSWORD', getEnv('mac_certs_password'));
- } else if (platform === 'windows') {
- setEnv('CSC_LINK', getEnv('windows_certs'));
- setEnv('CSC_KEY_PASSWORD', getEnv('windows_certs_password'));
- }
- run('yarn run build');
- run(
- `npx --no-install electron-builder --${platform} ${
- release ? '-p always' : ''
- }`,
- );
- } catch (e) {
- console.error(e);
- process.exit(1);
- }
- })();
|