app-builder-lib 22.14.13 → 23.0.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/asar/asar.d.ts +1 -0
- package/out/asar/asar.js +11 -4
- package/out/asar/asar.js.map +1 -1
- package/out/asar/asarUtil.js +4 -2
- package/out/asar/asarUtil.js.map +1 -1
- package/out/asar/integrity.d.ts +13 -11
- package/out/asar/integrity.js +68 -12
- package/out/asar/integrity.js.map +1 -1
- package/out/codeSign/macCodeSign.js.map +1 -1
- package/out/configuration.d.ts +1 -0
- package/out/configuration.js.map +1 -1
- package/out/electron/electronMac.js +1 -1
- package/out/electron/electronMac.js.map +1 -1
- package/out/macPackager.js +3 -0
- package/out/macPackager.js.map +1 -1
- package/out/options/FileAssociation.d.ts +3 -3
- package/out/options/FileAssociation.js.map +1 -1
- package/out/options/MsiOptions.d.ts +0 -4
- package/out/options/MsiOptions.js.map +1 -1
- package/out/options/PlatformSpecificBuildOptions.d.ts +1 -2
- package/out/options/PlatformSpecificBuildOptions.js.map +1 -1
- package/out/options/SnapOptions.d.ts +5 -0
- package/out/options/SnapOptions.js.map +1 -1
- package/out/options/linuxOptions.d.ts +1 -1
- package/out/options/linuxOptions.js.map +1 -1
- package/out/options/macOptions.d.ts +15 -0
- package/out/options/macOptions.js.map +1 -1
- package/out/platformPackager.js +2 -1
- package/out/platformPackager.js.map +1 -1
- package/out/publish/PublishManager.js +7 -12
- package/out/publish/PublishManager.js.map +1 -1
- package/out/publish/s3/s3Publisher.d.ts +1 -1
- package/out/publish/s3/s3Publisher.js +1 -1
- package/out/publish/s3/s3Publisher.js.map +1 -1
- package/out/publish/s3/spacesPublisher.d.ts +1 -1
- package/out/publish/s3/spacesPublisher.js +1 -1
- package/out/publish/s3/spacesPublisher.js.map +1 -1
- package/out/publish/updateInfoBuilder.js +2 -4
- package/out/publish/updateInfoBuilder.js.map +1 -1
- package/out/targets/MsiTarget.d.ts +6 -0
- package/out/targets/MsiTarget.js +32 -21
- package/out/targets/MsiTarget.js.map +1 -1
- package/out/targets/nsis/NsisTarget.js +1 -0
- package/out/targets/nsis/NsisTarget.js.map +1 -1
- package/out/targets/snap.js +4 -0
- package/out/targets/snap.js.map +1 -1
- package/out/version.d.ts +1 -1
- package/out/version.js +1 -1
- package/out/version.js.map +1 -1
- package/package.json +8 -8
- package/scheme.json +39 -215
- package/templates/msi/template.xml +42 -15
- package/templates/nsis/include/extractAppPackage.nsh +36 -0
- package/templates/nsis/include/installUtil.nsh +36 -8
- package/templates/nsis/messages.yml +2 -0
- package/templates/nsis/uninstaller.nsh +131 -7
- package/templates/snap/snapcraft.yaml +1 -0
- package/out/publish/BintrayPublisher.d.ts +0 -17
- package/out/publish/BintrayPublisher.js +0 -89
- package/out/publish/BintrayPublisher.js.map +0 -1
- package/templates/msi/WixUI_Assisted.wxs +0 -134
|
@@ -90,5 +90,41 @@
|
|
|
90
90
|
!macroend
|
|
91
91
|
|
|
92
92
|
!macro extractUsing7za FILE
|
|
93
|
+
Push $OUTDIR
|
|
94
|
+
CreateDirectory "$PLUGINSDIR\7z-out"
|
|
95
|
+
ClearErrors
|
|
96
|
+
SetOutPath "$PLUGINSDIR\7z-out"
|
|
97
|
+
Nsis7z::Extract "${FILE}"
|
|
98
|
+
Pop $R0
|
|
99
|
+
SetOutPath $R0
|
|
100
|
+
|
|
101
|
+
# Retry counter
|
|
102
|
+
StrCpy $R1 0
|
|
103
|
+
|
|
104
|
+
LoopExtract7za:
|
|
105
|
+
IntOp $R1 $R1 + 1
|
|
106
|
+
|
|
107
|
+
# Attempt to copy files in atomic way
|
|
108
|
+
CopyFiles /SILENT "$PLUGINSDIR\7z-out\*" $OUTDIR
|
|
109
|
+
IfErrors 0 DoneExtract7za
|
|
110
|
+
|
|
111
|
+
DetailPrint `Can't modify "${PRODUCT_NAME}"'s files.`
|
|
112
|
+
${if} $R1 < 5
|
|
113
|
+
# Try copying a few times before asking for a user action.
|
|
114
|
+
Goto RetryExtract7za
|
|
115
|
+
${else}
|
|
116
|
+
MessageBox MB_RETRYCANCEL|MB_ICONEXCLAMATION "$(appCannotBeClosed)" /SD IDCANCEL IDRETRY RetryExtract7za
|
|
117
|
+
${endIf}
|
|
118
|
+
|
|
119
|
+
# As an absolutely last resort after a few automatic attempts and user
|
|
120
|
+
# intervention - we will just overwrite everything with `Nsis7z::Extract`
|
|
121
|
+
# even though it is not atomic and will ignore errors.
|
|
93
122
|
Nsis7z::Extract "${FILE}"
|
|
123
|
+
Quit
|
|
124
|
+
|
|
125
|
+
RetryExtract7za:
|
|
126
|
+
Sleep 1000
|
|
127
|
+
Goto LoopExtract7za
|
|
128
|
+
|
|
129
|
+
DoneExtract7za:
|
|
94
130
|
!macroend
|
|
@@ -126,7 +126,10 @@ Function handleUninstallResult
|
|
|
126
126
|
Return
|
|
127
127
|
|
|
128
128
|
${if} $R0 != 0
|
|
129
|
+
MessageBox MB_OK|MB_ICONEXCLAMATION "$(uninstallFailed): $R0"
|
|
129
130
|
DetailPrint `Uninstall was not successful. Uninstaller error code: $R0.`
|
|
131
|
+
SetErrorLevel 2
|
|
132
|
+
Quit
|
|
130
133
|
${endif}
|
|
131
134
|
FunctionEnd
|
|
132
135
|
|
|
@@ -156,7 +159,7 @@ Function uninstallOldVersion
|
|
|
156
159
|
!endif
|
|
157
160
|
${if} $uninstallString == ""
|
|
158
161
|
ClearErrors
|
|
159
|
-
|
|
162
|
+
Return
|
|
160
163
|
${endif}
|
|
161
164
|
${endif}
|
|
162
165
|
|
|
@@ -175,7 +178,7 @@ Function uninstallOldVersion
|
|
|
175
178
|
${if} $installationDir == ""
|
|
176
179
|
${andIf} $uninstallerFileName == ""
|
|
177
180
|
ClearErrors
|
|
178
|
-
|
|
181
|
+
Return
|
|
179
182
|
${endif}
|
|
180
183
|
|
|
181
184
|
${if} $installMode == "CurrentUser"
|
|
@@ -206,12 +209,37 @@ Function uninstallOldVersion
|
|
|
206
209
|
StrCpy $uninstallerFileNameTemp "$PLUGINSDIR\old-uninstaller.exe"
|
|
207
210
|
!insertmacro copyFile "$uninstallerFileName" "$uninstallerFileNameTemp"
|
|
208
211
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
212
|
+
# Retry counter
|
|
213
|
+
StrCpy $R5 0
|
|
214
|
+
|
|
215
|
+
UninstallLoop:
|
|
216
|
+
IntOp $R5 $R5 + 1
|
|
217
|
+
|
|
218
|
+
${if} $R5 > 5
|
|
219
|
+
MessageBox MB_RETRYCANCEL|MB_ICONEXCLAMATION "$(appCannotBeClosed)" /SD IDCANCEL IDRETRY OneMoreAttempt
|
|
220
|
+
Return
|
|
221
|
+
${endIf}
|
|
222
|
+
|
|
223
|
+
OneMoreAttempt:
|
|
224
|
+
ExecWait '"$uninstallerFileNameTemp" /S /KEEP_APP_DATA $0 _?=$installationDir' $R0
|
|
225
|
+
ifErrors TryInPlace CheckResult
|
|
226
|
+
|
|
227
|
+
TryInPlace:
|
|
228
|
+
# the execution failed - might have been caused by some group policy restrictions
|
|
229
|
+
# we try to execute the uninstaller in place
|
|
230
|
+
ExecWait '"$uninstallerFileName" /S /KEEP_APP_DATA $0 _?=$installationDir' $R0
|
|
231
|
+
ifErrors DoesNotExist
|
|
232
|
+
|
|
233
|
+
CheckResult:
|
|
234
|
+
${if} $R0 == 0
|
|
235
|
+
Return
|
|
236
|
+
${endIf}
|
|
237
|
+
|
|
238
|
+
Sleep 1000
|
|
239
|
+
Goto UninstallLoop
|
|
240
|
+
|
|
241
|
+
DoesNotExist:
|
|
242
|
+
SetErrors
|
|
215
243
|
FunctionEnd
|
|
216
244
|
|
|
217
245
|
!macro uninstallOldVersion ROOT_KEY
|
|
@@ -144,3 +144,5 @@ areYouSureToUninstall:
|
|
|
144
144
|
da: Er du sikker på, at du vil afinstallere ${PRODUCT_NAME}?
|
|
145
145
|
decompressionFailed:
|
|
146
146
|
en: Failed to decompress files. Please try running the installer again.
|
|
147
|
+
uninstallFailed:
|
|
148
|
+
en: Failed to uninstall old application files. Please try running the installer again.
|
|
@@ -28,6 +28,109 @@ Function un.onInit
|
|
|
28
28
|
!endif
|
|
29
29
|
FunctionEnd
|
|
30
30
|
|
|
31
|
+
Function un.atomicRMDir
|
|
32
|
+
Exch $R0
|
|
33
|
+
Push $R1
|
|
34
|
+
Push $R2
|
|
35
|
+
Push $R3
|
|
36
|
+
|
|
37
|
+
StrCpy $R3 "$INSTDIR$R0\*.*"
|
|
38
|
+
FindFirst $R1 $R2 $R3
|
|
39
|
+
|
|
40
|
+
loop:
|
|
41
|
+
StrCmp $R2 "" break
|
|
42
|
+
|
|
43
|
+
StrCmp $R2 "." continue
|
|
44
|
+
StrCmp $R2 ".." continue
|
|
45
|
+
|
|
46
|
+
IfFileExists "$INSTDIR$R0\$R2\*.*" isDir isNotDir
|
|
47
|
+
|
|
48
|
+
isDir:
|
|
49
|
+
CreateDirectory "$PLUGINSDIR\old-install$R0\$R2"
|
|
50
|
+
|
|
51
|
+
Push "$R0\$R2"
|
|
52
|
+
Call un.atomicRMDir
|
|
53
|
+
Pop $R3
|
|
54
|
+
|
|
55
|
+
${if} $R3 != 0
|
|
56
|
+
Goto done
|
|
57
|
+
${endIf}
|
|
58
|
+
|
|
59
|
+
Goto continue
|
|
60
|
+
|
|
61
|
+
isNotDir:
|
|
62
|
+
ClearErrors
|
|
63
|
+
Rename "$INSTDIR$R0\$R2" "$PLUGINSDIR\old-install$R0\$R2"
|
|
64
|
+
|
|
65
|
+
# Ignore errors when renaming ourselves.
|
|
66
|
+
StrCmp "$R0\$R2" "${UNINSTALL_FILENAME}" 0 +2
|
|
67
|
+
ClearErrors
|
|
68
|
+
|
|
69
|
+
IfErrors 0 +3
|
|
70
|
+
StrCpy $R3 "$INSTDIR$R0\$R2"
|
|
71
|
+
Goto done
|
|
72
|
+
|
|
73
|
+
continue:
|
|
74
|
+
FindNext $R1 $R2
|
|
75
|
+
Goto loop
|
|
76
|
+
|
|
77
|
+
break:
|
|
78
|
+
StrCpy $R3 0
|
|
79
|
+
|
|
80
|
+
done:
|
|
81
|
+
FindClose $R1
|
|
82
|
+
|
|
83
|
+
StrCpy $R0 $R3
|
|
84
|
+
|
|
85
|
+
Pop $R3
|
|
86
|
+
Pop $R2
|
|
87
|
+
Pop $R1
|
|
88
|
+
Exch $R0
|
|
89
|
+
FunctionEnd
|
|
90
|
+
|
|
91
|
+
Function un.restoreFiles
|
|
92
|
+
Exch $R0
|
|
93
|
+
Push $R1
|
|
94
|
+
Push $R2
|
|
95
|
+
Push $R3
|
|
96
|
+
|
|
97
|
+
StrCpy $R3 "$PLUGINSDIR\old-install$R0\*.*"
|
|
98
|
+
FindFirst $R1 $R2 $R3
|
|
99
|
+
|
|
100
|
+
loop:
|
|
101
|
+
StrCmp $R2 "" break
|
|
102
|
+
|
|
103
|
+
StrCmp $R2 "." continue
|
|
104
|
+
StrCmp $R2 ".." continue
|
|
105
|
+
|
|
106
|
+
IfFileExists "$INSTDIR$R0\$R2\*.*" isDir isNotDir
|
|
107
|
+
|
|
108
|
+
isDir:
|
|
109
|
+
CreateDirectory "$INSTDIR$R0\$R2"
|
|
110
|
+
|
|
111
|
+
Push "$R0\$R2"
|
|
112
|
+
Call un.restoreFiles
|
|
113
|
+
Pop $R3
|
|
114
|
+
|
|
115
|
+
Goto continue
|
|
116
|
+
|
|
117
|
+
isNotDir:
|
|
118
|
+
Rename $PLUGINSDIR\old-install$R0\$R2" "$INSTDIR$R0\$R2"
|
|
119
|
+
|
|
120
|
+
continue:
|
|
121
|
+
FindNext $R1 $R2
|
|
122
|
+
Goto loop
|
|
123
|
+
|
|
124
|
+
break:
|
|
125
|
+
StrCpy $R0 0
|
|
126
|
+
FindClose $R1
|
|
127
|
+
|
|
128
|
+
Pop $R3
|
|
129
|
+
Pop $R2
|
|
130
|
+
Pop $R1
|
|
131
|
+
Exch $R0
|
|
132
|
+
FunctionEnd
|
|
133
|
+
|
|
31
134
|
Section "un.install"
|
|
32
135
|
# for assisted installer we check it here to show progress
|
|
33
136
|
!ifndef ONE_CLICK
|
|
@@ -38,6 +141,34 @@ Section "un.install"
|
|
|
38
141
|
|
|
39
142
|
!insertmacro setLinkVars
|
|
40
143
|
|
|
144
|
+
# delete the installed files
|
|
145
|
+
!ifmacrodef customRemoveFiles
|
|
146
|
+
!insertmacro customRemoveFiles
|
|
147
|
+
!else
|
|
148
|
+
${if} ${isUpdated}
|
|
149
|
+
CreateDirectory "$PLUGINSDIR\old-install"
|
|
150
|
+
|
|
151
|
+
Push ""
|
|
152
|
+
Call un.atomicRMDir
|
|
153
|
+
Pop $R0
|
|
154
|
+
|
|
155
|
+
${if} $R0 != 0
|
|
156
|
+
DetailPrint "File is busy, aborting: $R0"
|
|
157
|
+
|
|
158
|
+
# Attempt to restore previous directory
|
|
159
|
+
Push ""
|
|
160
|
+
Call un.restoreFiles
|
|
161
|
+
Pop $R0
|
|
162
|
+
|
|
163
|
+
Abort `Can't rename "$INSTDIR" to "$PLUGINSDIR\old-install".`
|
|
164
|
+
${endif}
|
|
165
|
+
|
|
166
|
+
${endif}
|
|
167
|
+
|
|
168
|
+
# Remove all files (or remaining shallow directories from the block above)
|
|
169
|
+
RMDir /r $INSTDIR
|
|
170
|
+
!endif
|
|
171
|
+
|
|
41
172
|
${ifNot} ${isKeepShortcuts}
|
|
42
173
|
WinShell::UninstAppUserModelId "${APP_ID}"
|
|
43
174
|
|
|
@@ -64,13 +195,6 @@ Section "un.install"
|
|
|
64
195
|
!insertmacro unregisterFileAssociations
|
|
65
196
|
!endif
|
|
66
197
|
|
|
67
|
-
# delete the installed files
|
|
68
|
-
!ifmacrodef customRemoveFiles
|
|
69
|
-
!insertmacro customRemoveFiles
|
|
70
|
-
!else
|
|
71
|
-
RMDir /r $INSTDIR
|
|
72
|
-
!endif
|
|
73
|
-
|
|
74
198
|
Var /GLOBAL isDeleteAppData
|
|
75
199
|
StrCpy $isDeleteAppData "0"
|
|
76
200
|
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { Arch } from "builder-util";
|
|
3
|
-
import { BintrayOptions } from "builder-util-runtime";
|
|
4
|
-
import { ClientRequest } from "http";
|
|
5
|
-
import { HttpPublisher, PublishContext, PublishOptions } from "electron-publish";
|
|
6
|
-
export declare class BintrayPublisher extends HttpPublisher {
|
|
7
|
-
private readonly version;
|
|
8
|
-
private readonly options;
|
|
9
|
-
private readonly _versionPromise;
|
|
10
|
-
private readonly client;
|
|
11
|
-
readonly providerName = "Bintray";
|
|
12
|
-
constructor(context: PublishContext, info: BintrayOptions, version: string, options?: PublishOptions);
|
|
13
|
-
private init;
|
|
14
|
-
protected doUpload(fileName: string, arch: Arch, dataLength: number, requestProcessor: (request: ClientRequest, reject: (error: Error) => void) => void): Promise<any>;
|
|
15
|
-
deleteRelease(isForce?: boolean): Promise<void>;
|
|
16
|
-
toString(): string;
|
|
17
|
-
}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BintrayPublisher = void 0;
|
|
4
|
-
const builder_util_1 = require("builder-util");
|
|
5
|
-
const builder_util_runtime_1 = require("builder-util-runtime");
|
|
6
|
-
const bintray_1 = require("builder-util-runtime/out/bintray");
|
|
7
|
-
const nodeHttpExecutor_1 = require("builder-util/out/nodeHttpExecutor");
|
|
8
|
-
const lazy_val_1 = require("lazy-val");
|
|
9
|
-
const electron_publish_1 = require("electron-publish");
|
|
10
|
-
class BintrayPublisher extends electron_publish_1.HttpPublisher {
|
|
11
|
-
constructor(context, info, version, options = {}) {
|
|
12
|
-
super(context);
|
|
13
|
-
this.version = version;
|
|
14
|
-
this.options = options;
|
|
15
|
-
this._versionPromise = new lazy_val_1.Lazy(() => this.init());
|
|
16
|
-
this.providerName = "Bintray";
|
|
17
|
-
let token = info.token;
|
|
18
|
-
if (builder_util_1.isEmptyOrSpaces(token)) {
|
|
19
|
-
token = process.env.BT_TOKEN;
|
|
20
|
-
if (builder_util_1.isEmptyOrSpaces(token)) {
|
|
21
|
-
throw new builder_util_1.InvalidConfigurationError(`Bintray token is not set, neither programmatically, nor using env "BT_TOKEN" (see https://www.electron.build/configuration/publish#bintrayoptions)`);
|
|
22
|
-
}
|
|
23
|
-
token = token.trim();
|
|
24
|
-
if (!builder_util_1.isTokenCharValid(token)) {
|
|
25
|
-
throw new builder_util_1.InvalidConfigurationError(`Bintray token (${JSON.stringify(token)}) contains invalid characters, please check env "BT_TOKEN"`);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
this.client = new bintray_1.BintrayClient(info, nodeHttpExecutor_1.httpExecutor, this.context.cancellationToken, token);
|
|
29
|
-
}
|
|
30
|
-
async init() {
|
|
31
|
-
try {
|
|
32
|
-
return await this.client.getVersion(this.version);
|
|
33
|
-
}
|
|
34
|
-
catch (e) {
|
|
35
|
-
if (e instanceof builder_util_runtime_1.HttpError && e.statusCode === 404) {
|
|
36
|
-
if (this.options.publish !== "onTagOrDraft") {
|
|
37
|
-
builder_util_1.log.info({ version: this.version }, "version doesn't exist, creating one");
|
|
38
|
-
return await this.client.createVersion(this.version);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
builder_util_1.log.warn({ reason: "version doesn't exist", version: this.version }, "skipped publishing");
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
throw e;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
async doUpload(fileName, arch, dataLength, requestProcessor) {
|
|
48
|
-
const version = await this._versionPromise.value;
|
|
49
|
-
if (version == null) {
|
|
50
|
-
builder_util_1.log.warn({ file: fileName, reason: "version doesn't exist and is not created", version: this.version }, "skipped publishing");
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
const options = {
|
|
54
|
-
hostname: "api.bintray.com",
|
|
55
|
-
path: `/content/${this.client.owner}/${this.client.repo}/${this.client.packageName}/${encodeURI(`${version.name}/${fileName}`)}`,
|
|
56
|
-
method: "PUT",
|
|
57
|
-
headers: {
|
|
58
|
-
"Content-Length": dataLength,
|
|
59
|
-
"X-Bintray-Override": "1",
|
|
60
|
-
"X-Bintray-Publish": "1",
|
|
61
|
-
"X-Bintray-Debian-Architecture": builder_util_1.toLinuxArchString(arch, "deb"),
|
|
62
|
-
},
|
|
63
|
-
};
|
|
64
|
-
if (this.client.distribution != null) {
|
|
65
|
-
options.headers["X-Bintray-Debian-Distribution"] = this.client.distribution;
|
|
66
|
-
}
|
|
67
|
-
if (this.client.component != null) {
|
|
68
|
-
options.headers["X-Bintray-Debian-Component"] = this.client.component;
|
|
69
|
-
}
|
|
70
|
-
return builder_util_runtime_1.HttpExecutor.retryOnServerError(() => {
|
|
71
|
-
return nodeHttpExecutor_1.httpExecutor.doApiRequest(builder_util_runtime_1.configureRequestOptions(options, this.client.auth), this.context.cancellationToken, requestProcessor);
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
//noinspection JSUnusedGlobalSymbols
|
|
75
|
-
async deleteRelease(isForce = false) {
|
|
76
|
-
if (!isForce && !this._versionPromise.hasValue) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
const version = await this._versionPromise.value;
|
|
80
|
-
if (version != null) {
|
|
81
|
-
await this.client.deleteVersion(version.name);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
toString() {
|
|
85
|
-
return `Bintray (user: ${this.client.user || this.client.owner}, owner: ${this.client.owner}, package: ${this.client.packageName}, repository: ${this.client.repo}, version: ${this.version})`;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
exports.BintrayPublisher = BintrayPublisher;
|
|
89
|
-
//# sourceMappingURL=BintrayPublisher.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BintrayPublisher.js","sourceRoot":"","sources":["../../src/publish/BintrayPublisher.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arch, InvalidConfigurationError, isEmptyOrSpaces, isTokenCharValid, log, toLinuxArchString } from \"builder-util\"\nimport { BintrayOptions, configureRequestOptions, HttpError, HttpExecutor } from \"builder-util-runtime\"\nimport { BintrayClient, Version } from \"builder-util-runtime/out/bintray\"\nimport { httpExecutor } from \"builder-util/out/nodeHttpExecutor\"\nimport { ClientRequest, RequestOptions } from \"http\"\nimport { Lazy } from \"lazy-val\"\nimport { HttpPublisher, PublishContext, PublishOptions } from \"electron-publish\"\n\nexport class BintrayPublisher extends HttpPublisher {\n private readonly _versionPromise = new Lazy(() => this.init())\n\n private readonly client: BintrayClient\n\n readonly providerName = \"Bintray\"\n\n constructor(context: PublishContext, info: BintrayOptions, private readonly version: string, private readonly options: PublishOptions = {}) {\n super(context)\n\n let token = info.token\n if (isEmptyOrSpaces(token)) {\n token = process.env.BT_TOKEN\n if (isEmptyOrSpaces(token)) {\n throw new InvalidConfigurationError(\n `Bintray token is not set, neither programmatically, nor using env \"BT_TOKEN\" (see https://www.electron.build/configuration/publish#bintrayoptions)`\n )\n }\n\n token = token.trim()\n\n if (!isTokenCharValid(token)) {\n throw new InvalidConfigurationError(`Bintray token (${JSON.stringify(token)}) contains invalid characters, please check env \"BT_TOKEN\"`)\n }\n }\n\n this.client = new BintrayClient(info, httpExecutor, this.context.cancellationToken, token)\n }\n\n private async init(): Promise<Version | null> {\n try {\n return await this.client.getVersion(this.version)\n } catch (e) {\n if (e instanceof HttpError && e.statusCode === 404) {\n if (this.options.publish !== \"onTagOrDraft\") {\n log.info({ version: this.version }, \"version doesn't exist, creating one\")\n return await this.client.createVersion(this.version)\n } else {\n log.warn({ reason: \"version doesn't exist\", version: this.version }, \"skipped publishing\")\n }\n }\n\n throw e\n }\n }\n\n protected async doUpload(fileName: string, arch: Arch, dataLength: number, requestProcessor: (request: ClientRequest, reject: (error: Error) => void) => void) {\n const version = await this._versionPromise.value\n if (version == null) {\n log.warn({ file: fileName, reason: \"version doesn't exist and is not created\", version: this.version }, \"skipped publishing\")\n return\n }\n\n const options: RequestOptions = {\n hostname: \"api.bintray.com\",\n path: `/content/${this.client.owner}/${this.client.repo}/${this.client.packageName}/${encodeURI(`${version.name}/${fileName}`)}`,\n method: \"PUT\",\n headers: {\n \"Content-Length\": dataLength,\n \"X-Bintray-Override\": \"1\",\n \"X-Bintray-Publish\": \"1\",\n \"X-Bintray-Debian-Architecture\": toLinuxArchString(arch, \"deb\"),\n },\n }\n\n if (this.client.distribution != null) {\n options.headers![\"X-Bintray-Debian-Distribution\"] = this.client.distribution\n }\n\n if (this.client.component != null) {\n options.headers![\"X-Bintray-Debian-Component\"] = this.client.component\n }\n\n return HttpExecutor.retryOnServerError(() => {\n return httpExecutor.doApiRequest(configureRequestOptions(options, this.client.auth), this.context.cancellationToken, requestProcessor)\n })\n }\n\n //noinspection JSUnusedGlobalSymbols\n async deleteRelease(isForce = false): Promise<void> {\n if (!isForce && !this._versionPromise.hasValue) {\n return\n }\n\n const version = await this._versionPromise.value\n if (version != null) {\n await this.client.deleteVersion(version.name)\n }\n }\n\n toString() {\n return `Bintray (user: ${this.client.user || this.client.owner}, owner: ${this.client.owner}, package: ${this.client.packageName}, repository: ${this.client.repo}, version: ${\n this.version\n })`\n }\n}\n"]}
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
|
3
|
-
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
|
|
4
|
-
<Fragment>
|
|
5
|
-
<WixVariable Id="WixUISupportPerUser" Value="1" Overridable="yes"/>
|
|
6
|
-
<WixVariable Id="WixUISupportPerMachine" Value="1" Overridable="yes"/>
|
|
7
|
-
|
|
8
|
-
<PropertyRef Id="ApplicationFolderName"/>
|
|
9
|
-
|
|
10
|
-
<UI Id="WixUI_Assisted">
|
|
11
|
-
<Dialog Id="InstallScopeDialog" Width="370" Height="270" Title="!(loc.InstallScopeDlg_Title)" KeepModeless="yes">
|
|
12
|
-
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="!(loc.InstallScopeDlgBannerBitmap)"/>
|
|
13
|
-
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0"/>
|
|
14
|
-
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0"/>
|
|
15
|
-
<Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="!(loc.InstallScopeDlgDescription)"/>
|
|
16
|
-
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="!(loc.InstallScopeDlgTitle)"/>
|
|
17
|
-
|
|
18
|
-
<Control Id="BothScopes" Type="RadioButtonGroup" X="20" Y="55" Width="330" Height="120" Property="WixAppFolder" Hidden="yes">
|
|
19
|
-
<RadioButtonGroup Property="WixAppFolder">
|
|
20
|
-
<RadioButton Value="WixPerUserFolder" X="0" Y="0" Width="295" Height="16" Text="!(loc.InstallScopeDlgPerUser)"/>
|
|
21
|
-
<RadioButton Value="WixPerMachineFolder" X="0" Y="60" Width="295" Height="16" Text="!(loc.InstallScopeDlgPerMachine)"/>
|
|
22
|
-
</RadioButtonGroup>
|
|
23
|
-
<Condition Action="show">Privileged AND (!(wix.WixUISupportPerUser) AND !(wix.WixUISupportPerMachine))</Condition>
|
|
24
|
-
</Control>
|
|
25
|
-
<Control Id="PerUserDescription" Type="Text" X="33" Y="70" Width="300" Height="36" Hidden="yes" NoPrefix="yes" Text="!(loc.InstallScopeDlgPerUserDescription)">
|
|
26
|
-
<Condition Action="show">!(wix.WixUISupportPerUser)</Condition>
|
|
27
|
-
</Control>
|
|
28
|
-
<Control Id="NoPerUserDescription" Type="Text" X="33" Y="70" Width="300" Height="36" Hidden="yes" NoPrefix="yes" Text="!(loc.InstallScopeDlgNoPerUserDescription)">
|
|
29
|
-
<Condition Action="show">NOT !(wix.WixUISupportPerUser)</Condition>
|
|
30
|
-
</Control>
|
|
31
|
-
<Control Id="PerMachineDescription" Type="Text" X="33" Y="131" Width="300" Height="36" Hidden="yes" NoPrefix="yes" Text="!(loc.InstallScopeDlgPerMachineDescription)">
|
|
32
|
-
<Condition Action="show">Privileged</Condition>
|
|
33
|
-
</Control>
|
|
34
|
-
|
|
35
|
-
<Control Id="Install" Type="PushButton" ElevationShield="yes" X="212" Y="243" Width="80" Height="17" Default="yes" Text="!(loc.AdvancedWelcomeEulaDlgInstall)" Hidden="yes">
|
|
36
|
-
<Condition Action="show">WixAppFolder = "WixPerMachineFolder"</Condition>
|
|
37
|
-
<Condition Action="hide">WixAppFolder = "WixPerUserFolder"</Condition>
|
|
38
|
-
|
|
39
|
-
<!-- F*** WiX - it doesn't work. Installed per-user in any case. -->
|
|
40
|
-
<Publish Property="MSIINSTALLPERUSER">1</Publish>
|
|
41
|
-
|
|
42
|
-
<Publish Event="SpawnWaitDialog" Value="WaitForCostingDlg">!(wix.WixUICostingPopupOptOut) OR CostingComplete = 1</Publish>
|
|
43
|
-
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
|
44
|
-
<Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
|
|
45
|
-
<Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
|
46
|
-
<Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
|
47
|
-
<Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
|
|
48
|
-
</Control>
|
|
49
|
-
<Control Id="InstallNoShield" Type="PushButton" ElevationShield="no" X="212" Y="243" Width="80" Height="17" Default="yes" Text="!(loc.AdvancedWelcomeEulaDlgInstall)" Hidden="yes">
|
|
50
|
-
<Condition Action="show">WixAppFolder = "WixPerUserFolder"</Condition>
|
|
51
|
-
<Condition Action="hide">WixAppFolder = "WixPerMachineFolder"</Condition>
|
|
52
|
-
|
|
53
|
-
<!--<Publish Property="MSIINSTALLPERUSER" Value="1" Order="0">WixAppFolder = "WixPerUserFolder"</Publish>-->
|
|
54
|
-
|
|
55
|
-
<Publish Event="SpawnWaitDialog" Value="WaitForCostingDlg">!(wix.WixUICostingPopupOptOut) OR CostingComplete = 1</Publish>
|
|
56
|
-
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
|
57
|
-
<Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
|
|
58
|
-
<Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
|
59
|
-
<Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
|
60
|
-
<Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
|
|
61
|
-
</Control>
|
|
62
|
-
|
|
63
|
-
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
|
|
64
|
-
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
|
65
|
-
</Control>
|
|
66
|
-
</Dialog>
|
|
67
|
-
|
|
68
|
-
<!--<Publish Dialog="InstallScopeDialog" Control="InstallNoShield" Property="MSIINSTALLPERUSER" Value="1" Order="3">WixAppFolder = "WixPerUserFolder"</Publish>-->
|
|
69
|
-
<!--<Publish Dialog="InstallScopeDialog" Control="Install" Property="MSIINSTALLPERUSER" Value="{}" Order="4">WixAppFolder = "WixPerMachineFolder"</Publish>-->
|
|
70
|
-
|
|
71
|
-
<TextStyle Id="WixUI_Font_Normal" FaceName="!(loc.Advanced_Font_FaceName)" Size="!(loc.Advanced_Font_Normal_Size)"/>
|
|
72
|
-
<TextStyle Id="WixUI_Font_Bigger" FaceName="!(loc.Advanced_Font_FaceName)" Size="!(loc.Advanced_Font_Bigger_Size)"/>
|
|
73
|
-
<TextStyle Id="WixUI_Font_Title" FaceName="!(loc.Advanced_Font_FaceName)" Size="!(loc.Advanced_Font_Title_Size)" Bold="yes"/>
|
|
74
|
-
<TextStyle Id="WixUI_Font_Emphasized" FaceName="!(loc.Advanced_Font_FaceName)" Size="!(loc.Advanced_Font_Emphasized_Size)" Bold="yes"/>
|
|
75
|
-
|
|
76
|
-
<Property Id="DefaultUIFont" Value="WixUI_Font_Normal"/>
|
|
77
|
-
|
|
78
|
-
<DialogRef Id="BrowseDlg"/>
|
|
79
|
-
<DialogRef Id="DiskCostDlg"/>
|
|
80
|
-
<DialogRef Id="ErrorDlg"/>
|
|
81
|
-
<DialogRef Id="FatalError"/>
|
|
82
|
-
<DialogRef Id="FilesInUse"/>
|
|
83
|
-
<DialogRef Id="MsiRMFilesInUse"/>
|
|
84
|
-
<DialogRef Id="PrepareDlg"/>
|
|
85
|
-
<DialogRef Id="ProgressDlg"/>
|
|
86
|
-
<DialogRef Id="ResumeDlg"/>
|
|
87
|
-
<DialogRef Id="UserExit"/>
|
|
88
|
-
|
|
89
|
-
<Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>
|
|
90
|
-
<Publish Dialog="ExitDialog" Control="Finish" Event="DoAction" Value="runAfterFinish">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>
|
|
91
|
-
|
|
92
|
-
<!--<Publish Dialog="BrowseDlg" Control="OK" Event="DoAction" Value="WixUIValidatePath" Order="1">1</Publish>-->
|
|
93
|
-
<!--<Publish Dialog="BrowseDlg" Control="OK" Event="SpawnDialog" Value="InvalidDirDlg" Order="2"><![CDATA[WIXUI_INSTALLDIR_VALID<>"1"]]></Publish>-->
|
|
94
|
-
|
|
95
|
-
<!--<Publish Dialog="InstallScopeDialog" Control="Next" Property="WixAppFolder" Value="WixPerUserFolder" Order="1">!(wix.WixUISupportPerUser) AND NOT Privileged</Publish>-->
|
|
96
|
-
<!--<Publish Dialog="InstallScopeDialog" Control="Next" Property="MSIINSTALLPERUSER" Value="1" Order="2">!(wix.WixUISupportPerUser) AND NOT Privileged</Publish>-->
|
|
97
|
-
|
|
98
|
-
<!--<Publish Dialog="InstallScopeDialog" Control="Next" Property="MSIINSTALLPERUSER" Value="1" Order="3">WixAppFolder = "WixPerUserFolder"</Publish>-->
|
|
99
|
-
<!--<Publish Dialog="InstallScopeDialog" Control="Next" Property="MSIINSTALLPERUSER" Value="{}" Order="4">WixAppFolder = "WixPerMachineFolder"</Publish>-->
|
|
100
|
-
|
|
101
|
-
<!-- do not allow choosing installation dir if per-user -->
|
|
102
|
-
<!--<Publish Dialog="InstallScopeDialog" Control="Next" Event="NewDialog" Value="FeaturesDlg" Order="6">WixAppFolder = "WixPerUserFolder"</Publish>-->
|
|
103
|
-
<!--<Publish Dialog="InstallScopeDialog" Control="Next" Event="NewDialog" Value="InstallDirDlg" Order="7">WixAppFolder = "WixPerMachineFolder"</Publish>-->
|
|
104
|
-
|
|
105
|
-
<!--<Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="InstallScopeDialog">!(wix.WixUISupportPerUser)</Publish>-->
|
|
106
|
-
<!--<Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="AdvancedWelcomeEulaDlg">NOT !(wix.WixUISupportPerUser)</Publish>-->
|
|
107
|
-
<!--<Publish Dialog="InstallDirDlg" Control="Next" Event="SetTargetPath" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>-->
|
|
108
|
-
<!--<Publish Dialog="InstallDirDlg" Control="Next" Event="DoAction" Value="WixUIValidatePath" Order="2">NOT WIXUI_DONTVALIDATEPATH</Publish>-->
|
|
109
|
-
<!--<Publish Dialog="InstallDirDlg" Control="Next" Event="SpawnDialog" Value="InvalidDirDlg" Order="3"><![CDATA[NOT WIXUI_DONTVALIDATEPATH AND WIXUI_INSTALLDIR_VALID<>"1"]]></Publish>-->
|
|
110
|
-
<!--<Publish Dialog="InstallDirDlg" Control="Next" Event="NewDialog" Value="ExitDlg" Order="4">WIXUI_DONTVALIDATEPATH OR WIXUI_INSTALLDIR_VALID="1"</Publish>-->
|
|
111
|
-
<!--<Publish Dialog="InstallDirDlg" Control="ChangeFolder" Property="_BrowseProperty" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>-->
|
|
112
|
-
<!--<Publish Dialog="InstallDirDlg" Control="ChangeFolder" Event="SpawnDialog" Value="BrowseDlg" Order="2">1</Publish>-->
|
|
113
|
-
|
|
114
|
-
<!--<Publish Dialog="MaintenanceWelcomeDlg" Control="Next" Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>-->
|
|
115
|
-
|
|
116
|
-
<!--<Publish Dialog="MaintenanceTypeDlg" Control="ChangeButton" Event="NewDialog" Value="FeaturesDlg">1</Publish>-->
|
|
117
|
-
<!--<Publish Dialog="MaintenanceTypeDlg" Control="RepairButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>-->
|
|
118
|
-
<!--<Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>-->
|
|
119
|
-
<!--<Publish Dialog="MaintenanceTypeDlg" Control="Back" Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish>-->
|
|
120
|
-
|
|
121
|
-
<!--<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="2">Installed AND NOT PATCH</Publish>-->
|
|
122
|
-
<!--<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="3">Installed AND PATCH</Publish>-->
|
|
123
|
-
|
|
124
|
-
<!--<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">Installed AND PATCH</Publish>-->
|
|
125
|
-
|
|
126
|
-
<InstallUISequence>
|
|
127
|
-
<Show Dialog="InstallScopeDialog" Sequence="1">NOT Installed</Show>
|
|
128
|
-
</InstallUISequence>
|
|
129
|
-
</UI>
|
|
130
|
-
|
|
131
|
-
<Property Id="WIXUI_INSTALLDIR" Value="APPLICATIONFOLDER"/>
|
|
132
|
-
<UIRef Id="WixUI_Common"/>
|
|
133
|
-
</Fragment>
|
|
134
|
-
</Wix>
|