app-builder-lib 24.1.2 → 24.2.0
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/configuration.d.ts +0 -5
- package/out/configuration.js.map +1 -1
- package/out/electron/ElectronFramework.js +32 -27
- package/out/electron/ElectronFramework.js.map +1 -1
- package/out/fileMatcher.d.ts +1 -1
- package/out/fileMatcher.js +4 -2
- package/out/fileMatcher.js.map +1 -1
- package/out/linuxPackager.js +1 -39
- package/out/linuxPackager.js.map +1 -1
- package/out/macPackager.js +3 -2
- package/out/macPackager.js.map +1 -1
- package/out/options/PlatformSpecificBuildOptions.d.ts +4 -0
- package/out/options/PlatformSpecificBuildOptions.js.map +1 -1
- package/out/options/macOptions.d.ts +0 -4
- package/out/options/macOptions.js.map +1 -1
- package/out/packager.js +1 -2
- package/out/packager.js.map +1 -1
- package/out/platformPackager.d.ts +0 -1
- package/out/platformPackager.js +1 -11
- package/out/platformPackager.js.map +1 -1
- package/out/util/yarn.d.ts +2 -4
- package/out/util/yarn.js +6 -5
- package/out/util/yarn.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 +3 -3
- package/scheme.json +44 -7
- package/out/remoteBuilder/ProjectInfoManager.d.ts +0 -8
- package/out/remoteBuilder/ProjectInfoManager.js +0 -31
- package/out/remoteBuilder/ProjectInfoManager.js.map +0 -1
- package/out/remoteBuilder/RemoteBuilder.d.ts +0 -13
- package/out/remoteBuilder/RemoteBuilder.js +0 -113
- package/out/remoteBuilder/RemoteBuilder.js.map +0 -1
- package/out/remoteBuilder/builder-cli.d.ts +0 -1
- package/out/remoteBuilder/builder-cli.js +0 -85
- package/out/remoteBuilder/builder-cli.js.map +0 -1
- package/out/remoteBuilder/remote-builder-certs.d.ts +0 -3
- package/out/remoteBuilder/remote-builder-certs.js +0 -30
- package/out/remoteBuilder/remote-builder-certs.js.map +0 -1
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RemoteBuilder = void 0;
|
|
4
|
-
const bluebird_lst_1 = require("bluebird-lst");
|
|
5
|
-
const builder_util_1 = require("builder-util");
|
|
6
|
-
const path = require("path");
|
|
7
|
-
const core_1 = require("../core");
|
|
8
|
-
const platformPackager_1 = require("../platformPackager");
|
|
9
|
-
const appBuilder_1 = require("../util/appBuilder");
|
|
10
|
-
const ProjectInfoManager_1 = require("./ProjectInfoManager");
|
|
11
|
-
class RemoteBuilder {
|
|
12
|
-
constructor(packager) {
|
|
13
|
-
this.packager = packager;
|
|
14
|
-
this.toBuild = new Map();
|
|
15
|
-
this.buildStarted = false;
|
|
16
|
-
}
|
|
17
|
-
scheduleBuild(target, arch, unpackedDirectory) {
|
|
18
|
-
if (!(0, builder_util_1.isEnvTrue)(process.env._REMOTE_BUILD) && this.packager.config.remoteBuild === false) {
|
|
19
|
-
throw new builder_util_1.InvalidConfigurationError('Target is not supported on your OS and using of Electron Build Service is disabled ("remoteBuild" option)');
|
|
20
|
-
}
|
|
21
|
-
let list = this.toBuild.get(arch);
|
|
22
|
-
if (list == null) {
|
|
23
|
-
list = [];
|
|
24
|
-
this.toBuild.set(arch, list);
|
|
25
|
-
}
|
|
26
|
-
list.push({
|
|
27
|
-
name: target.name,
|
|
28
|
-
arch: builder_util_1.Arch[arch],
|
|
29
|
-
unpackedDirectory,
|
|
30
|
-
outDir: target.outDir,
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
build() {
|
|
34
|
-
if (this.buildStarted) {
|
|
35
|
-
return Promise.resolve();
|
|
36
|
-
}
|
|
37
|
-
this.buildStarted = true;
|
|
38
|
-
return bluebird_lst_1.default.mapSeries(Array.from(this.toBuild.keys()), (arch) => {
|
|
39
|
-
return this._build(this.toBuild.get(arch), this.packager);
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
// noinspection JSMethodCanBeStatic
|
|
43
|
-
async _build(targets, packager) {
|
|
44
|
-
if (builder_util_1.log.isDebugEnabled) {
|
|
45
|
-
builder_util_1.log.debug({ remoteTargets: JSON.stringify(targets, null, 2) }, "remote building");
|
|
46
|
-
}
|
|
47
|
-
const projectInfoManager = new ProjectInfoManager_1.ProjectInfoManager(packager.info);
|
|
48
|
-
const buildRequest = {
|
|
49
|
-
targets: targets.map(it => {
|
|
50
|
-
return {
|
|
51
|
-
name: it.name,
|
|
52
|
-
arch: it.arch,
|
|
53
|
-
unpackedDirName: path.basename(it.unpackedDirectory),
|
|
54
|
-
};
|
|
55
|
-
}),
|
|
56
|
-
platform: packager.platform.buildConfigurationKey,
|
|
57
|
-
};
|
|
58
|
-
if ((0, platformPackager_1.isSafeToUnpackElectronOnRemoteBuildServer)(packager)) {
|
|
59
|
-
buildRequest.electronDownload = {
|
|
60
|
-
version: packager.info.framework.version,
|
|
61
|
-
platform: core_1.Platform.LINUX.nodeName,
|
|
62
|
-
arch: targets[0].arch,
|
|
63
|
-
};
|
|
64
|
-
const linuxPackager = packager;
|
|
65
|
-
buildRequest.executableName = linuxPackager.executableName;
|
|
66
|
-
}
|
|
67
|
-
const req = Buffer.from(JSON.stringify(buildRequest)).toString("base64");
|
|
68
|
-
const outDir = targets[0].outDir;
|
|
69
|
-
const args = ["remote-build", "--request", req, "--output", outDir];
|
|
70
|
-
args.push("--file", targets[0].unpackedDirectory);
|
|
71
|
-
args.push("--file", await projectInfoManager.infoFile.value);
|
|
72
|
-
const buildResourcesDir = packager.buildResourcesDir;
|
|
73
|
-
if (buildResourcesDir === packager.projectDir) {
|
|
74
|
-
throw new builder_util_1.InvalidConfigurationError(`Build resources dir equals to project dir and so, not sent to remote build agent. It will lead to incorrect results.\nPlease set "directories.buildResources" to separate dir or leave default ("build" directory in the project root)`);
|
|
75
|
-
}
|
|
76
|
-
args.push("--build-resource-dir", buildResourcesDir);
|
|
77
|
-
const result = await (0, appBuilder_1.executeAppBuilderAsJson)(args);
|
|
78
|
-
if (result.error != null) {
|
|
79
|
-
throw new builder_util_1.InvalidConfigurationError(`Remote builder error (if you think that it is not your application misconfiguration issue, please file issue to https://github.com/electron-userland/electron-builder/issues):\n\n${result.error}`, "REMOTE_BUILDER_ERROR");
|
|
80
|
-
}
|
|
81
|
-
else if (result.files != null) {
|
|
82
|
-
for (const artifact of result.files) {
|
|
83
|
-
const localFile = path.join(outDir, artifact.file);
|
|
84
|
-
const artifactCreatedEvent = this.artifactInfoToArtifactCreatedEvent(artifact, localFile, outDir);
|
|
85
|
-
// PublishManager uses outDir and options, real (the same as for local build) values must be used
|
|
86
|
-
await this.packager.info.callArtifactBuildCompleted(artifactCreatedEvent);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
artifactInfoToArtifactCreatedEvent(artifact, localFile, outDir) {
|
|
91
|
-
const target = artifact.target;
|
|
92
|
-
// noinspection SpellCheckingInspection
|
|
93
|
-
return {
|
|
94
|
-
...artifact,
|
|
95
|
-
file: localFile,
|
|
96
|
-
target: target == null ? null : new FakeTarget(target, outDir, this.packager.config[target]),
|
|
97
|
-
packager: this.packager,
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
exports.RemoteBuilder = RemoteBuilder;
|
|
102
|
-
class FakeTarget extends core_1.Target {
|
|
103
|
-
constructor(name, outDir, options) {
|
|
104
|
-
super(name);
|
|
105
|
-
this.outDir = outDir;
|
|
106
|
-
this.options = options;
|
|
107
|
-
}
|
|
108
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
109
|
-
async build(appOutDir, arch) {
|
|
110
|
-
// no build
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
//# sourceMappingURL=RemoteBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteBuilder.js","sourceRoot":"","sources":["../../src/remoteBuilder/RemoteBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import BluebirdPromise from \"bluebird-lst\"\nimport { Arch, isEnvTrue, log, InvalidConfigurationError } from \"builder-util\"\nimport * as path from \"path\"\nimport { UploadTask } from \"electron-publish/out/publisher\"\nimport { Platform, Target, TargetSpecificOptions } from \"../core\"\nimport { LinuxPackager } from \"../linuxPackager\"\nimport { ArtifactCreated } from \"../packagerApi\"\nimport { isSafeToUnpackElectronOnRemoteBuildServer, PlatformPackager } from \"../platformPackager\"\nimport { executeAppBuilderAsJson } from \"../util/appBuilder\"\nimport { ProjectInfoManager } from \"./ProjectInfoManager\"\n\ninterface TargetInfo {\n name: string\n arch: string\n unpackedDirectory: string\n outDir: string\n}\n\nexport class RemoteBuilder {\n private readonly toBuild = new Map<Arch, Array<TargetInfo>>()\n private buildStarted = false\n\n constructor(readonly packager: PlatformPackager<any>) {}\n\n scheduleBuild(target: Target, arch: Arch, unpackedDirectory: string) {\n if (!isEnvTrue(process.env._REMOTE_BUILD) && this.packager.config.remoteBuild === false) {\n throw new InvalidConfigurationError('Target is not supported on your OS and using of Electron Build Service is disabled (\"remoteBuild\" option)')\n }\n\n let list = this.toBuild.get(arch)\n if (list == null) {\n list = []\n this.toBuild.set(arch, list)\n }\n\n list.push({\n name: target.name,\n arch: Arch[arch],\n unpackedDirectory,\n outDir: target.outDir,\n })\n }\n\n build(): Promise<any> {\n if (this.buildStarted) {\n return Promise.resolve()\n }\n\n this.buildStarted = true\n\n return BluebirdPromise.mapSeries(Array.from(this.toBuild.keys()), (arch: Arch) => {\n return this._build(this.toBuild.get(arch)!, this.packager)\n })\n }\n\n // noinspection JSMethodCanBeStatic\n private async _build(targets: Array<TargetInfo>, packager: PlatformPackager<any>): Promise<void> {\n if (log.isDebugEnabled) {\n log.debug({ remoteTargets: JSON.stringify(targets, null, 2) }, \"remote building\")\n }\n\n const projectInfoManager = new ProjectInfoManager(packager.info)\n\n const buildRequest: any = {\n targets: targets.map(it => {\n return {\n name: it.name,\n arch: it.arch,\n unpackedDirName: path.basename(it.unpackedDirectory),\n }\n }),\n platform: packager.platform.buildConfigurationKey,\n }\n\n if (isSafeToUnpackElectronOnRemoteBuildServer(packager)) {\n buildRequest.electronDownload = {\n version: packager.info.framework.version,\n platform: Platform.LINUX.nodeName,\n arch: targets[0].arch,\n }\n\n const linuxPackager = packager as LinuxPackager\n buildRequest.executableName = linuxPackager.executableName\n }\n\n const req = Buffer.from(JSON.stringify(buildRequest)).toString(\"base64\")\n const outDir = targets[0].outDir\n const args = [\"remote-build\", \"--request\", req, \"--output\", outDir]\n\n args.push(\"--file\", targets[0].unpackedDirectory)\n args.push(\"--file\", await projectInfoManager.infoFile.value)\n\n const buildResourcesDir = packager.buildResourcesDir\n if (buildResourcesDir === packager.projectDir) {\n throw new InvalidConfigurationError(\n `Build resources dir equals to project dir and so, not sent to remote build agent. It will lead to incorrect results.\\nPlease set \"directories.buildResources\" to separate dir or leave default (\"build\" directory in the project root)`\n )\n }\n\n args.push(\"--build-resource-dir\", buildResourcesDir)\n\n const result: any = await executeAppBuilderAsJson(args)\n if (result.error != null) {\n throw new InvalidConfigurationError(\n `Remote builder error (if you think that it is not your application misconfiguration issue, please file issue to https://github.com/electron-userland/electron-builder/issues):\\n\\n${result.error}`,\n \"REMOTE_BUILDER_ERROR\"\n )\n } else if (result.files != null) {\n for (const artifact of result.files) {\n const localFile = path.join(outDir, artifact.file)\n const artifactCreatedEvent = this.artifactInfoToArtifactCreatedEvent(artifact, localFile, outDir)\n // PublishManager uses outDir and options, real (the same as for local build) values must be used\n await this.packager.info.callArtifactBuildCompleted(artifactCreatedEvent)\n }\n }\n }\n\n private artifactInfoToArtifactCreatedEvent(artifact: ArtifactInfo, localFile: string, outDir: string): ArtifactCreated {\n const target = artifact.target\n // noinspection SpellCheckingInspection\n return {\n ...artifact,\n file: localFile,\n target: target == null ? null : new FakeTarget(target, outDir, (this.packager.config as any)[target]),\n packager: this.packager,\n }\n }\n}\n\nclass FakeTarget extends Target {\n constructor(name: string, readonly outDir: string, readonly options: TargetSpecificOptions | null | undefined) {\n super(name)\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async build(appOutDir: string, arch: Arch) {\n // no build\n }\n}\n\ninterface ArtifactInfo extends UploadTask {\n target: string | null\n\n readonly isWriteUpdateInfo?: boolean\n readonly updateInfo?: any\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const fs_extra_1 = require("fs-extra");
|
|
4
|
-
const path = require("path");
|
|
5
|
-
const builder_util_1 = require("builder-util");
|
|
6
|
-
const packager_1 = require("../packager");
|
|
7
|
-
if (process.env.BUILDER_REMOVE_STAGE_EVEN_IF_DEBUG == null) {
|
|
8
|
-
process.env.BUILDER_REMOVE_STAGE_EVEN_IF_DEBUG = "true";
|
|
9
|
-
}
|
|
10
|
-
async function doBuild(data) {
|
|
11
|
-
if (process.env.APP_BUILDER_TMP_DIR == null) {
|
|
12
|
-
throw new builder_util_1.InvalidConfigurationError("Env APP_BUILDER_TMP_DIR must be set for builder process");
|
|
13
|
-
}
|
|
14
|
-
const projectDir = process.env.PROJECT_DIR;
|
|
15
|
-
if (projectDir == null) {
|
|
16
|
-
throw new builder_util_1.InvalidConfigurationError("Env PROJECT_DIR must be set for builder process");
|
|
17
|
-
}
|
|
18
|
-
const targets = data.targets;
|
|
19
|
-
if (data.platform == null) {
|
|
20
|
-
throw new builder_util_1.InvalidConfigurationError("platform not specified");
|
|
21
|
-
}
|
|
22
|
-
if (targets == null) {
|
|
23
|
-
throw new builder_util_1.InvalidConfigurationError("targets path not specified");
|
|
24
|
-
}
|
|
25
|
-
if (!Array.isArray(targets)) {
|
|
26
|
-
throw new builder_util_1.InvalidConfigurationError("targets must be array of target name");
|
|
27
|
-
}
|
|
28
|
-
const infoFile = projectDir + path.sep + "info.json";
|
|
29
|
-
const info = await (0, fs_extra_1.readJson)(infoFile);
|
|
30
|
-
const projectOutDir = process.env.PROJECT_OUT_DIR;
|
|
31
|
-
if (projectDir == null) {
|
|
32
|
-
throw new builder_util_1.InvalidConfigurationError("Env PROJECT_OUT_DIR must be set for builder process");
|
|
33
|
-
}
|
|
34
|
-
// yes, for now we expect the only target
|
|
35
|
-
const prepackaged = projectDir + path.sep + targets[0].unpackedDirName;
|
|
36
|
-
// do not use build function because we don't need to publish artifacts
|
|
37
|
-
const options = {
|
|
38
|
-
prepackaged,
|
|
39
|
-
projectDir,
|
|
40
|
-
[data.platform]: targets.map(it => it.name + ":" + it.arch),
|
|
41
|
-
publish: "never",
|
|
42
|
-
};
|
|
43
|
-
const packager = new packager_1.Packager(options);
|
|
44
|
-
const artifacts = [];
|
|
45
|
-
const relativePathOffset = projectOutDir.length + 1;
|
|
46
|
-
packager.artifactCreated(event => {
|
|
47
|
-
if (event.file == null) {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
artifacts.push({
|
|
51
|
-
file: event.file.substring(relativePathOffset),
|
|
52
|
-
target: event.target == null ? null : event.target.name,
|
|
53
|
-
arch: event.arch,
|
|
54
|
-
safeArtifactName: event.safeArtifactName,
|
|
55
|
-
isWriteUpdateInfo: event.isWriteUpdateInfo === true,
|
|
56
|
-
updateInfo: event.updateInfo,
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
packager.stageDirPathCustomizer = (target, packager, arch) => {
|
|
60
|
-
// snap creates a lot of files and so, we cannot use tmpfs to avoid out of memory error
|
|
61
|
-
const parentDir = target.name === "snap" && !target.isUseTemplateApp ? projectOutDir : projectDir;
|
|
62
|
-
return `${parentDir}${path.sep}__${target.name}-${builder_util_1.Arch[arch]}`;
|
|
63
|
-
};
|
|
64
|
-
// _build method expects final effective configuration - packager.options.config is ignored
|
|
65
|
-
await packager._build({
|
|
66
|
-
...info.configuration,
|
|
67
|
-
publish: null,
|
|
68
|
-
beforeBuild: null,
|
|
69
|
-
afterPack: null,
|
|
70
|
-
afterSign: null,
|
|
71
|
-
afterAllArtifactBuild: null,
|
|
72
|
-
onNodeModuleFile: null,
|
|
73
|
-
directories: {
|
|
74
|
-
output: projectOutDir,
|
|
75
|
-
buildResources: `${projectDir}${path.sep}${info.buildResourceDirName}`,
|
|
76
|
-
},
|
|
77
|
-
}, info.metadata, info.devMetadata, info.repositoryInfo);
|
|
78
|
-
// writeJson must be not used because it adds unwanted \n as last file symbol
|
|
79
|
-
await (0, fs_extra_1.writeFile)(path.join(process.env.APP_BUILDER_TMP_DIR, "__build-result.json"), JSON.stringify(artifacts));
|
|
80
|
-
}
|
|
81
|
-
doBuild(JSON.parse(process.argv[2])).catch(error => {
|
|
82
|
-
process.exitCode = 0;
|
|
83
|
-
return (0, fs_extra_1.writeFile)(path.join(process.env.APP_BUILDER_TMP_DIR, "__build-result.json"), (error.stack || error).toString());
|
|
84
|
-
});
|
|
85
|
-
//# sourceMappingURL=builder-cli.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"builder-cli.js","sourceRoot":"","sources":["../../src/remoteBuilder/builder-cli.ts"],"names":[],"mappings":"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","sourcesContent":["import { PublishOptions, UploadTask } from \"electron-publish\"\nimport { readJson, writeFile } from \"fs-extra\"\nimport * as path from \"path\"\nimport { Arch, InvalidConfigurationError } from \"builder-util\"\nimport { Packager } from \"../packager\"\nimport { PackagerOptions } from \"../packagerApi\"\nimport SnapTarget from \"../targets/snap\"\n\nif (process.env.BUILDER_REMOVE_STAGE_EVEN_IF_DEBUG == null) {\n process.env.BUILDER_REMOVE_STAGE_EVEN_IF_DEBUG = \"true\"\n}\n\nasync function doBuild(data: BuildTask): Promise<void> {\n if (process.env.APP_BUILDER_TMP_DIR == null) {\n throw new InvalidConfigurationError(\"Env APP_BUILDER_TMP_DIR must be set for builder process\")\n }\n\n const projectDir = process.env.PROJECT_DIR\n if (projectDir == null) {\n throw new InvalidConfigurationError(\"Env PROJECT_DIR must be set for builder process\")\n }\n\n const targets = data.targets\n if (data.platform == null) {\n throw new InvalidConfigurationError(\"platform not specified\")\n }\n if (targets == null) {\n throw new InvalidConfigurationError(\"targets path not specified\")\n }\n if (!Array.isArray(targets)) {\n throw new InvalidConfigurationError(\"targets must be array of target name\")\n }\n\n const infoFile = projectDir + path.sep + \"info.json\"\n const info = await readJson(infoFile)\n\n const projectOutDir = process.env.PROJECT_OUT_DIR\n if (projectDir == null) {\n throw new InvalidConfigurationError(\"Env PROJECT_OUT_DIR must be set for builder process\")\n }\n\n // yes, for now we expect the only target\n const prepackaged = projectDir + path.sep + targets[0].unpackedDirName\n // do not use build function because we don't need to publish artifacts\n const options: PackagerOptions & PublishOptions = {\n prepackaged,\n projectDir,\n [data.platform]: targets.map(it => it.name + \":\" + it.arch),\n publish: \"never\",\n }\n const packager = new Packager(options)\n\n const artifacts: Array<ArtifactInfo> = []\n const relativePathOffset = projectOutDir!.length + 1\n packager.artifactCreated(event => {\n if (event.file == null) {\n return\n }\n\n artifacts.push({\n file: event.file.substring(relativePathOffset),\n target: event.target == null ? null : event.target.name,\n arch: event.arch,\n safeArtifactName: event.safeArtifactName,\n isWriteUpdateInfo: event.isWriteUpdateInfo === true,\n updateInfo: event.updateInfo,\n })\n })\n\n packager.stageDirPathCustomizer = (target, packager, arch) => {\n // snap creates a lot of files and so, we cannot use tmpfs to avoid out of memory error\n const parentDir = target.name === \"snap\" && !(target as SnapTarget).isUseTemplateApp ? projectOutDir : projectDir\n return `${parentDir}${path.sep}__${target.name}-${Arch[arch]}`\n }\n\n // _build method expects final effective configuration - packager.options.config is ignored\n await packager._build(\n {\n ...info.configuration,\n publish: null,\n beforeBuild: null,\n afterPack: null,\n afterSign: null,\n afterAllArtifactBuild: null,\n onNodeModuleFile: null,\n directories: {\n output: projectOutDir,\n buildResources: `${projectDir}${path.sep}${info.buildResourceDirName}`,\n },\n },\n info.metadata,\n info.devMetadata,\n info.repositoryInfo\n )\n\n // writeJson must be not used because it adds unwanted \\n as last file symbol\n await writeFile(path.join(process.env.APP_BUILDER_TMP_DIR!, \"__build-result.json\"), JSON.stringify(artifacts))\n}\n\ndoBuild(JSON.parse(process.argv[2])).catch(error => {\n process.exitCode = 0\n return writeFile(path.join(process.env.APP_BUILDER_TMP_DIR!, \"__build-result.json\"), (error.stack || error).toString())\n})\n\ninterface TargetInfo {\n name: string\n arch: string\n unpackedDirName: string\n}\n\ninterface ArtifactInfo extends UploadTask {\n target: string | null\n\n readonly isWriteUpdateInfo?: boolean\n readonly updateInfo?: any\n}\n\ninterface BuildTask {\n platform: string\n targets: Array<TargetInfo>\n}\n"]}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ELECTRON_BUILD_SERVICE_CA_CERT = exports.ELECTRON_BUILD_SERVICE_LOCAL_CA_CERT = void 0;
|
|
4
|
-
// noinspection SpellCheckingInspection
|
|
5
|
-
exports.ELECTRON_BUILD_SERVICE_LOCAL_CA_CERT = Buffer.from(`-----BEGIN CERTIFICATE-----
|
|
6
|
-
MIIBiDCCAS+gAwIBAgIRAPHSzTRLcN2nElhQdaRP47IwCgYIKoZIzj0EAwIwJDEi
|
|
7
|
-
MCAGA1UEAxMZZWxlY3Ryb24uYnVpbGQubG9jYWwgcm9vdDAeFw0xNzExMTMxNzI4
|
|
8
|
-
NDFaFw0yNzExMTExNzI4NDFaMCQxIjAgBgNVBAMTGWVsZWN0cm9uLmJ1aWxkLmxv
|
|
9
|
-
Y2FsIHJvb3QwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQVyduuCT2acuk2QH06
|
|
10
|
-
yal/b6O7eTTpOHk3Ucjc+ZZta2vC2+c1IKcSAwimKbTbK+nRxWWJl9ZYx9RTwbRf
|
|
11
|
-
QjD6o0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E
|
|
12
|
-
FgQUlm08vBe4CUNAOTQN5Z1RNTfJjjYwCgYIKoZIzj0EAwIDRwAwRAIgMXlT6YM8
|
|
13
|
-
4pQtnhUjijVMz+NlcYafS1CEbNBMaWhP87YCIGXUmu7ON9hRLanXzBNBlrtTQG+i
|
|
14
|
-
l/NT6REwZA64/lNy
|
|
15
|
-
-----END CERTIFICATE-----
|
|
16
|
-
`);
|
|
17
|
-
// noinspection SpellCheckingInspection
|
|
18
|
-
exports.ELECTRON_BUILD_SERVICE_CA_CERT = Buffer.from(`-----BEGIN CERTIFICATE-----
|
|
19
|
-
MIIBfTCCASOgAwIBAgIRAIdieK1+3C4abgOvQ7pVVqAwCgYIKoZIzj0EAwIwHjEc
|
|
20
|
-
MBoGA1UEAxMTZWxlY3Ryb24uYnVpbGQgcm9vdDAeFw0xNzExMTMxNzI4NDFaFw0x
|
|
21
|
-
ODExMTMxNzI4NDFaMB4xHDAaBgNVBAMTE2VsZWN0cm9uLmJ1aWxkIHJvb3QwWTAT
|
|
22
|
-
BgcqhkjOPQIBBggqhkjOPQMBBwNCAAR+4b6twzizN/z27yvwrCV5kinGUrfo+W7n
|
|
23
|
-
L/l28ErscNe1BDSyh/IYrnMWb1rDMSLGhvkgI9Cfex1whNPHR101o0IwQDAOBgNV
|
|
24
|
-
HQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU6Dq8kK7tQlrt
|
|
25
|
-
zkIYrYiTZGpHEp0wCgYIKoZIzj0EAwIDSAAwRQIgKSfjAQbYlY/S1wMLUi84r8QN
|
|
26
|
-
hhMnUwsOmlDan0xPalICIQDLIAXAIyArVtH38a4aizvhH8YeXrxzpJh3U8RolBZF
|
|
27
|
-
SA==
|
|
28
|
-
-----END CERTIFICATE-----
|
|
29
|
-
`);
|
|
30
|
-
//# sourceMappingURL=remote-builder-certs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"remote-builder-certs.js","sourceRoot":"","sources":["../../src/remoteBuilder/remote-builder-certs.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AAC1B,QAAA,oCAAoC,GAAG,MAAM,CAAC,IAAI,CAAC;;;;;;;;;;;CAW/D,CAAC,CAAA;AAEF,uCAAuC;AAC1B,QAAA,8BAA8B,GAAG,MAAM,CAAC,IAAI,CAAC;;;;;;;;;;;CAWzD,CAAC,CAAA","sourcesContent":["// noinspection SpellCheckingInspection\nexport const ELECTRON_BUILD_SERVICE_LOCAL_CA_CERT = Buffer.from(`-----BEGIN CERTIFICATE-----\nMIIBiDCCAS+gAwIBAgIRAPHSzTRLcN2nElhQdaRP47IwCgYIKoZIzj0EAwIwJDEi\nMCAGA1UEAxMZZWxlY3Ryb24uYnVpbGQubG9jYWwgcm9vdDAeFw0xNzExMTMxNzI4\nNDFaFw0yNzExMTExNzI4NDFaMCQxIjAgBgNVBAMTGWVsZWN0cm9uLmJ1aWxkLmxv\nY2FsIHJvb3QwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQVyduuCT2acuk2QH06\nyal/b6O7eTTpOHk3Ucjc+ZZta2vC2+c1IKcSAwimKbTbK+nRxWWJl9ZYx9RTwbRf\nQjD6o0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E\nFgQUlm08vBe4CUNAOTQN5Z1RNTfJjjYwCgYIKoZIzj0EAwIDRwAwRAIgMXlT6YM8\n4pQtnhUjijVMz+NlcYafS1CEbNBMaWhP87YCIGXUmu7ON9hRLanXzBNBlrtTQG+i\nl/NT6REwZA64/lNy\n-----END CERTIFICATE-----\n`)\n\n// noinspection SpellCheckingInspection\nexport const ELECTRON_BUILD_SERVICE_CA_CERT = Buffer.from(`-----BEGIN CERTIFICATE-----\nMIIBfTCCASOgAwIBAgIRAIdieK1+3C4abgOvQ7pVVqAwCgYIKoZIzj0EAwIwHjEc\nMBoGA1UEAxMTZWxlY3Ryb24uYnVpbGQgcm9vdDAeFw0xNzExMTMxNzI4NDFaFw0x\nODExMTMxNzI4NDFaMB4xHDAaBgNVBAMTE2VsZWN0cm9uLmJ1aWxkIHJvb3QwWTAT\nBgcqhkjOPQIBBggqhkjOPQMBBwNCAAR+4b6twzizN/z27yvwrCV5kinGUrfo+W7n\nL/l28ErscNe1BDSyh/IYrnMWb1rDMSLGhvkgI9Cfex1whNPHR101o0IwQDAOBgNV\nHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU6Dq8kK7tQlrt\nzkIYrYiTZGpHEp0wCgYIKoZIzj0EAwIDSAAwRQIgKSfjAQbYlY/S1wMLUi84r8QN\nhhMnUwsOmlDan0xPalICIQDLIAXAIyArVtH38a4aizvhH8YeXrxzpJh3U8RolBZF\nSA==\n-----END CERTIFICATE-----\n`)\n"]}
|