-
Notifications
You must be signed in to change notification settings - Fork 28
Expand file tree
/
Copy pathhandler.ts
More file actions
64 lines (58 loc) · 1.79 KB
/
handler.ts
File metadata and controls
64 lines (58 loc) · 1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import Listr from "listr";
import { buildAndUpload } from "../../tasks/buildAndUpload/index.js";
import { ListrContextBuild } from "../../types.js";
import {
defaultComposeFileName,
defaultDir,
defaultVariantsDirName
} from "../../params.js";
import { BuildCommandOptions, VerbosityOptions } from "./types.js";
import { getPackagesToBuildProps } from "./variants.js";
import { BuildAndUploadOptions } from "../../tasks/buildAndUpload/types.js";
import path from "path";
export async function buildHandler({
provider: contentProvider,
timeout: userTimeout,
upload_to: uploadTo,
skip_save: skipSave,
skip_upload,
sign_release: signReleaseFlag,
require_git_data: requireGitData,
delete_old_pins: deleteOldPins,
all_variants: allVariants,
variants_dir_name: variantsDirName = defaultVariantsDirName,
variants,
// Global options
dir = defaultDir,
compose_file_name: composeFileName = defaultComposeFileName,
silent,
verbose
}: BuildCommandOptions): Promise<ListrContextBuild> {
const skipUpload = skip_upload || skipSave;
const variantsDirPath = path.join(dir, variantsDirName);
const buildOptions: BuildAndUploadOptions = {
dir,
contentProvider,
uploadTo,
userTimeout,
skipSave,
skipUpload,
signReleaseFlag: signReleaseFlag ?? false,
composeFileName,
requireGitData,
deleteOldPins,
variantsDirPath,
packagesToBuildProps: getPackagesToBuildProps({
allVariants: Boolean(allVariants),
commaSeparatedVariants: variants,
rootDir: dir,
variantsDirPath,
composeFileName
})
};
const verbosityOptions: VerbosityOptions = {
renderer: verbose ? "verbose" : silent ? "silent" : "default"
};
const buildTasks = new Listr(buildAndUpload(buildOptions), verbosityOptions);
return await buildTasks.run();
}