Skip to content

Commit 2c68c96

Browse files
committed
Merge branch 'develop' into alpha
2 parents 6bbfe4c + 2487bdd commit 2c68c96

File tree

10 files changed

+334
-2
lines changed

10 files changed

+334
-2
lines changed

.env.enc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
9�R9�^�❆b�Y�8�������f>�Ԧ�*�������i���a�G�YK]=��K���7���i6�a ����Ϟ

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,4 @@ advancedrestclient.pfx
3434
arc-mac-certs.p12
3535
certs.tar
3636
web_modules
37+
.env

.travis.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
matrix:
1+
jobs:
22
include:
33
- os: osx
44
osx_image: xcode10.2
@@ -8,7 +8,6 @@ matrix:
88
- ELECTRON_CACHE=$HOME/.cache/electron
99
- ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder
1010
- os: linux
11-
sudo: required
1211
language: node_js
1312
node_js: stable
1413
services:

build/entitlements.mac.plist

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
6+
<true/>
7+
</dict>
8+
</plist>

package-lock.json

Lines changed: 215 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,12 @@
6262
"chai": "^4.2.0",
6363
"cors": "^2.8.5",
6464
"cross-env": "^6.0.3",
65+
"dotenv": "^8.2.0",
6566
"electron": "^8.0.1",
6667
"electron-builder": "^22.2.0",
6768
"electron-mocha": "^8.2.1",
69+
"electron-notarize": "^0.2.1",
70+
"electron-windows-store": "^2.1.0",
6871
"eslint-config-google": "^0.14.0",
6972
"esm": "^3.2.25",
7073
"express": "^4.17.1",
@@ -115,6 +118,7 @@
115118
"detectUpdateChannel": true,
116119
"npmRebuild": true,
117120
"buildDependenciesFromSource": false,
121+
"afterSign": "tasks/notarize.js",
118122
"files": [
119123
"app.html",
120124
"app.js",
@@ -131,6 +135,10 @@
131135
"mac": {
132136
"category": "public.app-category.developer-tools",
133137
"icon": "build/icon.icns",
138+
"hardenedRuntime": true,
139+
"gatekeeperAssess": false,
140+
"entitlements": "build/entitlements.mac.plist",
141+
"entitlementsInherit": "build/entitlements.mac.plist",
134142
"target": [
135143
{
136144
"target": "dmg",
@@ -147,6 +155,7 @@
147155
]
148156
},
149157
"dmg": {
158+
"sign": false,
150159
"contents": [
151160
{
152161
"x": 110,

tasks/arc-publish.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ echo "Copying certificate files to main directory..."
1111
cp certs/advancedrestclient.pfx .
1212
cp certs/arc-mac-certs.p12 .
1313

14+
echo "Decrypting .env file..."
15+
openssl aes-256-cbc -K $encrypted_cb8606543db7_key -iv $encrypted_cb8606543db7_iv -in .env.enc -out .env -d
16+
1417
export CSC_NAME="Pawel Psztyc"
1518
export WIN_CSC_LINK="advancedrestclient.pfx"
1619
export CSC_LINK="arc-mac-certs.p12"

tasks/build-win-store-package.js

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
const convertToWindowsStore = require('electron-windows-store');
2+
const ebuilder = require('electron-builder');
3+
const path = require('path');
4+
const fs = require('fs-extra');
5+
6+
/**
7+
* A script that performs Windows build and signing then it converts
8+
* the build into APPX package that can be ditributed in Windows store.
9+
*
10+
* The build script assumes the following variables are set:
11+
* - CSC_NAME
12+
* - CSC_LINK
13+
* - WIN_CSC_LINK
14+
* - CSC_KEY_PASSWORD
15+
* - WIN_CSC_KEY_PASSWORD
16+
*/
17+
class WindowsStoreBuild {
18+
async getConverterOpts() {
19+
const version = await this.getVersion();
20+
return {
21+
inputDirectory: path.join(__dirname, '..', 'dist', 'win-unpacked'),
22+
outputDirectory: path.join(__dirname, '..', 'dist', 'win-store'),
23+
packageVersion: version,
24+
packageName: 'AdvancedRestClient',
25+
packageDisplayName: 'Advanced REST Client',
26+
packageDescription: 'The Advanced REST Client desktop application.',
27+
assets: path.join(__dirname, '..', 'build', 'appx'),
28+
deploy: false,
29+
publisher: 'CN=D213CA20-88CE-42AC-A9F2-C5D41BF04550',
30+
publisherDisplayName: 'Pawel Psztyc',
31+
identityName: '48695PawelPsztyc.advanced-rest-client',
32+
};
33+
}
34+
35+
async getVersion() {
36+
const file = path.join(__dirname, '..', 'package.json');
37+
const pkg = await fs.readJson(file);
38+
return `${pkg.version}.0`;
39+
}
40+
41+
async getWinConfig() {
42+
const file = path.join(__dirname, '..', 'package.json');
43+
const pkg = await fs.readJson(file);
44+
return pkg.build;
45+
}
46+
47+
async buildWindows() {
48+
const config = await this.getWinConfig();
49+
const Platform = ebuilder.Platform;
50+
const opts = {
51+
targets: Platform.WINDOWS.createTarget('nsis'),
52+
config,
53+
};
54+
return await ebuilder.build(opts);
55+
}
56+
57+
async convert() {
58+
const options = await this.getConverterOpts();
59+
await convertToWindowsStore(options);
60+
}
61+
62+
async build() {
63+
await this.buildWindows();
64+
await this.convert();
65+
}
66+
}
67+
68+
new WindowsStoreBuild().build();

0 commit comments

Comments
 (0)