1 |
|
2 |
|
3 |
|
4 |
|
5 | import { Arch } from "builder-util";
|
6 | import { CancellationToken, PublishProvider } from "builder-util-runtime";
|
7 | import { Stats } from "fs-extra";
|
8 | import { ClientRequest } from "http";
|
9 | import { MultiProgress } from "./multiProgress";
|
10 | import { ProgressBar } from "./progress";
|
11 | export type PublishPolicy = "onTag" | "onTagOrDraft" | "always" | "never";
|
12 | export { ProgressCallback } from "./progress";
|
13 | export interface PublishOptions {
|
14 | publish?: PublishPolicy | null;
|
15 | }
|
16 | export interface PublishContext {
|
17 | readonly cancellationToken: CancellationToken;
|
18 | readonly progress: MultiProgress | null;
|
19 | }
|
20 | export interface UploadTask {
|
21 | file: string;
|
22 | fileContent?: Buffer | null;
|
23 | arch: Arch | null;
|
24 | safeArtifactName?: string | null;
|
25 | timeout?: number | null;
|
26 | }
|
27 | export declare abstract class Publisher {
|
28 | protected readonly context: PublishContext;
|
29 | protected constructor(context: PublishContext);
|
30 | abstract get providerName(): PublishProvider;
|
31 | abstract upload(task: UploadTask): Promise<any>;
|
32 | protected createProgressBar(fileName: string, size: number): ProgressBar | null;
|
33 | protected createReadStreamAndProgressBar(file: string, fileStat: Stats, progressBar: ProgressBar | null, reject: (error: Error) => void): NodeJS.ReadableStream;
|
34 | abstract toString(): string;
|
35 | }
|
36 | export declare abstract class HttpPublisher extends Publisher {
|
37 | protected readonly context: PublishContext;
|
38 | private readonly useSafeArtifactName;
|
39 | protected constructor(context: PublishContext, useSafeArtifactName?: boolean);
|
40 | upload(task: UploadTask): Promise<any>;
|
41 | protected abstract doUpload(fileName: string, arch: Arch, dataLength: number, requestProcessor: (request: ClientRequest, reject: (error: Error) => void) => void, file: string): Promise<any>;
|
42 | }
|
43 | export declare function getCiTag(): string | null;
|