zarro 1.168.0 → 1.168.4
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/gulp-tasks/modules/nuget-push.js +2 -1
- package/gulp-tasks/modules/register-environment-variables.js +11 -6
- package/gulp-tasks/modules/resolve-nuget-push-package-files.js +54 -0
- package/gulp-tasks/nuget-push.js +11 -0
- package/index.js +24 -6
- package/package.json +2 -2
- package/types.d.ts +2042 -2035
package/types.d.ts
CHANGED
|
@@ -1,2035 +1,2042 @@
|
|
|
1
|
-
// noinspection JSUnusedGlobalSymbols
|
|
2
|
-
|
|
3
|
-
import * as fs from "fs";
|
|
4
|
-
import { StatsBase } from "fs";
|
|
5
|
-
import { Stream, Transform } from "stream";
|
|
6
|
-
import ansiColors, { StyleFunction } from "ansi-colors";
|
|
7
|
-
import { RimrafOptions } from "./gulp-tasks/modules/rimraf";
|
|
8
|
-
import { ExecFileOptionsWithBufferEncoding } from "child_process";
|
|
9
|
-
import * as vinyl from "vinyl";
|
|
10
|
-
import { BufferFile } from "vinyl";
|
|
11
|
-
// noinspection ES6PreferShortImport
|
|
12
|
-
import { FetchReleaseOptions, ListReleasesOptions, ReleaseInfo } from "./gulp-tasks/modules/fetch-github-release/src";
|
|
13
|
-
import { DecompressOptions, File } from "decompress";
|
|
14
|
-
|
|
15
|
-
export * from "./gulp-tasks/modules/fetch-github-release/src";
|
|
16
|
-
|
|
17
|
-
type RequireModuleFunction<T> = (module: string) => T
|
|
18
|
-
|
|
19
|
-
interface RequireModule<T>
|
|
20
|
-
extends RequireModuleFunction<T> {
|
|
21
|
-
debug(): DebugFactory;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
declare global {
|
|
25
|
-
function requireModule<T>(module: string): T;
|
|
26
|
-
|
|
27
|
-
// copied out of @types/fancy-log because imports are being stupid
|
|
28
|
-
interface Logger {
|
|
29
|
-
(...args: any[]): Logger;
|
|
30
|
-
|
|
31
|
-
dir(...args: any[]): Logger;
|
|
32
|
-
|
|
33
|
-
error(...args: any[]): Logger;
|
|
34
|
-
|
|
35
|
-
info(...args: any[]): Logger;
|
|
36
|
-
|
|
37
|
-
warn(...args: any[]): Logger;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
interface LogLevels {
|
|
41
|
-
Debug: number;
|
|
42
|
-
Info: number;
|
|
43
|
-
Notice: number;
|
|
44
|
-
Warning: number;
|
|
45
|
-
Error: number;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
enum LogThreshold {
|
|
49
|
-
debug = 1,
|
|
50
|
-
info = 2,
|
|
51
|
-
notice = 3,
|
|
52
|
-
warning = 4,
|
|
53
|
-
error = 5
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
interface ZarroLogger {
|
|
57
|
-
LogLevels: LogLevels;
|
|
58
|
-
threshold: LogThreshold;
|
|
59
|
-
|
|
60
|
-
setThreshold(threshold: number | string): void;
|
|
61
|
-
|
|
62
|
-
debug(...args: any[]): void;
|
|
63
|
-
|
|
64
|
-
info(...args: any[]): void;
|
|
65
|
-
|
|
66
|
-
notice(...args: any[]): void;
|
|
67
|
-
|
|
68
|
-
warning(...args: any[]): void;
|
|
69
|
-
|
|
70
|
-
error(...args: any[]): void;
|
|
71
|
-
|
|
72
|
-
fail(...args: any[]): void;
|
|
73
|
-
|
|
74
|
-
ok(...args: any[]): void;
|
|
75
|
-
|
|
76
|
-
notice(...args: any[]): void;
|
|
77
|
-
|
|
78
|
-
suppressTimestamps(): void;
|
|
79
|
-
|
|
80
|
-
showTimestamps(): void;
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
interface Log {
|
|
85
|
-
setThreshold(level: number): void;
|
|
86
|
-
|
|
87
|
-
debug(...args: any[]): void;
|
|
88
|
-
|
|
89
|
-
info(...args: any[]): void;
|
|
90
|
-
|
|
91
|
-
notice(...args: any[]): void;
|
|
92
|
-
|
|
93
|
-
warn(...args: any[]): void;
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* @deprecated this is a link back to .warn(...)
|
|
97
|
-
*/
|
|
98
|
-
warning(...args: any[]): void;
|
|
99
|
-
|
|
100
|
-
error(...args: any[]): void;
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* @deprecated this is a link back to .error(...)
|
|
104
|
-
*/
|
|
105
|
-
fail(...args: any[]): void;
|
|
106
|
-
|
|
107
|
-
ok(): void;
|
|
108
|
-
|
|
109
|
-
suppressTimestamps(): void;
|
|
110
|
-
|
|
111
|
-
showTimestamps(): void;
|
|
112
|
-
|
|
113
|
-
LogLevels: LogLevels;
|
|
114
|
-
|
|
115
|
-
threshold: LogThreshold;
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
type Func<T> = () => T;
|
|
121
|
-
type DebugLogFunction = (...args: any[]) => void;
|
|
122
|
-
type DebugFactory = (label: string) => DebugLogFunction;
|
|
123
|
-
type VoidVoid = () => void;
|
|
124
|
-
type AsyncVoidVoid = () => Promise<void>;
|
|
125
|
-
type AsyncVoidFunc<T> = () => Promise<T>;
|
|
126
|
-
type AsyncTVoid<T> = (arg: T) => Promise<void>;
|
|
127
|
-
type OptionsFactory<T> = (file: vinyl.BufferFile) => T | Promise<T>;
|
|
128
|
-
type ErrorReporter = (e: Error) => Promise<void> | void;
|
|
129
|
-
type GulpCallback =
|
|
130
|
-
(() => Promise<any> | NodeJS.EventEmitter) |
|
|
131
|
-
((done: VoidVoid) => Promise<any> | NodeJS.EventEmitter | void)
|
|
132
|
-
type TryDo<T> = (
|
|
133
|
-
logic: AsyncVoidFunc<T>,
|
|
134
|
-
retries: number | string,
|
|
135
|
-
onTransientError?: ErrorReporter,
|
|
136
|
-
onFinalFailure?: VoidVoid
|
|
137
|
-
) => Promise<T>;
|
|
138
|
-
type Optional<T> = T | undefined;
|
|
139
|
-
type Nullable<T> = T | null;
|
|
140
|
-
type DownloadNuget = (targetFolder: string, quiet?: boolean) => Promise<string>;
|
|
141
|
-
|
|
142
|
-
interface ResolveNugetConfig {
|
|
143
|
-
localNuget: string;
|
|
144
|
-
nugetDownloadUrl: string;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
type FindNpmBase = () => string;
|
|
148
|
-
type ResolveNugetConfigGenerator = () => ResolveNugetConfig;
|
|
149
|
-
type ResolveNuget = (nugetPath?: string, errorOnMissing?: boolean) => string;
|
|
150
|
-
type FindLocalNuget = (quiet?: boolean) => Promise<string>;
|
|
151
|
-
|
|
152
|
-
type Fetch = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
|
|
153
|
-
|
|
154
|
-
interface Streamify {
|
|
155
|
-
streamify<T>(
|
|
156
|
-
fn: AsyncTVoid<T>,
|
|
157
|
-
optionsFactory: OptionsFactory<T>,
|
|
158
|
-
pluginName: string,
|
|
159
|
-
operation: string
|
|
160
|
-
): Transform;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
interface HttpClient {
|
|
164
|
-
new(): HttpClient;
|
|
165
|
-
|
|
166
|
-
suppressProgress: boolean;
|
|
167
|
-
assumeDownloadedIfExistsAndSizeMatches: boolean;
|
|
168
|
-
aborted: boolean;
|
|
169
|
-
|
|
170
|
-
download(url: string, target: string): Promise<string>;
|
|
171
|
-
|
|
172
|
-
exists(url: string): Promise<boolean>;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
interface Decompress {
|
|
176
|
-
decompress(data: string | Buffer, target: string | DecompressOptions): Promise<File[]>;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
type LogFunction = (s: string) => void;
|
|
180
|
-
|
|
181
|
-
interface HttpClientModule {
|
|
182
|
-
create(
|
|
183
|
-
infoLogFunction?: LogFunction,
|
|
184
|
-
debugLogFunction?: LogFunction
|
|
185
|
-
): HttpClient;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
interface SrcOptions {
|
|
189
|
-
allowEmpty?: boolean;
|
|
190
|
-
read?: boolean
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
interface GulpWithHelp {
|
|
194
|
-
task(name: string, callback: GulpCallback): void;
|
|
195
|
-
|
|
196
|
-
task(name: string, help: string, callback: GulpCallback): void;
|
|
197
|
-
|
|
198
|
-
task(name: string, dependencies: string[], callback?: GulpCallback): void;
|
|
199
|
-
|
|
200
|
-
task(name: string, help: string, dependencies: string[], callback?: GulpCallback): void;
|
|
201
|
-
|
|
202
|
-
src(mask: string | string[], opts?: SrcOptions): NodeJS.ReadableStream;
|
|
203
|
-
|
|
204
|
-
dest(target: string): NodeJS.WritableStream;
|
|
205
|
-
|
|
206
|
-
series(...tasks: string[]): (fn: Function) => void;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
type RunSequence = (...args: (string | Function)[]) => void;
|
|
210
|
-
type RunTaskFn = (task: string) => Promise<void>;
|
|
211
|
-
type RunTasksFn = (...tasks: string[]) => Promise<void>;
|
|
212
|
-
|
|
213
|
-
interface RunTask {
|
|
214
|
-
runTask: RunTaskFn;
|
|
215
|
-
runSeries: RunTasksFn;
|
|
216
|
-
runParallel: RunTasksFn;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
interface TemporaryEnvironmentRunner {
|
|
220
|
-
run<T>(fn: (() => T | Promise<T>)): Promise<T>;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
interface EnvDictionary {
|
|
224
|
-
[key: AnyEnvVar | string]: string;
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
type WithEnvironment = (
|
|
228
|
-
env: EnvDictionary,
|
|
229
|
-
/**
|
|
230
|
-
* If you'd like to replace the entire environment instead of augmenting it,
|
|
231
|
-
* set this to true
|
|
232
|
-
*/
|
|
233
|
-
replaceExistingEnvironment?: boolean
|
|
234
|
-
) => TemporaryEnvironmentRunner;
|
|
235
|
-
type TemporaryEnvironment = {
|
|
236
|
-
withEnvironment: WithEnvironment;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
type Gulp = GulpWithHelp;
|
|
240
|
-
type RunInParallel = (
|
|
241
|
-
maxConcurrency: number,
|
|
242
|
-
...actions: AsyncVoidVoid[]
|
|
243
|
-
) => Promise<void>;
|
|
244
|
-
type Seed = (howMany: number) => any[];
|
|
245
|
-
type LineBuffer = {
|
|
246
|
-
new(writer: LogFunction): LineBuffer;
|
|
247
|
-
append(data: string | Buffer): void;
|
|
248
|
-
flush(): void;
|
|
249
|
-
};
|
|
250
|
-
|
|
251
|
-
interface TestResults {
|
|
252
|
-
quackersEnabled: boolean;
|
|
253
|
-
passed: number;
|
|
254
|
-
skipped: number;
|
|
255
|
-
failed: number;
|
|
256
|
-
started: number;
|
|
257
|
-
failureSummary: string[];
|
|
258
|
-
slowSummary: string[];
|
|
259
|
-
fullLog: string[];
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
type DotNetTester = (configuration: string, source: string[]) => Promise<TestResults>;
|
|
263
|
-
|
|
264
|
-
interface TestDotNetLogic {
|
|
265
|
-
runTests: () => Promise<void>;
|
|
266
|
-
testWithNunitCli: DotNetTester;
|
|
267
|
-
testAsDotNetCore: DotNetTester;
|
|
268
|
-
shouldTestInParallel: (testProjectPaths: string[]) => Promise<boolean>;
|
|
269
|
-
testOneDotNetCoreProject: (
|
|
270
|
-
target: string,
|
|
271
|
-
configuration: string,
|
|
272
|
-
verbosity: string,
|
|
273
|
-
testResults: TestResults,
|
|
274
|
-
runningInParallel: boolean,
|
|
275
|
-
forceBuild?: boolean,
|
|
276
|
-
suppressOutput?: boolean
|
|
277
|
-
) => Promise<SystemResult | SystemError>;
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
type VerifyExe = (path: string) => Promise<void>;
|
|
281
|
-
|
|
282
|
-
interface VersionInfo {
|
|
283
|
-
major: number;
|
|
284
|
-
minor?: number;
|
|
285
|
-
patch?: number;
|
|
286
|
-
tag?: string;
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
interface Version {
|
|
290
|
-
major: number;
|
|
291
|
-
minor: number;
|
|
292
|
-
patch: number;
|
|
293
|
-
tag: string;
|
|
294
|
-
isPreRelease: boolean;
|
|
295
|
-
version: number[];
|
|
296
|
-
|
|
297
|
-
new(version: string | number[] | VersionInfo): Version;
|
|
298
|
-
|
|
299
|
-
new(major: number, minor?: number, patch?: number, tag?: string): Version;
|
|
300
|
-
|
|
301
|
-
isGreaterThan(other: Version | string | number[]): boolean;
|
|
302
|
-
|
|
303
|
-
isLessThan(other: Version | string | number[]): boolean;
|
|
304
|
-
|
|
305
|
-
equals(other: Version | string | number): boolean;
|
|
306
|
-
|
|
307
|
-
compareWith(other: Version | string | number): number;
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
interface NUnitRunnerOptions {
|
|
311
|
-
result: string;
|
|
312
|
-
agents: number;
|
|
313
|
-
labels: string;
|
|
314
|
-
process: string;
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
interface GulpNUnitRunnerOptions {
|
|
318
|
-
executable: Optional<string>;
|
|
319
|
-
options: NUnitRunnerOptions;
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
type GulpNunitRunner = (options: GulpNUnitRunnerOptions) => Transform;
|
|
323
|
-
|
|
324
|
-
interface GulpVersion {
|
|
325
|
-
major: number;
|
|
326
|
-
minor: number;
|
|
327
|
-
patch: number;
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
type SetTaskName = (task: any, name: string) => any;
|
|
331
|
-
|
|
332
|
-
type StringMap = (input: string) => string;
|
|
333
|
-
|
|
334
|
-
interface Dictionary<TValue> {
|
|
335
|
-
[key: string]: TValue;
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
interface Author {
|
|
339
|
-
name: string;
|
|
340
|
-
url: string;
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
interface PackageIndex {
|
|
344
|
-
name: string;
|
|
345
|
-
version: string;
|
|
346
|
-
description?: string;
|
|
347
|
-
bin?: Dictionary<string>;
|
|
348
|
-
homepage?: string;
|
|
349
|
-
main?: string;
|
|
350
|
-
scripts?: Dictionary<string>;
|
|
351
|
-
dependencies?: Dictionary<string>;
|
|
352
|
-
devDependencies?: Dictionary<string>;
|
|
353
|
-
files?: string[];
|
|
354
|
-
author: Author; // I'm sure there's a multi-author construct too
|
|
355
|
-
license: LicenseIdentifier
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
"
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
"
|
|
376
|
-
"
|
|
377
|
-
"
|
|
378
|
-
"
|
|
379
|
-
"
|
|
380
|
-
"
|
|
381
|
-
"
|
|
382
|
-
"
|
|
383
|
-
"
|
|
384
|
-
"
|
|
385
|
-
"
|
|
386
|
-
"
|
|
387
|
-
"
|
|
388
|
-
"
|
|
389
|
-
"
|
|
390
|
-
"
|
|
391
|
-
"
|
|
392
|
-
"
|
|
393
|
-
"
|
|
394
|
-
"
|
|
395
|
-
"
|
|
396
|
-
"
|
|
397
|
-
"
|
|
398
|
-
"
|
|
399
|
-
"
|
|
400
|
-
"
|
|
401
|
-
"
|
|
402
|
-
"
|
|
403
|
-
"
|
|
404
|
-
"
|
|
405
|
-
"
|
|
406
|
-
"
|
|
407
|
-
"
|
|
408
|
-
"
|
|
409
|
-
"
|
|
410
|
-
"
|
|
411
|
-
"
|
|
412
|
-
"
|
|
413
|
-
"
|
|
414
|
-
"
|
|
415
|
-
"
|
|
416
|
-
"
|
|
417
|
-
"
|
|
418
|
-
"
|
|
419
|
-
"
|
|
420
|
-
"
|
|
421
|
-
"
|
|
422
|
-
"
|
|
423
|
-
"
|
|
424
|
-
"
|
|
425
|
-
"
|
|
426
|
-
"
|
|
427
|
-
"
|
|
428
|
-
"
|
|
429
|
-
"
|
|
430
|
-
"
|
|
431
|
-
"
|
|
432
|
-
"
|
|
433
|
-
"
|
|
434
|
-
"
|
|
435
|
-
"
|
|
436
|
-
"
|
|
437
|
-
"
|
|
438
|
-
"
|
|
439
|
-
"
|
|
440
|
-
"
|
|
441
|
-
"
|
|
442
|
-
"
|
|
443
|
-
"
|
|
444
|
-
"
|
|
445
|
-
"
|
|
446
|
-
"
|
|
447
|
-
"
|
|
448
|
-
"
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
"
|
|
453
|
-
"
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
"
|
|
458
|
-
"
|
|
459
|
-
"
|
|
460
|
-
"
|
|
461
|
-
"
|
|
462
|
-
"
|
|
463
|
-
"
|
|
464
|
-
"
|
|
465
|
-
"
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
"
|
|
470
|
-
"
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
"
|
|
475
|
-
"
|
|
476
|
-
"
|
|
477
|
-
"
|
|
478
|
-
"
|
|
479
|
-
"
|
|
480
|
-
"
|
|
481
|
-
"
|
|
482
|
-
"
|
|
483
|
-
"
|
|
484
|
-
"
|
|
485
|
-
"
|
|
486
|
-
"
|
|
487
|
-
"
|
|
488
|
-
"
|
|
489
|
-
"
|
|
490
|
-
"
|
|
491
|
-
"
|
|
492
|
-
"
|
|
493
|
-
"
|
|
494
|
-
"
|
|
495
|
-
"
|
|
496
|
-
"
|
|
497
|
-
"
|
|
498
|
-
"
|
|
499
|
-
"
|
|
500
|
-
"
|
|
501
|
-
"
|
|
502
|
-
"
|
|
503
|
-
"
|
|
504
|
-
"
|
|
505
|
-
"
|
|
506
|
-
"
|
|
507
|
-
"
|
|
508
|
-
"
|
|
509
|
-
"
|
|
510
|
-
"
|
|
511
|
-
"
|
|
512
|
-
"
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
type
|
|
736
|
-
type
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
) =>
|
|
742
|
-
type
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
type
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
type
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
type
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
}
|
|
810
|
-
|
|
811
|
-
interface
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
}
|
|
821
|
-
|
|
822
|
-
type
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
//
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
type
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
| "
|
|
864
|
-
| "
|
|
865
|
-
|
|
866
|
-
| "
|
|
867
|
-
| "
|
|
868
|
-
| "
|
|
869
|
-
| "
|
|
870
|
-
| "
|
|
871
|
-
| "
|
|
872
|
-
|
|
873
|
-
| "
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
type
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
interface
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
//
|
|
951
|
-
type
|
|
952
|
-
|
|
953
|
-
type
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
type
|
|
960
|
-
type
|
|
961
|
-
|
|
962
|
-
type
|
|
963
|
-
|
|
964
|
-
type
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
type
|
|
971
|
-
type
|
|
972
|
-
|
|
973
|
-
interface
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
type
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
type
|
|
1026
|
-
type
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
/*
|
|
1057
|
-
*
|
|
1058
|
-
*
|
|
1059
|
-
*/
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
*/
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
/**
|
|
1102
|
-
* when set
|
|
1103
|
-
*
|
|
1104
|
-
*
|
|
1105
|
-
*/
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
interface
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
}
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
type
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
}
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
type
|
|
1334
|
-
|
|
1335
|
-
type
|
|
1336
|
-
type
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
type
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
}
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
}
|
|
1437
|
-
|
|
1438
|
-
interface
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
}
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
type
|
|
1556
|
-
type
|
|
1557
|
-
type
|
|
1558
|
-
type
|
|
1559
|
-
type
|
|
1560
|
-
type
|
|
1561
|
-
type
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
type
|
|
1608
|
-
type
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
type
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
"
|
|
1661
|
-
"
|
|
1662
|
-
"
|
|
1663
|
-
"
|
|
1664
|
-
"
|
|
1665
|
-
"
|
|
1666
|
-
"
|
|
1667
|
-
"
|
|
1668
|
-
"
|
|
1669
|
-
"
|
|
1670
|
-
"
|
|
1671
|
-
"
|
|
1672
|
-
"
|
|
1673
|
-
"
|
|
1674
|
-
"
|
|
1675
|
-
"
|
|
1676
|
-
"
|
|
1677
|
-
"
|
|
1678
|
-
"
|
|
1679
|
-
"
|
|
1680
|
-
"
|
|
1681
|
-
"
|
|
1682
|
-
"
|
|
1683
|
-
"
|
|
1684
|
-
"
|
|
1685
|
-
"
|
|
1686
|
-
"
|
|
1687
|
-
"
|
|
1688
|
-
"
|
|
1689
|
-
"
|
|
1690
|
-
"
|
|
1691
|
-
"
|
|
1692
|
-
"
|
|
1693
|
-
"
|
|
1694
|
-
"
|
|
1695
|
-
"
|
|
1696
|
-
"
|
|
1697
|
-
"
|
|
1698
|
-
"
|
|
1699
|
-
"
|
|
1700
|
-
"
|
|
1701
|
-
"
|
|
1702
|
-
"BSD-
|
|
1703
|
-
"BSD-
|
|
1704
|
-
"BSD-
|
|
1705
|
-
"BSD-
|
|
1706
|
-
"BSD-
|
|
1707
|
-
"BSD-3-Clause
|
|
1708
|
-
"BSD-
|
|
1709
|
-
"BSD-
|
|
1710
|
-
"BSD-
|
|
1711
|
-
"BSD-
|
|
1712
|
-
"
|
|
1713
|
-
"
|
|
1714
|
-
"
|
|
1715
|
-
"
|
|
1716
|
-
"
|
|
1717
|
-
"
|
|
1718
|
-
"
|
|
1719
|
-
"
|
|
1720
|
-
"
|
|
1721
|
-
"
|
|
1722
|
-
"
|
|
1723
|
-
"
|
|
1724
|
-
"CC-BY-
|
|
1725
|
-
"CC-BY-
|
|
1726
|
-
"CC-BY-
|
|
1727
|
-
"CC-BY-
|
|
1728
|
-
"CC-BY-
|
|
1729
|
-
"CC-BY-NC-
|
|
1730
|
-
"CC-BY-NC-
|
|
1731
|
-
"CC-BY-NC-
|
|
1732
|
-
"CC-BY-NC-
|
|
1733
|
-
"CC-BY-NC-
|
|
1734
|
-
"CC-BY-NC-
|
|
1735
|
-
"CC-BY-NC-
|
|
1736
|
-
"CC-BY-NC-
|
|
1737
|
-
"CC-BY-ND-
|
|
1738
|
-
"CC-BY-ND-
|
|
1739
|
-
"CC-BY-
|
|
1740
|
-
"CC-BY-
|
|
1741
|
-
"CC-BY-
|
|
1742
|
-
"CC-BY-SA-
|
|
1743
|
-
"CC-BY-SA-
|
|
1744
|
-
"CC-BY-
|
|
1745
|
-
"CC-BY-
|
|
1746
|
-
"CC-BY-
|
|
1747
|
-
"CC-
|
|
1748
|
-
"
|
|
1749
|
-
"
|
|
1750
|
-
"
|
|
1751
|
-
"
|
|
1752
|
-
"
|
|
1753
|
-
"
|
|
1754
|
-
"
|
|
1755
|
-
"
|
|
1756
|
-
"
|
|
1757
|
-
"
|
|
1758
|
-
"
|
|
1759
|
-
"
|
|
1760
|
-
"
|
|
1761
|
-
"
|
|
1762
|
-
"
|
|
1763
|
-
"
|
|
1764
|
-
"
|
|
1765
|
-
"
|
|
1766
|
-
"
|
|
1767
|
-
"
|
|
1768
|
-
"
|
|
1769
|
-
"
|
|
1770
|
-
"
|
|
1771
|
-
"
|
|
1772
|
-
"
|
|
1773
|
-
"
|
|
1774
|
-
"
|
|
1775
|
-
"
|
|
1776
|
-
"
|
|
1777
|
-
"
|
|
1778
|
-
"
|
|
1779
|
-
"
|
|
1780
|
-
"
|
|
1781
|
-
"
|
|
1782
|
-
"
|
|
1783
|
-
"
|
|
1784
|
-
"
|
|
1785
|
-
"
|
|
1786
|
-
"
|
|
1787
|
-
"
|
|
1788
|
-
"
|
|
1789
|
-
"
|
|
1790
|
-
"
|
|
1791
|
-
"
|
|
1792
|
-
"
|
|
1793
|
-
"
|
|
1794
|
-
"
|
|
1795
|
-
"
|
|
1796
|
-
"
|
|
1797
|
-
"
|
|
1798
|
-
"
|
|
1799
|
-
"
|
|
1800
|
-
"
|
|
1801
|
-
"
|
|
1802
|
-
"
|
|
1803
|
-
"
|
|
1804
|
-
"
|
|
1805
|
-
"
|
|
1806
|
-
"
|
|
1807
|
-
"
|
|
1808
|
-
"
|
|
1809
|
-
"
|
|
1810
|
-
"
|
|
1811
|
-
"
|
|
1812
|
-
"
|
|
1813
|
-
"
|
|
1814
|
-
"
|
|
1815
|
-
"
|
|
1816
|
-
"
|
|
1817
|
-
"
|
|
1818
|
-
"
|
|
1819
|
-
"
|
|
1820
|
-
"
|
|
1821
|
-
"
|
|
1822
|
-
"
|
|
1823
|
-
"
|
|
1824
|
-
"
|
|
1825
|
-
"
|
|
1826
|
-
"
|
|
1827
|
-
"
|
|
1828
|
-
"
|
|
1829
|
-
"
|
|
1830
|
-
"
|
|
1831
|
-
"
|
|
1832
|
-
"
|
|
1833
|
-
"
|
|
1834
|
-
"
|
|
1835
|
-
"
|
|
1836
|
-
"
|
|
1837
|
-
"
|
|
1838
|
-
"
|
|
1839
|
-
"
|
|
1840
|
-
"
|
|
1841
|
-
"
|
|
1842
|
-
"
|
|
1843
|
-
"
|
|
1844
|
-
"
|
|
1845
|
-
"
|
|
1846
|
-
"
|
|
1847
|
-
"
|
|
1848
|
-
"
|
|
1849
|
-
"
|
|
1850
|
-
"
|
|
1851
|
-
"
|
|
1852
|
-
"
|
|
1853
|
-
"
|
|
1854
|
-
"
|
|
1855
|
-
"
|
|
1856
|
-
"
|
|
1857
|
-
"
|
|
1858
|
-
"
|
|
1859
|
-
"
|
|
1860
|
-
"
|
|
1861
|
-
"
|
|
1862
|
-
"
|
|
1863
|
-
"
|
|
1864
|
-
"
|
|
1865
|
-
"
|
|
1866
|
-
"
|
|
1867
|
-
"
|
|
1868
|
-
"
|
|
1869
|
-
"
|
|
1870
|
-
"
|
|
1871
|
-
"
|
|
1872
|
-
"
|
|
1873
|
-
"
|
|
1874
|
-
"
|
|
1875
|
-
"
|
|
1876
|
-
"
|
|
1877
|
-
"
|
|
1878
|
-
"
|
|
1879
|
-
"
|
|
1880
|
-
"
|
|
1881
|
-
"
|
|
1882
|
-
"
|
|
1883
|
-
"
|
|
1884
|
-
"
|
|
1885
|
-
"
|
|
1886
|
-
"
|
|
1887
|
-
"
|
|
1888
|
-
"
|
|
1889
|
-
"
|
|
1890
|
-
"
|
|
1891
|
-
"
|
|
1892
|
-
"
|
|
1893
|
-
"
|
|
1894
|
-
"
|
|
1895
|
-
"
|
|
1896
|
-
"
|
|
1897
|
-
"
|
|
1898
|
-
"
|
|
1899
|
-
"
|
|
1900
|
-
"
|
|
1901
|
-
"
|
|
1902
|
-
"
|
|
1903
|
-
"
|
|
1904
|
-
"
|
|
1905
|
-
"
|
|
1906
|
-
"
|
|
1907
|
-
"
|
|
1908
|
-
"
|
|
1909
|
-
"
|
|
1910
|
-
"
|
|
1911
|
-
"
|
|
1912
|
-
"
|
|
1913
|
-
"
|
|
1914
|
-
"
|
|
1915
|
-
"
|
|
1916
|
-
"
|
|
1917
|
-
"
|
|
1918
|
-
"
|
|
1919
|
-
"
|
|
1920
|
-
"
|
|
1921
|
-
"
|
|
1922
|
-
"
|
|
1923
|
-
"
|
|
1924
|
-
"
|
|
1925
|
-
"
|
|
1926
|
-
"
|
|
1927
|
-
"
|
|
1928
|
-
"
|
|
1929
|
-
"OLDAP-
|
|
1930
|
-
"OLDAP-
|
|
1931
|
-
"OLDAP-
|
|
1932
|
-
"OLDAP-
|
|
1933
|
-
"OLDAP-2.
|
|
1934
|
-
"OLDAP-2.
|
|
1935
|
-
"OLDAP-2.
|
|
1936
|
-
"OLDAP-2.
|
|
1937
|
-
"OLDAP-2.
|
|
1938
|
-
"
|
|
1939
|
-
"
|
|
1940
|
-
"
|
|
1941
|
-
"
|
|
1942
|
-
"
|
|
1943
|
-
"
|
|
1944
|
-
"
|
|
1945
|
-
"
|
|
1946
|
-
"
|
|
1947
|
-
"
|
|
1948
|
-
"
|
|
1949
|
-
"
|
|
1950
|
-
"
|
|
1951
|
-
"
|
|
1952
|
-
"
|
|
1953
|
-
"
|
|
1954
|
-
"
|
|
1955
|
-
"
|
|
1956
|
-
"
|
|
1957
|
-
"
|
|
1958
|
-
"
|
|
1959
|
-
"
|
|
1960
|
-
"
|
|
1961
|
-
"
|
|
1962
|
-
"
|
|
1963
|
-
"
|
|
1964
|
-
"
|
|
1965
|
-
"
|
|
1966
|
-
"
|
|
1967
|
-
"
|
|
1968
|
-
"
|
|
1969
|
-
"
|
|
1970
|
-
"
|
|
1971
|
-
"
|
|
1972
|
-
"
|
|
1973
|
-
"
|
|
1974
|
-
"
|
|
1975
|
-
"
|
|
1976
|
-
"
|
|
1977
|
-
"
|
|
1978
|
-
"
|
|
1979
|
-
"
|
|
1980
|
-
"
|
|
1981
|
-
"
|
|
1982
|
-
"
|
|
1983
|
-
"
|
|
1984
|
-
"
|
|
1985
|
-
"
|
|
1986
|
-
"
|
|
1987
|
-
"
|
|
1988
|
-
"
|
|
1989
|
-
"
|
|
1990
|
-
"
|
|
1991
|
-
"
|
|
1992
|
-
"
|
|
1993
|
-
"
|
|
1994
|
-
"
|
|
1995
|
-
"
|
|
1996
|
-
"
|
|
1997
|
-
"
|
|
1998
|
-
"
|
|
1999
|
-
"
|
|
2000
|
-
"
|
|
2001
|
-
"
|
|
2002
|
-
"
|
|
2003
|
-
"
|
|
2004
|
-
"
|
|
2005
|
-
"
|
|
2006
|
-
"
|
|
2007
|
-
"
|
|
2008
|
-
"
|
|
2009
|
-
"
|
|
2010
|
-
"
|
|
2011
|
-
"
|
|
2012
|
-
"
|
|
2013
|
-
"
|
|
2014
|
-
"
|
|
2015
|
-
"
|
|
2016
|
-
"
|
|
2017
|
-
"
|
|
2018
|
-
"
|
|
2019
|
-
"
|
|
2020
|
-
"
|
|
2021
|
-
"
|
|
2022
|
-
"
|
|
2023
|
-
"
|
|
2024
|
-
"
|
|
2025
|
-
"
|
|
2026
|
-
"
|
|
2027
|
-
"
|
|
2028
|
-
"
|
|
2029
|
-
"
|
|
2030
|
-
"
|
|
2031
|
-
"
|
|
2032
|
-
"
|
|
2033
|
-
"
|
|
2034
|
-
|
|
2035
|
-
|
|
1
|
+
// noinspection JSUnusedGlobalSymbols
|
|
2
|
+
|
|
3
|
+
import * as fs from "fs";
|
|
4
|
+
import { StatsBase } from "fs";
|
|
5
|
+
import { Stream, Transform } from "stream";
|
|
6
|
+
import ansiColors, { StyleFunction } from "ansi-colors";
|
|
7
|
+
import { RimrafOptions } from "./gulp-tasks/modules/rimraf";
|
|
8
|
+
import { ExecFileOptionsWithBufferEncoding } from "child_process";
|
|
9
|
+
import * as vinyl from "vinyl";
|
|
10
|
+
import { BufferFile } from "vinyl";
|
|
11
|
+
// noinspection ES6PreferShortImport
|
|
12
|
+
import { FetchReleaseOptions, ListReleasesOptions, ReleaseInfo } from "./gulp-tasks/modules/fetch-github-release/src";
|
|
13
|
+
import { DecompressOptions, File } from "decompress";
|
|
14
|
+
|
|
15
|
+
export * from "./gulp-tasks/modules/fetch-github-release/src";
|
|
16
|
+
|
|
17
|
+
type RequireModuleFunction<T> = (module: string) => T
|
|
18
|
+
|
|
19
|
+
interface RequireModule<T>
|
|
20
|
+
extends RequireModuleFunction<T> {
|
|
21
|
+
debug(): DebugFactory;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
declare global {
|
|
25
|
+
function requireModule<T>(module: string): T;
|
|
26
|
+
|
|
27
|
+
// copied out of @types/fancy-log because imports are being stupid
|
|
28
|
+
interface Logger {
|
|
29
|
+
(...args: any[]): Logger;
|
|
30
|
+
|
|
31
|
+
dir(...args: any[]): Logger;
|
|
32
|
+
|
|
33
|
+
error(...args: any[]): Logger;
|
|
34
|
+
|
|
35
|
+
info(...args: any[]): Logger;
|
|
36
|
+
|
|
37
|
+
warn(...args: any[]): Logger;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
interface LogLevels {
|
|
41
|
+
Debug: number;
|
|
42
|
+
Info: number;
|
|
43
|
+
Notice: number;
|
|
44
|
+
Warning: number;
|
|
45
|
+
Error: number;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
enum LogThreshold {
|
|
49
|
+
debug = 1,
|
|
50
|
+
info = 2,
|
|
51
|
+
notice = 3,
|
|
52
|
+
warning = 4,
|
|
53
|
+
error = 5
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
interface ZarroLogger {
|
|
57
|
+
LogLevels: LogLevels;
|
|
58
|
+
threshold: LogThreshold;
|
|
59
|
+
|
|
60
|
+
setThreshold(threshold: number | string): void;
|
|
61
|
+
|
|
62
|
+
debug(...args: any[]): void;
|
|
63
|
+
|
|
64
|
+
info(...args: any[]): void;
|
|
65
|
+
|
|
66
|
+
notice(...args: any[]): void;
|
|
67
|
+
|
|
68
|
+
warning(...args: any[]): void;
|
|
69
|
+
|
|
70
|
+
error(...args: any[]): void;
|
|
71
|
+
|
|
72
|
+
fail(...args: any[]): void;
|
|
73
|
+
|
|
74
|
+
ok(...args: any[]): void;
|
|
75
|
+
|
|
76
|
+
notice(...args: any[]): void;
|
|
77
|
+
|
|
78
|
+
suppressTimestamps(): void;
|
|
79
|
+
|
|
80
|
+
showTimestamps(): void;
|
|
81
|
+
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
interface Log {
|
|
85
|
+
setThreshold(level: number): void;
|
|
86
|
+
|
|
87
|
+
debug(...args: any[]): void;
|
|
88
|
+
|
|
89
|
+
info(...args: any[]): void;
|
|
90
|
+
|
|
91
|
+
notice(...args: any[]): void;
|
|
92
|
+
|
|
93
|
+
warn(...args: any[]): void;
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* @deprecated this is a link back to .warn(...)
|
|
97
|
+
*/
|
|
98
|
+
warning(...args: any[]): void;
|
|
99
|
+
|
|
100
|
+
error(...args: any[]): void;
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* @deprecated this is a link back to .error(...)
|
|
104
|
+
*/
|
|
105
|
+
fail(...args: any[]): void;
|
|
106
|
+
|
|
107
|
+
ok(): void;
|
|
108
|
+
|
|
109
|
+
suppressTimestamps(): void;
|
|
110
|
+
|
|
111
|
+
showTimestamps(): void;
|
|
112
|
+
|
|
113
|
+
LogLevels: LogLevels;
|
|
114
|
+
|
|
115
|
+
threshold: LogThreshold;
|
|
116
|
+
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
type Func<T> = () => T;
|
|
121
|
+
type DebugLogFunction = (...args: any[]) => void;
|
|
122
|
+
type DebugFactory = (label: string) => DebugLogFunction;
|
|
123
|
+
type VoidVoid = () => void;
|
|
124
|
+
type AsyncVoidVoid = () => Promise<void>;
|
|
125
|
+
type AsyncVoidFunc<T> = () => Promise<T>;
|
|
126
|
+
type AsyncTVoid<T> = (arg: T) => Promise<void>;
|
|
127
|
+
type OptionsFactory<T> = (file: vinyl.BufferFile) => T | Promise<T>;
|
|
128
|
+
type ErrorReporter = (e: Error) => Promise<void> | void;
|
|
129
|
+
type GulpCallback =
|
|
130
|
+
(() => Promise<any> | NodeJS.EventEmitter) |
|
|
131
|
+
((done: VoidVoid) => Promise<any> | NodeJS.EventEmitter | void)
|
|
132
|
+
type TryDo<T> = (
|
|
133
|
+
logic: AsyncVoidFunc<T>,
|
|
134
|
+
retries: number | string,
|
|
135
|
+
onTransientError?: ErrorReporter,
|
|
136
|
+
onFinalFailure?: VoidVoid
|
|
137
|
+
) => Promise<T>;
|
|
138
|
+
type Optional<T> = T | undefined;
|
|
139
|
+
type Nullable<T> = T | null;
|
|
140
|
+
type DownloadNuget = (targetFolder: string, quiet?: boolean) => Promise<string>;
|
|
141
|
+
|
|
142
|
+
interface ResolveNugetConfig {
|
|
143
|
+
localNuget: string;
|
|
144
|
+
nugetDownloadUrl: string;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
type FindNpmBase = () => string;
|
|
148
|
+
type ResolveNugetConfigGenerator = () => ResolveNugetConfig;
|
|
149
|
+
type ResolveNuget = (nugetPath?: string, errorOnMissing?: boolean) => string;
|
|
150
|
+
type FindLocalNuget = (quiet?: boolean) => Promise<string>;
|
|
151
|
+
|
|
152
|
+
type Fetch = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
|
|
153
|
+
|
|
154
|
+
interface Streamify {
|
|
155
|
+
streamify<T>(
|
|
156
|
+
fn: AsyncTVoid<T>,
|
|
157
|
+
optionsFactory: OptionsFactory<T>,
|
|
158
|
+
pluginName: string,
|
|
159
|
+
operation: string
|
|
160
|
+
): Transform;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
interface HttpClient {
|
|
164
|
+
new(): HttpClient;
|
|
165
|
+
|
|
166
|
+
suppressProgress: boolean;
|
|
167
|
+
assumeDownloadedIfExistsAndSizeMatches: boolean;
|
|
168
|
+
aborted: boolean;
|
|
169
|
+
|
|
170
|
+
download(url: string, target: string): Promise<string>;
|
|
171
|
+
|
|
172
|
+
exists(url: string): Promise<boolean>;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
interface Decompress {
|
|
176
|
+
decompress(data: string | Buffer, target: string | DecompressOptions): Promise<File[]>;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
type LogFunction = (s: string) => void;
|
|
180
|
+
|
|
181
|
+
interface HttpClientModule {
|
|
182
|
+
create(
|
|
183
|
+
infoLogFunction?: LogFunction,
|
|
184
|
+
debugLogFunction?: LogFunction
|
|
185
|
+
): HttpClient;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
interface SrcOptions {
|
|
189
|
+
allowEmpty?: boolean;
|
|
190
|
+
read?: boolean
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
interface GulpWithHelp {
|
|
194
|
+
task(name: string, callback: GulpCallback): void;
|
|
195
|
+
|
|
196
|
+
task(name: string, help: string, callback: GulpCallback): void;
|
|
197
|
+
|
|
198
|
+
task(name: string, dependencies: string[], callback?: GulpCallback): void;
|
|
199
|
+
|
|
200
|
+
task(name: string, help: string, dependencies: string[], callback?: GulpCallback): void;
|
|
201
|
+
|
|
202
|
+
src(mask: string | string[], opts?: SrcOptions): NodeJS.ReadableStream;
|
|
203
|
+
|
|
204
|
+
dest(target: string): NodeJS.WritableStream;
|
|
205
|
+
|
|
206
|
+
series(...tasks: string[]): (fn: Function) => void;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
type RunSequence = (...args: (string | Function)[]) => void;
|
|
210
|
+
type RunTaskFn = (task: string) => Promise<void>;
|
|
211
|
+
type RunTasksFn = (...tasks: string[]) => Promise<void>;
|
|
212
|
+
|
|
213
|
+
interface RunTask {
|
|
214
|
+
runTask: RunTaskFn;
|
|
215
|
+
runSeries: RunTasksFn;
|
|
216
|
+
runParallel: RunTasksFn;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
interface TemporaryEnvironmentRunner {
|
|
220
|
+
run<T>(fn: (() => T | Promise<T>)): Promise<T>;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
interface EnvDictionary {
|
|
224
|
+
[key: AnyEnvVar | string]: string;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
type WithEnvironment = (
|
|
228
|
+
env: EnvDictionary,
|
|
229
|
+
/**
|
|
230
|
+
* If you'd like to replace the entire environment instead of augmenting it,
|
|
231
|
+
* set this to true
|
|
232
|
+
*/
|
|
233
|
+
replaceExistingEnvironment?: boolean
|
|
234
|
+
) => TemporaryEnvironmentRunner;
|
|
235
|
+
type TemporaryEnvironment = {
|
|
236
|
+
withEnvironment: WithEnvironment;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
type Gulp = GulpWithHelp;
|
|
240
|
+
type RunInParallel = (
|
|
241
|
+
maxConcurrency: number,
|
|
242
|
+
...actions: AsyncVoidVoid[]
|
|
243
|
+
) => Promise<void>;
|
|
244
|
+
type Seed = (howMany: number) => any[];
|
|
245
|
+
type LineBuffer = {
|
|
246
|
+
new(writer: LogFunction): LineBuffer;
|
|
247
|
+
append(data: string | Buffer): void;
|
|
248
|
+
flush(): void;
|
|
249
|
+
};
|
|
250
|
+
|
|
251
|
+
interface TestResults {
|
|
252
|
+
quackersEnabled: boolean;
|
|
253
|
+
passed: number;
|
|
254
|
+
skipped: number;
|
|
255
|
+
failed: number;
|
|
256
|
+
started: number;
|
|
257
|
+
failureSummary: string[];
|
|
258
|
+
slowSummary: string[];
|
|
259
|
+
fullLog: string[];
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
type DotNetTester = (configuration: string, source: string[]) => Promise<TestResults>;
|
|
263
|
+
|
|
264
|
+
interface TestDotNetLogic {
|
|
265
|
+
runTests: () => Promise<void>;
|
|
266
|
+
testWithNunitCli: DotNetTester;
|
|
267
|
+
testAsDotNetCore: DotNetTester;
|
|
268
|
+
shouldTestInParallel: (testProjectPaths: string[]) => Promise<boolean>;
|
|
269
|
+
testOneDotNetCoreProject: (
|
|
270
|
+
target: string,
|
|
271
|
+
configuration: string,
|
|
272
|
+
verbosity: string,
|
|
273
|
+
testResults: TestResults,
|
|
274
|
+
runningInParallel: boolean,
|
|
275
|
+
forceBuild?: boolean,
|
|
276
|
+
suppressOutput?: boolean
|
|
277
|
+
) => Promise<SystemResult | SystemError>;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
type VerifyExe = (path: string) => Promise<void>;
|
|
281
|
+
|
|
282
|
+
interface VersionInfo {
|
|
283
|
+
major: number;
|
|
284
|
+
minor?: number;
|
|
285
|
+
patch?: number;
|
|
286
|
+
tag?: string;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
interface Version {
|
|
290
|
+
major: number;
|
|
291
|
+
minor: number;
|
|
292
|
+
patch: number;
|
|
293
|
+
tag: string;
|
|
294
|
+
isPreRelease: boolean;
|
|
295
|
+
version: number[];
|
|
296
|
+
|
|
297
|
+
new(version: string | number[] | VersionInfo): Version;
|
|
298
|
+
|
|
299
|
+
new(major: number, minor?: number, patch?: number, tag?: string): Version;
|
|
300
|
+
|
|
301
|
+
isGreaterThan(other: Version | string | number[]): boolean;
|
|
302
|
+
|
|
303
|
+
isLessThan(other: Version | string | number[]): boolean;
|
|
304
|
+
|
|
305
|
+
equals(other: Version | string | number): boolean;
|
|
306
|
+
|
|
307
|
+
compareWith(other: Version | string | number): number;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
interface NUnitRunnerOptions {
|
|
311
|
+
result: string;
|
|
312
|
+
agents: number;
|
|
313
|
+
labels: string;
|
|
314
|
+
process: string;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
interface GulpNUnitRunnerOptions {
|
|
318
|
+
executable: Optional<string>;
|
|
319
|
+
options: NUnitRunnerOptions;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
type GulpNunitRunner = (options: GulpNUnitRunnerOptions) => Transform;
|
|
323
|
+
|
|
324
|
+
interface GulpVersion {
|
|
325
|
+
major: number;
|
|
326
|
+
minor: number;
|
|
327
|
+
patch: number;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
type SetTaskName = (task: any, name: string) => any;
|
|
331
|
+
|
|
332
|
+
type StringMap = (input: string) => string;
|
|
333
|
+
|
|
334
|
+
interface Dictionary<TValue> {
|
|
335
|
+
[key: string]: TValue;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
interface Author {
|
|
339
|
+
name: string;
|
|
340
|
+
url: string;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
interface PackageIndex {
|
|
344
|
+
name: string;
|
|
345
|
+
version: string;
|
|
346
|
+
description?: string;
|
|
347
|
+
bin?: Dictionary<string>;
|
|
348
|
+
homepage?: string;
|
|
349
|
+
main?: string;
|
|
350
|
+
scripts?: Dictionary<string>;
|
|
351
|
+
dependencies?: Dictionary<string>;
|
|
352
|
+
devDependencies?: Dictionary<string>;
|
|
353
|
+
files?: string[];
|
|
354
|
+
author: Author; // I'm sure there's a multi-author construct too
|
|
355
|
+
license: LicenseIdentifier
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
interface ResolveNugetPushPackageFiles {
|
|
359
|
+
resolveNugetPushPackageFiles: () => Promise<string[]>;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
type ResolveMasks = (
|
|
363
|
+
includeVar: StringEnvVar | StringEnvVar[],
|
|
364
|
+
excludeVar: StringEnvVar | StringEnvVar[],
|
|
365
|
+
modifierFunction?: StringMap
|
|
366
|
+
) => string[];
|
|
367
|
+
|
|
368
|
+
type ShimNuget = (pathToNuget: string) => string;
|
|
369
|
+
type Retry<T> = (fn: (() => Promise<T>), attempt?: number, maxAttempts?: number, wait?: number) => Promise<T>;
|
|
370
|
+
|
|
371
|
+
type VersionIncrementStrategy =
|
|
372
|
+
"major" | "minor" | "patch" | "prerelease";
|
|
373
|
+
|
|
374
|
+
type StringEnvVar =
|
|
375
|
+
"BUILD_CONFIGURATION" |
|
|
376
|
+
"BUILD_PLATFORM" |
|
|
377
|
+
"BUILD_ARCHITECTURE" |
|
|
378
|
+
"BUILD_INCLUDE" |
|
|
379
|
+
"BUILD_EXCLUDE" |
|
|
380
|
+
"BUILD_ADDITIONAL_EXCLUDE" |
|
|
381
|
+
"BUILD_FRAMEWORK" |
|
|
382
|
+
"BUILD_RUNTIME" |
|
|
383
|
+
"NUNIT_ARCHITECTURE" |
|
|
384
|
+
"BUILD_REPORT_XML" |
|
|
385
|
+
"NUNIT_LABELS" |
|
|
386
|
+
"NUNIT_PROCESS" |
|
|
387
|
+
"TEST_INCLUDE" |
|
|
388
|
+
"TEST_ADDITIONAL_INCLUDE" |
|
|
389
|
+
"TEST_EXCLUDE" |
|
|
390
|
+
"TEST_ADDITIONAL_EXCLUDE" |
|
|
391
|
+
"TEST_VERBOSITY" |
|
|
392
|
+
"BUILD_TOOLSVERSION" |
|
|
393
|
+
"BUILD_TARGETS" |
|
|
394
|
+
"BUILD_VERBOSITY" |
|
|
395
|
+
"COVERAGE_EXCLUDE" |
|
|
396
|
+
"COVERAGE_INCLUDE" |
|
|
397
|
+
"COVERAGE_ADDITIONAL_EXCLUDE" |
|
|
398
|
+
"COVERAGE_XML" |
|
|
399
|
+
"COVERAGE_REPORTING_EXCLUDE" |
|
|
400
|
+
"GIT_OVERRIDE_BRANCH" |
|
|
401
|
+
"GIT_BRANCH" |
|
|
402
|
+
"GIT_MAIN_BRANCH" |
|
|
403
|
+
"GIT_DEFAULT_UPSTREAM" |
|
|
404
|
+
"GIT_VERIFY_BRANCH" |
|
|
405
|
+
"GIT_OVERRIDE_REMOTE" |
|
|
406
|
+
"GIT_REMOTE" |
|
|
407
|
+
"NUGET_API_KEY" |
|
|
408
|
+
"NUGET_API_KEYS" |
|
|
409
|
+
"NUGET_PUSH_SOURCE" |
|
|
410
|
+
"NUGET_SOURCE" |
|
|
411
|
+
"NUGET_SOURCES" |
|
|
412
|
+
"NUGET_PUSH_PACKAGES" |
|
|
413
|
+
"DOTNET_PUBLISH_RUNTIMES" |
|
|
414
|
+
"DOTNET_PUBLISH_BUILD_CONFIGURATION" |
|
|
415
|
+
"DOTNET_PUBLISH_OS" |
|
|
416
|
+
"DOTNET_PUBLISH_ARCH" |
|
|
417
|
+
"DOTNET_PUBLISH_FRAMEWORK" |
|
|
418
|
+
"DOTNET_PUBLISH_MANIFEST" |
|
|
419
|
+
"DOTNET_PUBLISH_VERSION_SUFFIX" |
|
|
420
|
+
"DOTNET_PUBLISH_VERBOSITY" |
|
|
421
|
+
"OUTPUT" |
|
|
422
|
+
"PURGE_JS_DIRS" |
|
|
423
|
+
"PURGE_DOTNET_DIRS" |
|
|
424
|
+
"PURGE_ADDITIONAL_DIRS" |
|
|
425
|
+
"PACK_TARGET_FOLDER" |
|
|
426
|
+
"PACK_INCLUDE_CSPROJ" |
|
|
427
|
+
"PACK_EXCLUDE_CSPROJ" |
|
|
428
|
+
"PACK_INCLUDE_NUSPEC" |
|
|
429
|
+
"PACK_EXCLUDE_NUSPEC" |
|
|
430
|
+
"PACK_CONFIGURATION" |
|
|
431
|
+
"PACK_SUPPLEMENTARY_NUSPEC" |
|
|
432
|
+
"PACK_BASE_PATH" |
|
|
433
|
+
"PACK_VERSION" |
|
|
434
|
+
"PACK_VERBOSITY" |
|
|
435
|
+
"PACKAGE_JSON" |
|
|
436
|
+
"INCLUDE_PACKAGE_JSON" |
|
|
437
|
+
"EXCLUDE_PACKAGE_JSON" |
|
|
438
|
+
"NPM_PUBLISH_ACCESS" |
|
|
439
|
+
"DOTNET_TEST_PREFIXES" |
|
|
440
|
+
"VERSION_INCREMENT_STRATEGY" |
|
|
441
|
+
"BUILD_TOOLS_FOLDER" |
|
|
442
|
+
"MSBUILD_PROPERTIES" |
|
|
443
|
+
"DEV_SMTP_BIND_IP" |
|
|
444
|
+
"DEV_SMTP_INTERFACE_BIND_IP" |
|
|
445
|
+
"DOTNET_PUBLISH_INCLUDE" |
|
|
446
|
+
"DOTNET_PUBLISH_EXCLUDE" |
|
|
447
|
+
"DOTNET_PUBLISH_ADDITIONAL_EXCLUDE" |
|
|
448
|
+
"DOTNET_PUBLISH_CONTAINER_REGISTRY" |
|
|
449
|
+
"DOTNET_PUBLISH_CONTAINER_IMAGE_TAG" |
|
|
450
|
+
"DOTNET_PUBLISH_CONTAINER_IMAGE_NAME" |
|
|
451
|
+
"TAG" |
|
|
452
|
+
"GIT_TAG" |
|
|
453
|
+
"GIT_VERSION_INCREMENT_MESSAGE" |
|
|
454
|
+
string; // allow client-side extension, encourage usage of env.associate & env.register
|
|
455
|
+
|
|
456
|
+
type NumericEnvVar =
|
|
457
|
+
"BUILD_MAX_CPU_COUNT" |
|
|
458
|
+
"MAX_NUNIT_AGENTS" |
|
|
459
|
+
"GIT_FETCH_TIMEOUT" |
|
|
460
|
+
"GIT_VERIFY_TIMEOUT" |
|
|
461
|
+
"GIT_FETCH_RECENT_TIME" |
|
|
462
|
+
"NUGET_PUSH_TIMEOUT" |
|
|
463
|
+
"PACK_INCREMENT_VERSION_BY" |
|
|
464
|
+
"MAX_RETRIES" |
|
|
465
|
+
"BUILD_RETRIES" |
|
|
466
|
+
"RESTORE_RETRIES" |
|
|
467
|
+
"MAX_CONCURRENCY" |
|
|
468
|
+
"DEV_SMTP_PORT" |
|
|
469
|
+
"DEV_SMTP_INTERFACE_PORT" |
|
|
470
|
+
"DOTNET_PARALLEL_STAGGER_MS" |
|
|
471
|
+
string;
|
|
472
|
+
|
|
473
|
+
type FlagEnvVar =
|
|
474
|
+
"ENABLE_NUGET_PARALLEL_PROCESSING" |
|
|
475
|
+
"BUILD_SHOW_INFO" |
|
|
476
|
+
"BUILD_FAIL_ON_ERROR" |
|
|
477
|
+
"BUILD_MSBUILD_NODE_REUSE" |
|
|
478
|
+
"DOTNET_TEST_PARALLEL" |
|
|
479
|
+
"DOTNET_TEST_REBUILD" |
|
|
480
|
+
"DOTNET_CORE" |
|
|
481
|
+
"DRY_RUN" |
|
|
482
|
+
"ENFORCE_VERIFICATION" |
|
|
483
|
+
"INTERACTIVE" |
|
|
484
|
+
"SKIP_FETCH_ON_VERIFY" |
|
|
485
|
+
"NO_UNICODE" |
|
|
486
|
+
"NO_COLOR" |
|
|
487
|
+
"NUGET_IGNORE_DUPLICATE_PACKAGES" |
|
|
488
|
+
"PACK_INCREMENT_VERSION" |
|
|
489
|
+
"PACK_INCLUDE_EMPTY_DIRECTORIES" |
|
|
490
|
+
"PACK_INCLUDE_SYMBOLS" |
|
|
491
|
+
"PACK_INCLUDE_SOURCE" |
|
|
492
|
+
"PACK_LEGACY_SYMBOLS" |
|
|
493
|
+
"PACK_IGNORE_MISSING_DEFAULT_NUSPEC" |
|
|
494
|
+
"INITIAL_RELEASE" |
|
|
495
|
+
"VERSION_INCREMENT_ZERO" |
|
|
496
|
+
"BETA" |
|
|
497
|
+
"RETAIN_TEST_DIAGNOSTICS" |
|
|
498
|
+
"DOTNET_TEST_QUIET_QUACKERS" |
|
|
499
|
+
"UPDATE_SUBMODULES_TO_LATEST" |
|
|
500
|
+
"USE_SYSTEM_NUGET" |
|
|
501
|
+
"DOTNET_DISABLE_BUILD_SERVERS" |
|
|
502
|
+
"DOTNET_PUBLISH_SELF_CONTAINED" |
|
|
503
|
+
"DOTNET_PUBLISH_NO_BUILD" |
|
|
504
|
+
"DOTNET_PUBLISH_NO_RESTORE" |
|
|
505
|
+
"DOTNET_PUBLISH_USE_CURRENT_RUNTIME" |
|
|
506
|
+
"PACK_NO_BUILD" |
|
|
507
|
+
"PACK_NO_RESTORE" |
|
|
508
|
+
"ZARRO_ENABLE_CONFIGURATION_FILES" |
|
|
509
|
+
"DEV_SMTP_DETACHED" |
|
|
510
|
+
"DEV_SMTP_IGNORE_ERRORS" |
|
|
511
|
+
"DEV_SMTP_OPEN_INTERFACE" |
|
|
512
|
+
"DOTNET_PUBLISH_CONTAINER" |
|
|
513
|
+
"ZARRO_ALLOW_FILE_RESOLUTION" |
|
|
514
|
+
"NPM_PUBLISH_SKIP_OTP" |
|
|
515
|
+
"SKIP_NUGET_UPDATE" |
|
|
516
|
+
"PACK_INCREMENT_MINOR_ON_FIRST_PRERELEASE" |
|
|
517
|
+
"BUILD_TOOLS_INSTALL_FORCE_NUGET_EXE" |
|
|
518
|
+
string;
|
|
519
|
+
|
|
520
|
+
type AnyEnvVar = StringEnvVar | NumericEnvVar | FlagEnvVar | VersionIncrementStrategy;
|
|
521
|
+
type OverrideWhen = (existing: Optional<string>, potential: Optional<string>) => boolean;
|
|
522
|
+
|
|
523
|
+
interface EnvRegistration {
|
|
524
|
+
name: string | (keyof Env);
|
|
525
|
+
help: string | string[];
|
|
526
|
+
tasks?: string | string[];
|
|
527
|
+
overriddenBy?: string | string[];
|
|
528
|
+
when?: OverrideWhen;
|
|
529
|
+
default?: string;
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
type GetToolsFolder = (overrideEnv?: Env) => string;
|
|
533
|
+
|
|
534
|
+
interface Open {
|
|
535
|
+
open(url: string): Promise<void>;
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
type ResolveNugetApiKey = (forSource?: string) => Optional<string>;
|
|
539
|
+
|
|
540
|
+
interface Env
|
|
541
|
+
extends Dictionary<any> {
|
|
542
|
+
resolve(...names: (StringEnvVar | VersionIncrementStrategy)[]): string;
|
|
543
|
+
|
|
544
|
+
/**
|
|
545
|
+
* @description resolve an object from json set as an environment variable - note that the type annotation is for convenience: types _are not_ checked
|
|
546
|
+
*/
|
|
547
|
+
resolveObject<T>(...names: (StringEnvVar | VersionIncrementStrategy)[]): T;
|
|
548
|
+
|
|
549
|
+
resolveRequired(...names: (StringEnvVar | VersionIncrementStrategy)[]): string;
|
|
550
|
+
|
|
551
|
+
resolveArray(name: AnyEnvVar | AnyEnvVar[], delimiter?: string): string[];
|
|
552
|
+
|
|
553
|
+
resolveMergedArray(name: AnyEnvVar | AnyEnvVar[], delimiter?: string): string[];
|
|
554
|
+
|
|
555
|
+
resolveNumber(name: NumericEnvVar): number;
|
|
556
|
+
|
|
557
|
+
resolveFlag(name: FlagEnvVar, fallback?: boolean): boolean;
|
|
558
|
+
|
|
559
|
+
associate(varName: AnyEnvVar | AnyEnvVar[], tasks: string | string[]): void;
|
|
560
|
+
|
|
561
|
+
resolveWithFallback<T>(varName: AnyEnvVar, fallback: T): T;
|
|
562
|
+
|
|
563
|
+
resolveMap(varName: AnyEnvVar, fallback?: Dictionary<string>, delimiter?: string): Dictionary<string>;
|
|
564
|
+
|
|
565
|
+
register(reg: EnvRegistration): void;
|
|
566
|
+
|
|
567
|
+
// these are generated on the js output by register-environment-variables
|
|
568
|
+
// -> included here to avoid typos: use env.CONSTANT_NAME when you want
|
|
569
|
+
// the constant name somewhere, eg in association
|
|
570
|
+
BUILD_CONFIGURATION: StringEnvVar;
|
|
571
|
+
BUILD_PLATFORM: StringEnvVar;
|
|
572
|
+
BUILD_ARCHITECTURE: StringEnvVar;
|
|
573
|
+
BUILD_INCLUDE: StringEnvVar;
|
|
574
|
+
BUILD_EXCLUDE: StringEnvVar;
|
|
575
|
+
BUILD_ADDITIONAL_EXCLUDE: StringEnvVar;
|
|
576
|
+
BUILD_FRAMEWORK: StringEnvVar;
|
|
577
|
+
BUILD_RUNTIME: StringEnvVar;
|
|
578
|
+
NUNIT_ARCHITECTURE: StringEnvVar;
|
|
579
|
+
BUILD_REPORT_XML: StringEnvVar;
|
|
580
|
+
NUNIT_LABELS: StringEnvVar; // for now, at least
|
|
581
|
+
NUNIT_PROCESS: StringEnvVar;
|
|
582
|
+
TEST_INCLUDE: StringEnvVar;
|
|
583
|
+
TEST_ADDITIONAL_INCLUDE: StringEnvVar;
|
|
584
|
+
TEST_EXCLUDE: StringEnvVar;
|
|
585
|
+
TEST_ADDITIONAL_EXCLUDE: StringEnvVar;
|
|
586
|
+
TEST_VERBOSITY: StringEnvVar; // for now, at least
|
|
587
|
+
BUILD_TOOLSVERSION: StringEnvVar;
|
|
588
|
+
BUILD_TARGETS: StringEnvVar;
|
|
589
|
+
BUILD_VERBOSITY: StringEnvVar;
|
|
590
|
+
COVERAGE_INCLUDE: StringEnvVar;
|
|
591
|
+
COVERAGE_EXCLUDE: StringEnvVar;
|
|
592
|
+
COVERAGE_ADDITIONAL_EXCLUDE: StringEnvVar;
|
|
593
|
+
COVERAGE_XML: StringEnvVar;
|
|
594
|
+
COVERAGE_REPORTING_EXCLUDE: StringEnvVar;
|
|
595
|
+
GIT_OVERRIDE_BRANCH: StringEnvVar;
|
|
596
|
+
GIT_BRANCH: StringEnvVar;
|
|
597
|
+
GIT_MAIN_BRANCH: StringEnvVar;
|
|
598
|
+
GIT_DEFAULT_UPSTREAM: StringEnvVar;
|
|
599
|
+
GIT_VERIFY_BRANCH: StringEnvVar;
|
|
600
|
+
GIT_OVERRIDE_REMOTE: StringEnvVar;
|
|
601
|
+
GIT_REMOTE: StringEnvVar;
|
|
602
|
+
NUGET_API_KEY: StringEnvVar;
|
|
603
|
+
NUGET_API_KEYS: StringEnvVar;
|
|
604
|
+
NUGET_PUSH_SOURCE: StringEnvVar;
|
|
605
|
+
NUGET_SOURCES: StringEnvVar;
|
|
606
|
+
NUGET_SOURCE: StringEnvVar;
|
|
607
|
+
NUGET_PUSH_PACKAGES: StringEnvVar;
|
|
608
|
+
DOTNET_PUBLISH_RUNTIMES: StringEnvVar;
|
|
609
|
+
DOTNET_PUBLISH_BUILD_CONFIGURATION: StringEnvVar;
|
|
610
|
+
DOTNET_PUBLISH_OS: StringEnvVar;
|
|
611
|
+
DOTNET_PUBLISH_ARCH: StringEnvVar;
|
|
612
|
+
DOTNET_PUBLISH_FRAMEWORK: StringEnvVar;
|
|
613
|
+
DOTNET_PUBLISH_MANIFEST: StringEnvVar;
|
|
614
|
+
DOTNET_PUBLISH_VERSION_SUFFIX: StringEnvVar;
|
|
615
|
+
DOTNET_PUBLISH_VERBOSITY: StringEnvVar;
|
|
616
|
+
OUTPUT: StringEnvVar;
|
|
617
|
+
PURGE_JS_DIRS: StringEnvVar;
|
|
618
|
+
PURGE_DOTNET_DIRS: StringEnvVar;
|
|
619
|
+
PURGE_ADDITIONAL_DIRS: StringEnvVar;
|
|
620
|
+
PACK_TARGET_FOLDER: StringEnvVar;
|
|
621
|
+
PACK_INCLUDE_CSPROJ: StringEnvVar;
|
|
622
|
+
PACK_EXCLUDE_CSPROJ: StringEnvVar;
|
|
623
|
+
PACK_INCLUDE_NUSPEC: StringEnvVar;
|
|
624
|
+
PACK_EXCLUDE_NUSPEC: StringEnvVar;
|
|
625
|
+
PACK_CONFIGURATION: StringEnvVar;
|
|
626
|
+
PACK_SUPPLEMENTARY_NUSPEC: StringEnvVar;
|
|
627
|
+
PACK_BASE_PATH: StringEnvVar;
|
|
628
|
+
PACK_VERSION: StringEnvVar;
|
|
629
|
+
PACK_VERBOSITY: DotNetVerbosity;
|
|
630
|
+
PACKAGE_JSON: StringEnvVar;
|
|
631
|
+
INCLUDE_PACKAGE_JSON: StringEnvVar;
|
|
632
|
+
EXCLUDE_PACKAGE_JSON: StringEnvVar;
|
|
633
|
+
NPM_PUBLISH_ACCESS: StringEnvVar;
|
|
634
|
+
DOTNET_TEST_PREFIXES: StringEnvVar;
|
|
635
|
+
VERSION_INCREMENT_STRATEGY: VersionIncrementStrategy;
|
|
636
|
+
BUILD_TOOLS_FOLDER: StringEnvVar;
|
|
637
|
+
MSBUILD_PROPERTIES: StringEnvVar;
|
|
638
|
+
DEV_SMTP_BIND_IP: StringEnvVar;
|
|
639
|
+
DEV_SMTP_INTERFACE_BIND_IP: StringEnvVar;
|
|
640
|
+
DOTNET_PUBLISH_INCLUDE: StringEnvVar;
|
|
641
|
+
DOTNET_PUBLISH_EXCLUDE: StringEnvVar;
|
|
642
|
+
DOTNET_PUBLISH_ADDITIONAL_EXCLUDE: StringEnvVar;
|
|
643
|
+
DOTNET_PUBLISH_CONTAINER_REGISTRY: StringEnvVar;
|
|
644
|
+
DOTNET_PUBLISH_CONTAINER_IMAGE_TAG: StringEnvVar;
|
|
645
|
+
DOTNET_PUBLISH_CONTAINER_IMAGE_NAME: StringEnvVar;
|
|
646
|
+
TAG: StringEnvVar;
|
|
647
|
+
GIT_TAG: StringEnvVar;
|
|
648
|
+
GIT_VERSION_INCREMENT_MESSAGE: StringEnvVar;
|
|
649
|
+
|
|
650
|
+
ENABLE_NUGET_PARALLEL_PROCESSING: FlagEnvVar;
|
|
651
|
+
BUILD_SHOW_INFO: FlagEnvVar;
|
|
652
|
+
BUILD_FAIL_ON_ERROR: FlagEnvVar;
|
|
653
|
+
BUILD_MSBUILD_NODE_REUSE: FlagEnvVar;
|
|
654
|
+
DOTNET_TEST_PARALLEL: FlagEnvVar;
|
|
655
|
+
DOTNET_TEST_REBUILD: FlagEnvVar;
|
|
656
|
+
DOTNET_CORE: FlagEnvVar;
|
|
657
|
+
DRY_RUN: FlagEnvVar;
|
|
658
|
+
ENFORCE_VERIFICATION: FlagEnvVar;
|
|
659
|
+
INTERACTIVE: FlagEnvVar;
|
|
660
|
+
SKIP_FETCH_ON_VERIFY: FlagEnvVar;
|
|
661
|
+
NO_UNICODE: FlagEnvVar;
|
|
662
|
+
NO_COLOR: FlagEnvVar;
|
|
663
|
+
NUGET_IGNORE_DUPLICATE_PACKAGES: FlagEnvVar;
|
|
664
|
+
PACK_INCREMENT_VERSION: FlagEnvVar;
|
|
665
|
+
PACK_INCLUDE_EMPTY_DIRECTORIES: FlagEnvVar;
|
|
666
|
+
PACK_INCLUDE_SYMBOLS: FlagEnvVar;
|
|
667
|
+
PACK_INCLUDE_SOURCE: FlagEnvVar;
|
|
668
|
+
PACK_LEGACY_SYMBOLS: FlagEnvVar;
|
|
669
|
+
INITIAL_RELEASE: FlagEnvVar;
|
|
670
|
+
VERSION_INCREMENT_ZERO: FlagEnvVar;
|
|
671
|
+
BETA: FlagEnvVar;
|
|
672
|
+
RETAIN_TEST_DIAGNOSTICS: FlagEnvVar;
|
|
673
|
+
DOTNET_TEST_QUIET_QUACKERS: FlagEnvVar;
|
|
674
|
+
UPDATE_SUBMODULES_TO_LATEST: FlagEnvVar;
|
|
675
|
+
USE_SYSTEM_NUGET: FlagEnvVar;
|
|
676
|
+
DOTNET_DISABLE_BUILD_SERVERS: FlagEnvVar;
|
|
677
|
+
DOTNET_PUBLISH_SELF_CONTAINED: FlagEnvVar;
|
|
678
|
+
DOTNET_PUBLISH_NO_BUILD: FlagEnvVar;
|
|
679
|
+
DOTNET_PUBLISH_NO_RESTORE: FlagEnvVar;
|
|
680
|
+
DOTNET_PUBLISH_USE_CURRENT_RUNTIME: FlagEnvVar;
|
|
681
|
+
PACK_NO_BUILD: FlagEnvVar;
|
|
682
|
+
PACK_NO_RESTORE: FlagEnvVar;
|
|
683
|
+
PACK_IGNORE_MISSING_DEFAULT_NUSPEC: FlagEnvVar;
|
|
684
|
+
ZARRO_ENABLE_CONFIGURATION_FILES: FlagEnvVar;
|
|
685
|
+
DEV_SMTP_DETACHED: FlagEnvVar;
|
|
686
|
+
DEV_SMTP_IGNORE_ERRORS: FlagEnvVar;
|
|
687
|
+
DEV_SMTP_OPEN_INTERFACE: FlagEnvVar;
|
|
688
|
+
DOTNET_PUBLISH_CONTAINER: FlagEnvVar;
|
|
689
|
+
ZARRO_ALLOW_FILE_RESOLUTION: FlagEnvVar;
|
|
690
|
+
NPM_PUBLISH_SKIP_OTP: FlagEnvVar;
|
|
691
|
+
SKIP_NUGET_UPDATE: FlagEnvVar;
|
|
692
|
+
PACK_INCREMENT_MINOR_ON_FIRST_PRERELEASE: FlagEnvVar;
|
|
693
|
+
BUILD_TOOLS_INSTALL_FORCE_NUGET_EXE: FlagEnvVar;
|
|
694
|
+
|
|
695
|
+
BUILD_MAX_CPU_COUNT: NumericEnvVar;
|
|
696
|
+
MAX_NUNIT_AGENTS: NumericEnvVar;
|
|
697
|
+
GIT_FETCH_TIMEOUT: NumericEnvVar;
|
|
698
|
+
GIT_VERIFY_TIMEOUT: NumericEnvVar;
|
|
699
|
+
GIT_FETCH_RECENT_TIME: NumericEnvVar;
|
|
700
|
+
NUGET_PUSH_TIMEOUT: NumericEnvVar;
|
|
701
|
+
PACK_INCREMENT_VERSION_BY: NumericEnvVar;
|
|
702
|
+
MAX_RETRIES: NumericEnvVar;
|
|
703
|
+
BUILD_RETRIES: NumericEnvVar;
|
|
704
|
+
RESTORE_RETRIES: NumericEnvVar;
|
|
705
|
+
MAX_CONCURRENCY: NumericEnvVar;
|
|
706
|
+
DEV_SMTP_PORT: NumericEnvVar;
|
|
707
|
+
DEV_SMTP_INTERFACE_PORT: NumericEnvVar;
|
|
708
|
+
DOTNET_PARALLEL_STAGGER_MS: NumericEnvVar;
|
|
709
|
+
}
|
|
710
|
+
|
|
711
|
+
type StatFunction = (path: string) => Promise<fs.Stats | null>
|
|
712
|
+
|
|
713
|
+
interface GitSha {
|
|
714
|
+
fetchGitSha(
|
|
715
|
+
forRepo?: string,
|
|
716
|
+
short?: boolean
|
|
717
|
+
): Promise<string>;
|
|
718
|
+
|
|
719
|
+
init(): Promise<void>;
|
|
720
|
+
|
|
721
|
+
currentShortSHA: () => string;
|
|
722
|
+
currentGitSHA: () => string;
|
|
723
|
+
}
|
|
724
|
+
|
|
725
|
+
interface ZarroError
|
|
726
|
+
extends Error {
|
|
727
|
+
new(message: string): ZarroError;
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
interface ZarroErrorModule {
|
|
731
|
+
|
|
732
|
+
}
|
|
733
|
+
|
|
734
|
+
// module defs: get these via requireModule<T>("module-name");
|
|
735
|
+
type ReadTextFile = (path: string) => Promise<string>;
|
|
736
|
+
type WriteTextFile = (path: string, data: string, options?: {
|
|
737
|
+
encoding?: string | null,
|
|
738
|
+
mode?: string | number,
|
|
739
|
+
flag?: string | number
|
|
740
|
+
} | string | null) => Promise<void>
|
|
741
|
+
type ParseXml = (data: string) => Promise<Dictionary<any>>;
|
|
742
|
+
type IncrementVersion = (
|
|
743
|
+
version: string,
|
|
744
|
+
strategy: string,
|
|
745
|
+
zeroLowerOrder?: boolean,
|
|
746
|
+
incrementBy?: number
|
|
747
|
+
) => string;
|
|
748
|
+
type ReadPackageVersion = (packageJsonPath?: string) => Promise<string | undefined>;
|
|
749
|
+
type ReadNuspecVersion = (pathToNuspec: string) => Promise<string | undefined>;
|
|
750
|
+
// FIXME: is this used anywhere? should be supplanted by csproj-utils
|
|
751
|
+
type ReadCsProjVersion = (pathToCsProj: string) => string | undefined;
|
|
752
|
+
type ReadCsProjPackageVersion = (pathToCsProj: string) => string | undefined;
|
|
753
|
+
type GatherPaths = (pathSpecs: string | string[], throwForNoMatches?: boolean) => Promise<string[]>;
|
|
754
|
+
type PromisifyStream = (stream: Stream) => Promise<void>;
|
|
755
|
+
|
|
756
|
+
interface AlterPackageJsonVersionOptions {
|
|
757
|
+
packageJsonPath?: string;
|
|
758
|
+
dryRun?: boolean;
|
|
759
|
+
strategy?: string;
|
|
760
|
+
zero?: boolean;
|
|
761
|
+
loadUnsetFromEnvironment?: boolean;
|
|
762
|
+
incrementBy?: number
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
type GuessIndent = (text: string) => number;
|
|
766
|
+
|
|
767
|
+
type AlterPackageJson = (opts?: AlterPackageJsonVersionOptions) => Promise<void>;
|
|
768
|
+
type Rimraf = (at: string, opts?: RimrafOptions) => Promise<void>;
|
|
769
|
+
type ReadPackageJson = (at?: string) => Promise<PackageIndex>;
|
|
770
|
+
|
|
771
|
+
type IoConsumer = (d: string) => void
|
|
772
|
+
|
|
773
|
+
interface IoHandlers {
|
|
774
|
+
stdout?: IoConsumer;
|
|
775
|
+
stderr?: IoConsumer;
|
|
776
|
+
}
|
|
777
|
+
|
|
778
|
+
interface ExecError
|
|
779
|
+
extends Error {
|
|
780
|
+
info: {
|
|
781
|
+
exitCode: number;
|
|
782
|
+
cmd: string;
|
|
783
|
+
args: string[];
|
|
784
|
+
opts?: ExecOpts;
|
|
785
|
+
stdout: string[];
|
|
786
|
+
stderr: string[];
|
|
787
|
+
timedOut: boolean;
|
|
788
|
+
}
|
|
789
|
+
}
|
|
790
|
+
|
|
791
|
+
type Exec =
|
|
792
|
+
((cmd: string, args?: string[], opts?: ExecOpts, handlers?: IoHandlers) => Promise<string>) & {
|
|
793
|
+
alwaysSuppressOutput: boolean
|
|
794
|
+
};
|
|
795
|
+
|
|
796
|
+
type Uniq = (values: any[]) => any[];
|
|
797
|
+
type EnvHelpers = {
|
|
798
|
+
env: (name: string, fallback?: string) => string;
|
|
799
|
+
envNumber: (name: string, fallback?: number) => number;
|
|
800
|
+
envFlag: (name: string, fallback?: boolean) => boolean;
|
|
801
|
+
};
|
|
802
|
+
|
|
803
|
+
interface Version {
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
interface PackageInfo {
|
|
807
|
+
id: string;
|
|
808
|
+
version: Version;
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
interface PathUtils {
|
|
812
|
+
splitPath: (path: string) => string[];
|
|
813
|
+
baseName: (path: string) => string;
|
|
814
|
+
chopExtension: (path: string) => string;
|
|
815
|
+
}
|
|
816
|
+
|
|
817
|
+
interface ObsoleteWarning {
|
|
818
|
+
reason: string;
|
|
819
|
+
expires: string;
|
|
820
|
+
}
|
|
821
|
+
|
|
822
|
+
type MakeObsolete = (module: any, data: ObsoleteWarning) => any;
|
|
823
|
+
|
|
824
|
+
interface TestUtils {
|
|
825
|
+
resolveTestPrefixFor: (path: string) => string;
|
|
826
|
+
}
|
|
827
|
+
|
|
828
|
+
type GulpIncrementNugetPackageDependencyVersion =
|
|
829
|
+
(packageMatch: RegExp | string) => any;
|
|
830
|
+
|
|
831
|
+
// @ts-ignore
|
|
832
|
+
export interface ExecOpts
|
|
833
|
+
extends ExecFileOptionsWithBufferEncoding {
|
|
834
|
+
// force usage of execfile
|
|
835
|
+
_useExecFile?: boolean;
|
|
836
|
+
// exec normally mirrors output (and returns it)
|
|
837
|
+
// -> set this to true to only return the output
|
|
838
|
+
suppressOutput?: boolean;
|
|
839
|
+
|
|
840
|
+
// merge stdout & stderr into one output
|
|
841
|
+
mergeIo?: boolean;
|
|
842
|
+
|
|
843
|
+
encoding?: string | null;
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
export interface NugetPushOpts {
|
|
847
|
+
skipDuplicates?: boolean;
|
|
848
|
+
apiKey?: string
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
type IsWindows = () => boolean;
|
|
852
|
+
|
|
853
|
+
type PackOptions = {
|
|
854
|
+
basePath?: string;
|
|
855
|
+
excludeEmptyDirectories?: boolean;
|
|
856
|
+
version?: string;
|
|
857
|
+
symbols?: boolean;
|
|
858
|
+
legacySymbols?: boolean;
|
|
859
|
+
};
|
|
860
|
+
type Pack = (opts?: PackOptions) => Stream;
|
|
861
|
+
|
|
862
|
+
type Colors = "black"
|
|
863
|
+
| "red"
|
|
864
|
+
| "green"
|
|
865
|
+
| "yellow"
|
|
866
|
+
| "blue"
|
|
867
|
+
| "magenta"
|
|
868
|
+
| "cyan"
|
|
869
|
+
| "white"
|
|
870
|
+
| "gray"
|
|
871
|
+
| "grey"
|
|
872
|
+
// bright colors
|
|
873
|
+
| "blackBright"
|
|
874
|
+
| "redBright"
|
|
875
|
+
| "greenBright"
|
|
876
|
+
| "yellowBright"
|
|
877
|
+
| "blueBright"
|
|
878
|
+
| "magentaBright"
|
|
879
|
+
| "cyanBright"
|
|
880
|
+
| "whiteBright"
|
|
881
|
+
|
|
882
|
+
type Status = {
|
|
883
|
+
start(message: string, color?: Colors): void;
|
|
884
|
+
ok(): void;
|
|
885
|
+
fail(): void;
|
|
886
|
+
run<T>(message: string, action: (() => T | Promise<T>)): void;
|
|
887
|
+
};
|
|
888
|
+
type Sleep = (ms: number) => Promise<void>;
|
|
889
|
+
type Which = (executable: string) => Optional<string>;
|
|
890
|
+
|
|
891
|
+
interface Failer {
|
|
892
|
+
promise: Promise<void>;
|
|
893
|
+
|
|
894
|
+
cancel(): void;
|
|
895
|
+
}
|
|
896
|
+
|
|
897
|
+
type FailAfter = (ms: number, message?: string) => Failer;
|
|
898
|
+
|
|
899
|
+
type NugetUpdateSelf = (nugetPath: string) => Promise<void>;
|
|
900
|
+
|
|
901
|
+
interface TestUtilFinderOptions {
|
|
902
|
+
x86?: boolean;
|
|
903
|
+
platform?: string;
|
|
904
|
+
architecture?: string;
|
|
905
|
+
ignoreBetas?: boolean;
|
|
906
|
+
}
|
|
907
|
+
|
|
908
|
+
interface TestUtilFinder {
|
|
909
|
+
latestNUnit(opts?: TestUtilFinderOptions): Optional<string>;
|
|
910
|
+
|
|
911
|
+
latestDotCover(opts?: TestUtilFinderOptions): Optional<string>;
|
|
912
|
+
|
|
913
|
+
latestOpenCover(): Optional<string>;
|
|
914
|
+
|
|
915
|
+
findTool(exeName: string, underFolder?: string): Optional<string>;
|
|
916
|
+
|
|
917
|
+
/**
|
|
918
|
+
* @deprecated
|
|
919
|
+
*/
|
|
920
|
+
nunit2Finder(): Optional<string>;
|
|
921
|
+
|
|
922
|
+
/**
|
|
923
|
+
* @description used to sort arrays of versioned folders
|
|
924
|
+
*/
|
|
925
|
+
compareVersionArrays(x: number[], y: number[]): number;
|
|
926
|
+
}
|
|
927
|
+
|
|
928
|
+
/**
|
|
929
|
+
* @deprecated rather require("yafs")
|
|
930
|
+
*/
|
|
931
|
+
export interface FileSystemUtils {
|
|
932
|
+
folderExists(at: string): Promise<boolean>;
|
|
933
|
+
|
|
934
|
+
fileExists(at: string): Promise<boolean>;
|
|
935
|
+
|
|
936
|
+
stat(p: string): Promise<StatsBase<any>>;
|
|
937
|
+
|
|
938
|
+
readFile(p: string, opts: any): Promise<Buffer | string>;
|
|
939
|
+
|
|
940
|
+
readdir(p: string): Promise<string[]>;
|
|
941
|
+
|
|
942
|
+
mkdir(p: string, opts: any): Promise<void>;
|
|
943
|
+
|
|
944
|
+
existsSync(p: string): boolean;
|
|
945
|
+
|
|
946
|
+
writeFileSync(p: string, contents: Buffer): void;
|
|
947
|
+
}
|
|
948
|
+
|
|
949
|
+
// simple-git wrappers
|
|
950
|
+
// resolves the (assumed primary) git remote at the current folder or provided override, allowing an environment override via GIT_REMOTE
|
|
951
|
+
type ResolveGitRemote = (at?: string) => Promise<string | undefined>;
|
|
952
|
+
// attempt to read the primary git remote, if there is one
|
|
953
|
+
type ReadGitRemote = (at?: string) => Promise<string | undefined>;
|
|
954
|
+
type ReadAllGitRemotes = (at?: string) => Promise<GitRemote[]>;
|
|
955
|
+
// resolves the git branch at the current folder or provided override, allowing an environment override via GIT_BRANCH
|
|
956
|
+
type ResolveGitBranch = (at?: string) => Promise<string | undefined>;
|
|
957
|
+
// reads the checked out branch name at the current folder or provided override
|
|
958
|
+
type ReadCurrentGitBranch = (at?: string) => Promise<string | undefined>;
|
|
959
|
+
type ReadAllGitBranches = (at?: string) => Promise<string[]>;
|
|
960
|
+
type ReadLastFetchTime = (at?: string) => Promise<Date | undefined>;
|
|
961
|
+
// runs some git functionality, returning undefined if that functionality is run outside a repo folder
|
|
962
|
+
type SafeGit = ((fn: () => Promise<any>, defaultValue?: any) => Promise<any | undefined>)
|
|
963
|
+
|
|
964
|
+
type PromisifyFunction = (fn: Function, parent?: any, cannotError?: any) => ((...args: any[]) => Promise<any>);
|
|
965
|
+
|
|
966
|
+
type ParseXmlString = (str: string) => any; // TODO: get xml types in here?
|
|
967
|
+
type LoadXmlFile = (str: string) => any; // TODO: get xml types in here?
|
|
968
|
+
|
|
969
|
+
type GitTagFromCsProj = (options?: GitTagOptions) => Stream;
|
|
970
|
+
type GitFetch = (all: boolean) => Promise<void>;
|
|
971
|
+
type NugetPush = (packageFile: string, sourceName?: string, options?: NugetPushOpts) => Promise<void>;
|
|
972
|
+
|
|
973
|
+
interface ParseNugetVersion {
|
|
974
|
+
parseNugetVersion(versionStringOrFileName: string): Version;
|
|
975
|
+
}
|
|
976
|
+
|
|
977
|
+
type ReadGitCommitDeltaCount = (mainBranch: string, otherBranch: string) => Promise<GitCommitDeltaCount>;
|
|
978
|
+
type ReadMainBranchName = () => Promise<string | undefined>;
|
|
979
|
+
|
|
980
|
+
interface GitCommitDeltaCount {
|
|
981
|
+
behind: number;
|
|
982
|
+
ahead: number;
|
|
983
|
+
}
|
|
984
|
+
|
|
985
|
+
type AnsiColors = typeof ansiColors;
|
|
986
|
+
|
|
987
|
+
type ReadGitInfo = (at?: string) => Promise<GitInfo>;
|
|
988
|
+
|
|
989
|
+
enum GitRemoteUsage {
|
|
990
|
+
fetch,
|
|
991
|
+
push,
|
|
992
|
+
fetchAndPush
|
|
993
|
+
}
|
|
994
|
+
|
|
995
|
+
interface GitRemote {
|
|
996
|
+
name: string;
|
|
997
|
+
url: string;
|
|
998
|
+
usage: GitRemoteUsage
|
|
999
|
+
}
|
|
1000
|
+
|
|
1001
|
+
interface GitInfo {
|
|
1002
|
+
isGitRepository: boolean;
|
|
1003
|
+
remotes: GitRemote[];
|
|
1004
|
+
primaryRemote: string;
|
|
1005
|
+
branches: string[];
|
|
1006
|
+
currentBranch: string;
|
|
1007
|
+
}
|
|
1008
|
+
|
|
1009
|
+
interface GitTagOptions {
|
|
1010
|
+
tag: string;
|
|
1011
|
+
comment?: string;
|
|
1012
|
+
where?: string;
|
|
1013
|
+
dryRun?: boolean;
|
|
1014
|
+
ignorePreRelease?: boolean;
|
|
1015
|
+
push?: boolean;
|
|
1016
|
+
}
|
|
1017
|
+
|
|
1018
|
+
interface GitPushOptions {
|
|
1019
|
+
dryRun?: boolean;
|
|
1020
|
+
quiet?: boolean;
|
|
1021
|
+
where?: string
|
|
1022
|
+
}
|
|
1023
|
+
|
|
1024
|
+
type GitTag = (tag: string | GitTagOptions, comment?: string, where?: string) => Promise<void>;
|
|
1025
|
+
type GitPush = (dryRun?: boolean | GitPushOptions, quiet?: boolean, where?: string) => Promise<void>;
|
|
1026
|
+
type GitPushTags = (dryRun?: boolean | GitPushOptions, comment?: string, where?: string) => Promise<void>;
|
|
1027
|
+
type QuoteIfRequired = (str?: string) => string;
|
|
1028
|
+
|
|
1029
|
+
type StdioOptions = "pipe" | "ignore" | "inherit" |
|
|
1030
|
+
Array<("pipe" | "ipc" | "ignore" | "inherit" | any | number | null | undefined)>;
|
|
1031
|
+
|
|
1032
|
+
type StringConsumer = (data: string) => void;
|
|
1033
|
+
type ProcessIO = string | StringConsumer;
|
|
1034
|
+
|
|
1035
|
+
type UpdateNuspecVersion = (fileOrXml: string, newVersion: string) => Promise<string>;
|
|
1036
|
+
|
|
1037
|
+
interface SpawnOptions {
|
|
1038
|
+
windowsHide?: boolean;
|
|
1039
|
+
timeout?: number;
|
|
1040
|
+
argv0?: string;
|
|
1041
|
+
stdio?: StdioOptions;
|
|
1042
|
+
shell?: boolean | string;
|
|
1043
|
+
windowsVerbatimArguments?: boolean;
|
|
1044
|
+
|
|
1045
|
+
uid?: number;
|
|
1046
|
+
gid?: number;
|
|
1047
|
+
cwd?: string;
|
|
1048
|
+
env?: NodeJS.ProcessEnv;
|
|
1049
|
+
|
|
1050
|
+
stdout?: ProcessIO;
|
|
1051
|
+
stderr?: ProcessIO;
|
|
1052
|
+
lineBuffer?: boolean;
|
|
1053
|
+
|
|
1054
|
+
detached?: boolean;
|
|
1055
|
+
|
|
1056
|
+
/*
|
|
1057
|
+
* when a process is marked as interactive, no stderr/stdout
|
|
1058
|
+
* collection is done as the IO is left as "inherit"
|
|
1059
|
+
*/
|
|
1060
|
+
interactive?: boolean;
|
|
1061
|
+
suppressStdIoInErrors?: boolean;
|
|
1062
|
+
|
|
1063
|
+
/*
|
|
1064
|
+
* quotes can be hard, so if things aren't working out and
|
|
1065
|
+
* you'd like to take full control, set this
|
|
1066
|
+
*/
|
|
1067
|
+
disableAutomaticQuoting?: boolean;
|
|
1068
|
+
|
|
1069
|
+
/**
|
|
1070
|
+
* when set true, output will not be echoed back on the
|
|
1071
|
+
* console but you will be able to get it from a custom
|
|
1072
|
+
* io writer or the result from after spawn completes
|
|
1073
|
+
*/
|
|
1074
|
+
suppressOutput?: boolean;
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
interface SystemOptions {
|
|
1078
|
+
windowsHide?: boolean;
|
|
1079
|
+
timeout?: number;
|
|
1080
|
+
argv0?: string;
|
|
1081
|
+
shell?: boolean | string;
|
|
1082
|
+
windowsVerbatimArguments?: boolean;
|
|
1083
|
+
|
|
1084
|
+
uid?: number;
|
|
1085
|
+
gid?: number;
|
|
1086
|
+
cwd?: string;
|
|
1087
|
+
env?: NodeJS.ProcessEnv;
|
|
1088
|
+
|
|
1089
|
+
stdout?: ProcessIO;
|
|
1090
|
+
stderr?: ProcessIO;
|
|
1091
|
+
|
|
1092
|
+
detached?: boolean;
|
|
1093
|
+
|
|
1094
|
+
/*
|
|
1095
|
+
* when a process is marked as interactive, no stderr/stdout
|
|
1096
|
+
* collection is done as the IO is left as "inherit"
|
|
1097
|
+
*/
|
|
1098
|
+
interactive?: boolean;
|
|
1099
|
+
suppressStdIoInErrors?: boolean;
|
|
1100
|
+
|
|
1101
|
+
/**
|
|
1102
|
+
* when set true, output will not be echoed back on the
|
|
1103
|
+
* console but you will be able to get it from a custom
|
|
1104
|
+
* io writer or the result from after spawn completes
|
|
1105
|
+
*/
|
|
1106
|
+
suppressOutput?: boolean;
|
|
1107
|
+
|
|
1108
|
+
/**
|
|
1109
|
+
* when set to true, if a temporary file for launching your command was
|
|
1110
|
+
* required, it won't be cleaned up. It will appear in the spawn output
|
|
1111
|
+
* / error as the first argument, with the exe set to either cmd or sh
|
|
1112
|
+
*/
|
|
1113
|
+
keepTempFiles?: boolean;
|
|
1114
|
+
}
|
|
1115
|
+
|
|
1116
|
+
/**
|
|
1117
|
+
* @deprecated rather use the better-tested `system` module and SystemError
|
|
1118
|
+
*/
|
|
1119
|
+
interface SpawnError
|
|
1120
|
+
extends Error {
|
|
1121
|
+
new(
|
|
1122
|
+
message: string,
|
|
1123
|
+
exe: string,
|
|
1124
|
+
args: string[] | undefined,
|
|
1125
|
+
exitCode: number,
|
|
1126
|
+
stdout: Nullable<string[]>,
|
|
1127
|
+
stderr: Nullable<string[]>
|
|
1128
|
+
): SpawnError;
|
|
1129
|
+
|
|
1130
|
+
exe: string;
|
|
1131
|
+
args: string[];
|
|
1132
|
+
exitCode: number;
|
|
1133
|
+
stderr: string[];
|
|
1134
|
+
stdout: string[];
|
|
1135
|
+
|
|
1136
|
+
isSpawnError(o: any): o is SpawnError
|
|
1137
|
+
}
|
|
1138
|
+
|
|
1139
|
+
/**
|
|
1140
|
+
* @deprecated rather use the better-tested `system` module and SystemResult
|
|
1141
|
+
*/
|
|
1142
|
+
interface SpawnResult {
|
|
1143
|
+
new(
|
|
1144
|
+
executable: string,
|
|
1145
|
+
args: string[],
|
|
1146
|
+
exitCode: number,
|
|
1147
|
+
stderr: string[],
|
|
1148
|
+
stdout: string[]
|
|
1149
|
+
): SpawnResult;
|
|
1150
|
+
|
|
1151
|
+
executable: string;
|
|
1152
|
+
args: string[];
|
|
1153
|
+
exitCode: number;
|
|
1154
|
+
stderr: string[];
|
|
1155
|
+
stdout: string[];
|
|
1156
|
+
|
|
1157
|
+
isSpawnResult(o: any): o is SpawnResult
|
|
1158
|
+
}
|
|
1159
|
+
|
|
1160
|
+
interface Linq {
|
|
1161
|
+
last<T>(arr: T[]): Optional<T>;
|
|
1162
|
+
|
|
1163
|
+
first<T>(arr: T[]): Optional<T>;
|
|
1164
|
+
|
|
1165
|
+
skip<T>(arr: T[] | IterableIterator<T>, howMany: number): IterableIterator<T>;
|
|
1166
|
+
|
|
1167
|
+
take<T>(arr: T[] | IterableIterator<T>, howMany: number): IterableIterator<T>;
|
|
1168
|
+
}
|
|
1169
|
+
|
|
1170
|
+
type RequireModuleFn = <T>(name: string) => T;
|
|
1171
|
+
|
|
1172
|
+
type SpawnFunction = (program: string, args?: string[], options?: SpawnOptions)
|
|
1173
|
+
=> Promise<SpawnResult>;
|
|
1174
|
+
|
|
1175
|
+
interface Spawn
|
|
1176
|
+
extends SpawnFunction {
|
|
1177
|
+
SpawnResult: Function;
|
|
1178
|
+
SpawnError: Function;
|
|
1179
|
+
isSpawnError: (o: any) => o is SpawnError;
|
|
1180
|
+
isSpawnResult: (o: any) => o is SpawnResult;
|
|
1181
|
+
}
|
|
1182
|
+
|
|
1183
|
+
interface SystemCommand {
|
|
1184
|
+
exe: string;
|
|
1185
|
+
args: string[];
|
|
1186
|
+
}
|
|
1187
|
+
|
|
1188
|
+
interface SystemResultImpl
|
|
1189
|
+
extends SystemCommand {
|
|
1190
|
+
new(
|
|
1191
|
+
exe: string,
|
|
1192
|
+
args: string[],
|
|
1193
|
+
exitCode: Optional<number>,
|
|
1194
|
+
stderr: string[],
|
|
1195
|
+
stdout: string[]
|
|
1196
|
+
): SystemResult;
|
|
1197
|
+
|
|
1198
|
+
exitCode?: number;
|
|
1199
|
+
stderr: string[];
|
|
1200
|
+
stdout: string[];
|
|
1201
|
+
|
|
1202
|
+
isResult(): this is SystemResult;
|
|
1203
|
+
isError(): this is SystemError;
|
|
1204
|
+
}
|
|
1205
|
+
|
|
1206
|
+
interface SystemResultBuilder {
|
|
1207
|
+
withExe(exe: string): SystemResultBuilder;
|
|
1208
|
+
withArgs(args: string[]): SystemResultBuilder;
|
|
1209
|
+
withExitCode(code: number): SystemResultBuilder;
|
|
1210
|
+
withStdErr(lines: string[] | string): SystemResultBuilder;
|
|
1211
|
+
withStdOut(lines: string[] | string): SystemResultBuilder;
|
|
1212
|
+
build(): SystemResult;
|
|
1213
|
+
}
|
|
1214
|
+
|
|
1215
|
+
type SystemResult = {
|
|
1216
|
+
create(): SystemResultBuilder;
|
|
1217
|
+
} & SystemResultImpl;
|
|
1218
|
+
|
|
1219
|
+
interface SystemError
|
|
1220
|
+
extends Error, SystemCommand {
|
|
1221
|
+
new(
|
|
1222
|
+
message: string,
|
|
1223
|
+
exe: string,
|
|
1224
|
+
args: string[] | undefined,
|
|
1225
|
+
exitCode: number,
|
|
1226
|
+
stdout: Nullable<string[]>,
|
|
1227
|
+
stderr: Nullable<string[]>
|
|
1228
|
+
): SystemError;
|
|
1229
|
+
|
|
1230
|
+
exitCode: number;
|
|
1231
|
+
stderr: string[];
|
|
1232
|
+
stdout: string[];
|
|
1233
|
+
|
|
1234
|
+
isError(o: any): o is SystemError;
|
|
1235
|
+
|
|
1236
|
+
isResult(o: any): o is SystemError;
|
|
1237
|
+
}
|
|
1238
|
+
|
|
1239
|
+
type SystemFunction = (program: string, args?: string[], options?: SystemOptions)
|
|
1240
|
+
=> Promise<SystemResult | SystemError>;
|
|
1241
|
+
|
|
1242
|
+
interface System
|
|
1243
|
+
extends SystemFunction {
|
|
1244
|
+
isError(o: any): o is SystemError;
|
|
1245
|
+
isResult(o: any): o is SystemResult;
|
|
1246
|
+
}
|
|
1247
|
+
|
|
1248
|
+
interface TempFile {
|
|
1249
|
+
path: string;
|
|
1250
|
+
destroy(): void;
|
|
1251
|
+
}
|
|
1252
|
+
|
|
1253
|
+
type ThrowIfNoFiles = (msg: string) => Transform;
|
|
1254
|
+
type LogConfig = (config: any, labels: Dictionary<string>) => void;
|
|
1255
|
+
|
|
1256
|
+
interface NugetRestoreOptions {
|
|
1257
|
+
debug?: boolean;
|
|
1258
|
+
force?: boolean;
|
|
1259
|
+
nuget?: string;
|
|
1260
|
+
}
|
|
1261
|
+
|
|
1262
|
+
type ZarroTestPackage = "local" | "beta" | "latest" | string;
|
|
1263
|
+
interface TestZarroOptions {
|
|
1264
|
+
packageVersion: ZarroTestPackage;
|
|
1265
|
+
tasks: string | string[];
|
|
1266
|
+
rollback?: boolean;
|
|
1267
|
+
}
|
|
1268
|
+
type TestZarro = (opts: TestZarroOptions) => Promise<void>;
|
|
1269
|
+
|
|
1270
|
+
type GulpNugetRestore = (opts: NugetRestoreOptions) => Stream;
|
|
1271
|
+
type LongestStringLength = (strings: string[]) => number;
|
|
1272
|
+
/**
|
|
1273
|
+
* @description generates a version suffix based on the current timestamp and git SHA
|
|
1274
|
+
*/
|
|
1275
|
+
type GenerateVersionSuffix = () => string;
|
|
1276
|
+
|
|
1277
|
+
interface GulpPurgeOptions {
|
|
1278
|
+
dryRun?: boolean;
|
|
1279
|
+
debug?: boolean;
|
|
1280
|
+
stopOnErrors?: boolean;
|
|
1281
|
+
}
|
|
1282
|
+
|
|
1283
|
+
type GulpPurge = (options: GulpPurgeOptions) => Transform;
|
|
1284
|
+
|
|
1285
|
+
interface GulpNpmRun {
|
|
1286
|
+
gulpNpmRun: (gulp: Gulp) => void;
|
|
1287
|
+
isNpmScript: (name: string) => boolean;
|
|
1288
|
+
}
|
|
1289
|
+
type Nuget = (args: string[], opts?: SystemOptions) => Promise<void>;
|
|
1290
|
+
|
|
1291
|
+
interface CliSupport {
|
|
1292
|
+
pushIfSet: (args: string[], value: Optional<string | number>, cliSwitch: string) => void;
|
|
1293
|
+
pushFlag: (args: string[], value: Optional<boolean>, cliSwitch: string) => void;
|
|
1294
|
+
}
|
|
1295
|
+
|
|
1296
|
+
interface NugetInstallOptions {
|
|
1297
|
+
packageId: string;
|
|
1298
|
+
version?: string;
|
|
1299
|
+
outputDirectory?: string;
|
|
1300
|
+
dependencyVersion?: string;
|
|
1301
|
+
framework?: string;
|
|
1302
|
+
excludeVersion?: string;
|
|
1303
|
+
preRelease?: boolean;
|
|
1304
|
+
requireConsent?: boolean;
|
|
1305
|
+
solutionDirectory?: string;
|
|
1306
|
+
source?: string;
|
|
1307
|
+
fallbackSource?: string;
|
|
1308
|
+
noCache?: boolean;
|
|
1309
|
+
directDownload?: boolean;
|
|
1310
|
+
disableParallelProcessing?: boolean;
|
|
1311
|
+
packageSaveMode?: NugetPackageSaveMode;
|
|
1312
|
+
verbosity?: NugetVerbosity;
|
|
1313
|
+
nonInteractive?: boolean;
|
|
1314
|
+
configFile?: string;
|
|
1315
|
+
forceEnglishOutput?: boolean;
|
|
1316
|
+
|
|
1317
|
+
systemOptions?: SystemOptions;
|
|
1318
|
+
}
|
|
1319
|
+
|
|
1320
|
+
type NugetPackageSaveMode = "nuspec" | "nupkg" | "nuspec;nupkg";
|
|
1321
|
+
type NugetVerbosity = "normal" | "quiet" | "detailed";
|
|
1322
|
+
|
|
1323
|
+
interface NugetCli {
|
|
1324
|
+
install: (opts: NugetInstallOptions) => Promise<void>;
|
|
1325
|
+
clearAllCache(): Promise<void>;
|
|
1326
|
+
clearHttpCache(): Promise<void>;
|
|
1327
|
+
listSources(): Promise<NugetSource[]>;
|
|
1328
|
+
addSource(src: NugetAddSourceOptions): Promise<void>;
|
|
1329
|
+
enableSource(name: string): Promise<void>;
|
|
1330
|
+
disableSource(name: string): Promise<void>;
|
|
1331
|
+
}
|
|
1332
|
+
|
|
1333
|
+
type ParseNugetSources = (lines: string[]) => NugetSource[];
|
|
1334
|
+
|
|
1335
|
+
type CreateTempFile = (contents?: string | Buffer, at?: string) => Promise<TempFile>;
|
|
1336
|
+
type MultiSplit = (str: string, delimiters: string[]) => string[];
|
|
1337
|
+
|
|
1338
|
+
type GulpNetFXTestAssemblyFilter = (configuration: string) => ((f: BufferFile) => boolean);
|
|
1339
|
+
type Pad = (str: string, len: number, isRight?: boolean, padString?: string) => string;
|
|
1340
|
+
type PadLeft = (str: string, len: number, padString?: string) => string;
|
|
1341
|
+
type PadRight = (str: string, len: number, padString?: string) => string;
|
|
1342
|
+
type PathUnquote = (str: string) => string;
|
|
1343
|
+
type ResolveTestMasks = (isDotnetCore?: boolean) => string[];
|
|
1344
|
+
|
|
1345
|
+
interface AskOptions {
|
|
1346
|
+
inputStream?: NodeJS.ReadStream,
|
|
1347
|
+
outputStream?: NodeJS.WriteStream,
|
|
1348
|
+
validator?: (s: string) => boolean;
|
|
1349
|
+
}
|
|
1350
|
+
type AskFunction = (message: string, options?: AskOptions) => Promise<string>;
|
|
1351
|
+
type Ask = {
|
|
1352
|
+
ask: AskFunction
|
|
1353
|
+
};
|
|
1354
|
+
|
|
1355
|
+
interface GulpUtil {
|
|
1356
|
+
PluginError: PluginError;
|
|
1357
|
+
log: Logger;
|
|
1358
|
+
colors: StyleFunction;
|
|
1359
|
+
}
|
|
1360
|
+
|
|
1361
|
+
interface PluginError
|
|
1362
|
+
extends Error {
|
|
1363
|
+
new(pluginName: string, err: string | Error): void;
|
|
1364
|
+
|
|
1365
|
+
verbosity?: string;
|
|
1366
|
+
}
|
|
1367
|
+
|
|
1368
|
+
type DotNetVerbosity = "q" | "quiet" | "m" | "minimal" | "n" | "normal" | "d" | "detailed" | "diag" | "diagnostic";
|
|
1369
|
+
|
|
1370
|
+
type DotNetTestLoggers = Dictionary<Dictionary<string>>;
|
|
1371
|
+
|
|
1372
|
+
interface DotNetBaseOptions
|
|
1373
|
+
extends IoConsumers {
|
|
1374
|
+
msbuildProperties?: Dictionary<string>;
|
|
1375
|
+
additionalArguments?: string[];
|
|
1376
|
+
verbosity?: DotNetVerbosity | string;
|
|
1377
|
+
// when set, errors are returned instead of thrown
|
|
1378
|
+
suppressErrors?: boolean;
|
|
1379
|
+
suppressStdIoInErrors?: boolean;
|
|
1380
|
+
suppressOutput?: boolean;
|
|
1381
|
+
|
|
1382
|
+
env?: Dictionary<string>;
|
|
1383
|
+
}
|
|
1384
|
+
|
|
1385
|
+
type GulpXBuild = (opts?: any) => Transform;
|
|
1386
|
+
type GulpMsBuild = (opts?: any) => Transform;
|
|
1387
|
+
|
|
1388
|
+
interface GulpXBuildOptions {
|
|
1389
|
+
target: string | string[],
|
|
1390
|
+
noConsoleLogger?: boolean;
|
|
1391
|
+
configuration?: string;
|
|
1392
|
+
verbosity?: string;
|
|
1393
|
+
platform?: string;
|
|
1394
|
+
nologo?: boolean;
|
|
1395
|
+
}
|
|
1396
|
+
|
|
1397
|
+
interface GulpDotNetCoverExec {
|
|
1398
|
+
dotCover?: string;
|
|
1399
|
+
openCover?: string;
|
|
1400
|
+
nunit?: string;
|
|
1401
|
+
}
|
|
1402
|
+
|
|
1403
|
+
interface GulpDotNetCoverOptions {
|
|
1404
|
+
failOnError?: boolean;
|
|
1405
|
+
exec?: GulpDotNetCoverExec;
|
|
1406
|
+
baseFilters?: string;
|
|
1407
|
+
exclude?: string[];
|
|
1408
|
+
nunitOptions?: string;
|
|
1409
|
+
allowProjectAssemblyMismatch?: boolean;
|
|
1410
|
+
nunitOutput?: string;
|
|
1411
|
+
coverageReportBase?: string;
|
|
1412
|
+
coverageOutput?: string;
|
|
1413
|
+
agents?: number;
|
|
1414
|
+
testAssemblyFilter?: ((f: string) => boolean) | RegExp;
|
|
1415
|
+
coverageTool?: string;
|
|
1416
|
+
testAssemblies?: string[];
|
|
1417
|
+
debug?: boolean;
|
|
1418
|
+
|
|
1419
|
+
x86?: boolean;
|
|
1420
|
+
platform?: string;
|
|
1421
|
+
architecture?: string;
|
|
1422
|
+
}
|
|
1423
|
+
|
|
1424
|
+
type GulpDotNetCover = (opts?: GulpDotNetCoverOptions) => Transform;
|
|
1425
|
+
|
|
1426
|
+
interface DotNetCommonBuildOptions
|
|
1427
|
+
extends DotNetBaseOptions {
|
|
1428
|
+
target: string;
|
|
1429
|
+
configuration?: string | string[];
|
|
1430
|
+
framework?: string;
|
|
1431
|
+
runtime?: string;
|
|
1432
|
+
output?: string;
|
|
1433
|
+
arch?: string;
|
|
1434
|
+
os?: string;
|
|
1435
|
+
disableBuildServers?: boolean;
|
|
1436
|
+
}
|
|
1437
|
+
|
|
1438
|
+
interface DotNetPublishContainerOptions {
|
|
1439
|
+
publishContainer?: boolean;
|
|
1440
|
+
containerImageTag?: string;
|
|
1441
|
+
containerRegistry?: string;
|
|
1442
|
+
containerImageName?: string;
|
|
1443
|
+
}
|
|
1444
|
+
|
|
1445
|
+
interface DotNetPublishOptions
|
|
1446
|
+
extends DotNetCommonBuildOptions,
|
|
1447
|
+
DotNetPublishContainerOptions {
|
|
1448
|
+
useCurrentRuntime?: boolean;
|
|
1449
|
+
manifest?: string;
|
|
1450
|
+
noBuild?: boolean;
|
|
1451
|
+
noRestore?: boolean;
|
|
1452
|
+
selfContained?: boolean;
|
|
1453
|
+
versionSuffix?: string;
|
|
1454
|
+
}
|
|
1455
|
+
|
|
1456
|
+
interface DotNetPackOptions
|
|
1457
|
+
extends DotNetBaseOptions {
|
|
1458
|
+
target: string;
|
|
1459
|
+
output?: string;
|
|
1460
|
+
configuration?: string | string[];
|
|
1461
|
+
noBuild?: boolean;
|
|
1462
|
+
includeSymbols?: boolean;
|
|
1463
|
+
includeSource?: boolean;
|
|
1464
|
+
noRestore?: boolean;
|
|
1465
|
+
versionSuffix?: string;
|
|
1466
|
+
nuspec?: string;
|
|
1467
|
+
/**
|
|
1468
|
+
* @description when the specified Package.nuspec is not
|
|
1469
|
+
* found and this flag is set, then pack() will silently
|
|
1470
|
+
* drop the option; otherwise an error will be thrown.
|
|
1471
|
+
*/
|
|
1472
|
+
ignoreMissingNuspec?: boolean
|
|
1473
|
+
}
|
|
1474
|
+
|
|
1475
|
+
interface DotNetBuildOptions
|
|
1476
|
+
extends DotNetCommonBuildOptions {
|
|
1477
|
+
noIncremental?: boolean;
|
|
1478
|
+
disableBuildServers?: boolean;
|
|
1479
|
+
selfContained?: boolean;
|
|
1480
|
+
noDependencies?: boolean;
|
|
1481
|
+
noRestore?: boolean;
|
|
1482
|
+
versionSuffix?: string;
|
|
1483
|
+
}
|
|
1484
|
+
|
|
1485
|
+
interface DotNetCleanOptions
|
|
1486
|
+
extends DotNetBaseOptions {
|
|
1487
|
+
target: string;
|
|
1488
|
+
framework?: string;
|
|
1489
|
+
runtime?: string;
|
|
1490
|
+
configuration?: string | string[],
|
|
1491
|
+
output?: string;
|
|
1492
|
+
}
|
|
1493
|
+
|
|
1494
|
+
interface DotNetNugetPushOptions
|
|
1495
|
+
extends DotNetBaseOptions {
|
|
1496
|
+
target: string;
|
|
1497
|
+
apiKey?: string;
|
|
1498
|
+
symbolApiKey?: string;
|
|
1499
|
+
disableBuffering?: boolean;
|
|
1500
|
+
noSymbols?: boolean;
|
|
1501
|
+
skipDuplicate?: boolean;
|
|
1502
|
+
noServiceEndpoint?: boolean;
|
|
1503
|
+
forceEnglishOutput?: boolean;
|
|
1504
|
+
source?: string;
|
|
1505
|
+
symbolSource?: string;
|
|
1506
|
+
timeout?: number;
|
|
1507
|
+
}
|
|
1508
|
+
|
|
1509
|
+
interface IoConsumers {
|
|
1510
|
+
stdout?: IoConsumer;
|
|
1511
|
+
stderr?: IoConsumer;
|
|
1512
|
+
}
|
|
1513
|
+
|
|
1514
|
+
interface DotNetTestOptions
|
|
1515
|
+
extends DotNetCommonBuildOptions {
|
|
1516
|
+
noBuild?: boolean;
|
|
1517
|
+
noRestore?: boolean;
|
|
1518
|
+
loggers?: DotNetTestLoggers;
|
|
1519
|
+
settingsFile?: string;
|
|
1520
|
+
env?: Dictionary<string>;
|
|
1521
|
+
filter?: string;
|
|
1522
|
+
diagnostics?: string;
|
|
1523
|
+
label?: string;
|
|
1524
|
+
}
|
|
1525
|
+
|
|
1526
|
+
interface NugetSource {
|
|
1527
|
+
name: string;
|
|
1528
|
+
url: string;
|
|
1529
|
+
enabled: boolean;
|
|
1530
|
+
}
|
|
1531
|
+
|
|
1532
|
+
interface NugetAddSourceOptions {
|
|
1533
|
+
name: string;
|
|
1534
|
+
url: string;
|
|
1535
|
+
username?: string;
|
|
1536
|
+
password?: string;
|
|
1537
|
+
storePasswordInClearText?: boolean;
|
|
1538
|
+
validAuthenticationTypes?: string;
|
|
1539
|
+
configFile?: string;
|
|
1540
|
+
enabled?: boolean;
|
|
1541
|
+
}
|
|
1542
|
+
|
|
1543
|
+
interface DotNetPackageReference {
|
|
1544
|
+
id: string;
|
|
1545
|
+
version: string;
|
|
1546
|
+
}
|
|
1547
|
+
|
|
1548
|
+
interface ResolvedContainerOption {
|
|
1549
|
+
value: string;
|
|
1550
|
+
environmentVariable: string;
|
|
1551
|
+
option: keyof DotNetPublishContainerOptions;
|
|
1552
|
+
usingFallback: boolean;
|
|
1553
|
+
}
|
|
1554
|
+
|
|
1555
|
+
type DotNetTestFunction = (opts: DotNetTestOptions) => Promise<SystemResult | SystemError>;
|
|
1556
|
+
type DotNetBuildFunction = (opts: DotNetBuildOptions) => Promise<SystemResult | SystemError>;
|
|
1557
|
+
type DotNetPackFunction = (opts: DotNetPackOptions) => Promise<SystemResult | SystemError>;
|
|
1558
|
+
type DotNetNugetPushFunction = (opts: DotNetNugetPushOptions) => Promise<SystemResult | SystemError>;
|
|
1559
|
+
type DotNetCleanFunction = (opts: DotNetCleanOptions) => Promise<SystemResult | SystemError>;
|
|
1560
|
+
type DotNetPublishFunction = (opts: DotNetPublishOptions) => Promise<SystemResult | SystemError>;
|
|
1561
|
+
type DotNetListPackagesFunction = (projectPath: string) => Promise<DotNetPackageReference[]>;
|
|
1562
|
+
type DotNetPublishResolveContainerOptions = (opts: DotNetPublishOptions) => Promise<ResolvedContainerOption[]>;
|
|
1563
|
+
type DotNetNugetAddSourceFunction = (opts: NugetAddSourceOptions) => Promise<void>;
|
|
1564
|
+
type DotNetRemoveNugetSourceFunction = (source: string | NugetSource) => Promise<void>;
|
|
1565
|
+
type DotNetListNugetSourcesFunction = () => Promise<NugetSource[]>;
|
|
1566
|
+
type DotNetEnableNugetSourceFunction = (source: string | NugetSource) => Promise<void>;
|
|
1567
|
+
type DotNetDisableNugetSourceFunction = (source: string | NugetSource) => Promise<void>;
|
|
1568
|
+
type DotNetTryMatchNugetSourceFunction = (nameOrUrlOrHostOrSpec: string | Partial<NugetSource> | RegExp) => Promise<Optional<NugetSource>>;
|
|
1569
|
+
|
|
1570
|
+
interface DotNetCli {
|
|
1571
|
+
clean: DotNetCleanFunction;
|
|
1572
|
+
build: DotNetBuildFunction;
|
|
1573
|
+
test: DotNetTestFunction;
|
|
1574
|
+
pack: DotNetPackFunction;
|
|
1575
|
+
nugetPush: DotNetNugetPushFunction;
|
|
1576
|
+
publish: DotNetPublishFunction;
|
|
1577
|
+
listPackages: DotNetListPackagesFunction;
|
|
1578
|
+
resolveContainerOptions: DotNetPublishResolveContainerOptions;
|
|
1579
|
+
listNugetSources: DotNetListNugetSourcesFunction;
|
|
1580
|
+
addNugetSource: DotNetNugetAddSourceFunction;
|
|
1581
|
+
removeNugetSource: DotNetRemoveNugetSourceFunction;
|
|
1582
|
+
enableNugetSource: DotNetEnableNugetSourceFunction;
|
|
1583
|
+
disableNugetSource: DotNetDisableNugetSourceFunction;
|
|
1584
|
+
tryFindConfiguredNugetSource: DotNetTryMatchNugetSourceFunction;
|
|
1585
|
+
incrementTempDbPortHintIfFound: (env: Dictionary<string>) => void;
|
|
1586
|
+
}
|
|
1587
|
+
|
|
1588
|
+
type ReadCsProjNode = (csproj: string) => Promise<string>;
|
|
1589
|
+
type ReadCsProjProperty = (
|
|
1590
|
+
pathToCsProj: string,
|
|
1591
|
+
property: string,
|
|
1592
|
+
fallback?: string | (() => Promise<string>)
|
|
1593
|
+
) => Promise<Optional<string>>;
|
|
1594
|
+
|
|
1595
|
+
interface GulpIncrementNugetPackageVersion {
|
|
1596
|
+
incrementPackageVersion: TransformFunction<void>;
|
|
1597
|
+
}
|
|
1598
|
+
|
|
1599
|
+
interface CsProjUtils {
|
|
1600
|
+
readPackageVersion: ReadCsProjNode;
|
|
1601
|
+
readAssemblyVersion: ReadCsProjNode;
|
|
1602
|
+
readAssemblyName: ReadCsProjNode;
|
|
1603
|
+
readProjectVersion: ReadCsProjNode;
|
|
1604
|
+
readCsProjProperty: ReadCsProjProperty;
|
|
1605
|
+
}
|
|
1606
|
+
|
|
1607
|
+
type VoidTransformFunction = () => Transform;
|
|
1608
|
+
type TransformFunctionWithOptionalArgs<T> = (opts?: T) => Transform;
|
|
1609
|
+
type TransformFunction<T> = (opts: T) => Transform;
|
|
1610
|
+
type GulpDotNetTestFunction = TransformFunction<DotNetTestOptions>;
|
|
1611
|
+
type GulpDotNetBuildFunction = TransformFunction<DotNetBuildOptions>;
|
|
1612
|
+
type GulpDotNetPackFunction = TransformFunction<DotNetPackOptions>;
|
|
1613
|
+
type GulpDotNetNugetPushFunction = TransformFunction<DotNetNugetPushOptions>;
|
|
1614
|
+
type GulpDotNetCleanFunction = TransformFunction<DotNetCleanOptions>;
|
|
1615
|
+
type GulpDotNetPublishFunction = TransformFunction<DotNetPublishOptions>;
|
|
1616
|
+
|
|
1617
|
+
interface GulpDotNetCli {
|
|
1618
|
+
build: GulpDotNetBuildFunction;
|
|
1619
|
+
clean: GulpDotNetCleanFunction;
|
|
1620
|
+
test: GulpDotNetTestFunction;
|
|
1621
|
+
pack: GulpDotNetPackFunction;
|
|
1622
|
+
nugetPush: GulpDotNetNugetPushFunction;
|
|
1623
|
+
publish: GulpDotNetPublishFunction;
|
|
1624
|
+
}
|
|
1625
|
+
|
|
1626
|
+
interface FetchGithubRelease {
|
|
1627
|
+
fetchLatestRelease(options: Omit<FetchReleaseOptions, "getRelease">): Promise<string[]>
|
|
1628
|
+
|
|
1629
|
+
fetchReleaseByTag(options: Omit<FetchReleaseOptions, "getRelease"> & { tag: string; }): Promise<string[]>;
|
|
1630
|
+
|
|
1631
|
+
fetchLatestReleaseInfo(options: ListReleasesOptions): Promise<ReleaseInfo>;
|
|
1632
|
+
|
|
1633
|
+
listReleases(options: ListReleasesOptions): Promise<ReleaseInfo[]>;
|
|
1634
|
+
}
|
|
1635
|
+
|
|
1636
|
+
interface InstallLocalTools {
|
|
1637
|
+
install: (required: string | string[], overrideToolsFolder?: string) => Promise<void>;
|
|
1638
|
+
clean: (overrideToolsFolder?: string) => Promise<void>;
|
|
1639
|
+
}
|
|
1640
|
+
|
|
1641
|
+
interface RewriteFile {
|
|
1642
|
+
rewriteFile: (transform?: ((s: Buffer) => Buffer)) => Transform;
|
|
1643
|
+
}
|
|
1644
|
+
|
|
1645
|
+
interface GulpNugetPack {
|
|
1646
|
+
pack: TransformFunctionWithOptionalArgs<PackOptions>;
|
|
1647
|
+
}
|
|
1648
|
+
|
|
1649
|
+
type SpawnNuget = (args: string[], opts?: SystemOptions) => Promise<SystemResult>;
|
|
1650
|
+
type IsPromise = (obj: any) => obj is Promise<any>;
|
|
1651
|
+
|
|
1652
|
+
type GitTagAndPush = (tag?: string, dryRun?: boolean) => Promise<void>;
|
|
1653
|
+
|
|
1654
|
+
// scraped from https://spdx.org/licenses/
|
|
1655
|
+
// with the following fragment from FF dev console
|
|
1656
|
+
// copy(Array.from(document.querySelector("table").querySelectorAll("tr")).map(tr => {
|
|
1657
|
+
// return Array.from(tr.querySelectorAll("td"))[1]
|
|
1658
|
+
// }).filter(td => !!td).map(td => td.innerText))
|
|
1659
|
+
type LicenseIdentifier =
|
|
1660
|
+
"0BSD" |
|
|
1661
|
+
"AAL" |
|
|
1662
|
+
"Abstyles" |
|
|
1663
|
+
"Adobe-2006" |
|
|
1664
|
+
"Adobe-Glyph" |
|
|
1665
|
+
"ADSL" |
|
|
1666
|
+
"AFL-1.1" |
|
|
1667
|
+
"AFL-1.2" |
|
|
1668
|
+
"AFL-2.0" |
|
|
1669
|
+
"AFL-2.1" |
|
|
1670
|
+
"AFL-3.0" |
|
|
1671
|
+
"Afmparse" |
|
|
1672
|
+
"AGPL-1.0-only" |
|
|
1673
|
+
"AGPL-1.0-or-later" |
|
|
1674
|
+
"AGPL-3.0-only" |
|
|
1675
|
+
"AGPL-3.0-or-later" |
|
|
1676
|
+
"Aladdin" |
|
|
1677
|
+
"AMDPLPA" |
|
|
1678
|
+
"AML" |
|
|
1679
|
+
"AMPAS" |
|
|
1680
|
+
"ANTLR-PD" |
|
|
1681
|
+
"Apache-1.0" |
|
|
1682
|
+
"Apache-1.1" |
|
|
1683
|
+
"Apache-2.0" |
|
|
1684
|
+
"APAFML" |
|
|
1685
|
+
"APL-1.0" |
|
|
1686
|
+
"APSL-1.0" |
|
|
1687
|
+
"APSL-1.1" |
|
|
1688
|
+
"APSL-1.2" |
|
|
1689
|
+
"APSL-2.0" |
|
|
1690
|
+
"Artistic-1.0" |
|
|
1691
|
+
"Artistic-1.0-cl8" |
|
|
1692
|
+
"Artistic-1.0-Perl" |
|
|
1693
|
+
"Artistic-2.0" |
|
|
1694
|
+
"Bahyph" |
|
|
1695
|
+
"Barr" |
|
|
1696
|
+
"Beerware" |
|
|
1697
|
+
"BitTorrent-1.0" |
|
|
1698
|
+
"BitTorrent-1.1" |
|
|
1699
|
+
"blessing" |
|
|
1700
|
+
"BlueOak-1.0.0" |
|
|
1701
|
+
"Borceux" |
|
|
1702
|
+
"BSD-1-Clause" |
|
|
1703
|
+
"BSD-2-Clause" |
|
|
1704
|
+
"BSD-2-Clause-FreeBSD" |
|
|
1705
|
+
"BSD-2-Clause-NetBSD" |
|
|
1706
|
+
"BSD-2-Clause-Patent" |
|
|
1707
|
+
"BSD-3-Clause" |
|
|
1708
|
+
"BSD-3-Clause-Attribution" |
|
|
1709
|
+
"BSD-3-Clause-Clear" |
|
|
1710
|
+
"BSD-3-Clause-LBNL" |
|
|
1711
|
+
"BSD-3-Clause-No-Nuclear-License" |
|
|
1712
|
+
"BSD-3-Clause-No-Nuclear-License-2014" |
|
|
1713
|
+
"BSD-3-Clause-No-Nuclear-Warranty" |
|
|
1714
|
+
"BSD-3-Clause-Open-MPI" |
|
|
1715
|
+
"BSD-4-Clause" |
|
|
1716
|
+
"BSD-4-Clause-UC" |
|
|
1717
|
+
"BSD-Protection" |
|
|
1718
|
+
"BSD-Source-Code" |
|
|
1719
|
+
"BSL-1.0" |
|
|
1720
|
+
"bzip2-1.0.5" |
|
|
1721
|
+
"bzip2-1.0.6" |
|
|
1722
|
+
"Caldera" |
|
|
1723
|
+
"CATOSL-1.1" |
|
|
1724
|
+
"CC-BY-1.0" |
|
|
1725
|
+
"CC-BY-2.0" |
|
|
1726
|
+
"CC-BY-2.5" |
|
|
1727
|
+
"CC-BY-3.0" |
|
|
1728
|
+
"CC-BY-4.0" |
|
|
1729
|
+
"CC-BY-NC-1.0" |
|
|
1730
|
+
"CC-BY-NC-2.0" |
|
|
1731
|
+
"CC-BY-NC-2.5" |
|
|
1732
|
+
"CC-BY-NC-3.0" |
|
|
1733
|
+
"CC-BY-NC-4.0" |
|
|
1734
|
+
"CC-BY-NC-ND-1.0" |
|
|
1735
|
+
"CC-BY-NC-ND-2.0" |
|
|
1736
|
+
"CC-BY-NC-ND-2.5" |
|
|
1737
|
+
"CC-BY-NC-ND-3.0" |
|
|
1738
|
+
"CC-BY-NC-ND-4.0" |
|
|
1739
|
+
"CC-BY-NC-SA-1.0" |
|
|
1740
|
+
"CC-BY-NC-SA-2.0" |
|
|
1741
|
+
"CC-BY-NC-SA-2.5" |
|
|
1742
|
+
"CC-BY-NC-SA-3.0" |
|
|
1743
|
+
"CC-BY-NC-SA-4.0" |
|
|
1744
|
+
"CC-BY-ND-1.0" |
|
|
1745
|
+
"CC-BY-ND-2.0" |
|
|
1746
|
+
"CC-BY-ND-2.5" |
|
|
1747
|
+
"CC-BY-ND-3.0" |
|
|
1748
|
+
"CC-BY-ND-4.0" |
|
|
1749
|
+
"CC-BY-SA-1.0" |
|
|
1750
|
+
"CC-BY-SA-2.0" |
|
|
1751
|
+
"CC-BY-SA-2.5" |
|
|
1752
|
+
"CC-BY-SA-3.0" |
|
|
1753
|
+
"CC-BY-SA-4.0" |
|
|
1754
|
+
"CC-PDDC" |
|
|
1755
|
+
"CC0-1.0" |
|
|
1756
|
+
"CDDL-1.0" |
|
|
1757
|
+
"CDDL-1.1" |
|
|
1758
|
+
"CDLA-Permissive-1.0" |
|
|
1759
|
+
"CDLA-Sharing-1.0" |
|
|
1760
|
+
"CECILL-1.0" |
|
|
1761
|
+
"CECILL-1.1" |
|
|
1762
|
+
"CECILL-2.0" |
|
|
1763
|
+
"CECILL-2.1" |
|
|
1764
|
+
"CECILL-B" |
|
|
1765
|
+
"CECILL-C" |
|
|
1766
|
+
"CERN-OHL-1.1" |
|
|
1767
|
+
"CERN-OHL-1.2" |
|
|
1768
|
+
"ClArtistic" |
|
|
1769
|
+
"CNRI-Jython" |
|
|
1770
|
+
"CNRI-Python" |
|
|
1771
|
+
"CNRI-Python-GPL-Compatible" |
|
|
1772
|
+
"Condor-1.1" |
|
|
1773
|
+
"copyleft-next-0.3.0" |
|
|
1774
|
+
"copyleft-next-0.3.1" |
|
|
1775
|
+
"CPAL-1.0" |
|
|
1776
|
+
"CPL-1.0" |
|
|
1777
|
+
"CPOL-1.02" |
|
|
1778
|
+
"Crossword" |
|
|
1779
|
+
"CrystalStacker" |
|
|
1780
|
+
"CUA-OPL-1.0" |
|
|
1781
|
+
"Cube" |
|
|
1782
|
+
"curl" |
|
|
1783
|
+
"D-FSL-1.0" |
|
|
1784
|
+
"diffmark" |
|
|
1785
|
+
"DOC" |
|
|
1786
|
+
"Dotseqn" |
|
|
1787
|
+
"DSDP" |
|
|
1788
|
+
"dvipdfm" |
|
|
1789
|
+
"ECL-1.0" |
|
|
1790
|
+
"ECL-2.0" |
|
|
1791
|
+
"EFL-1.0" |
|
|
1792
|
+
"EFL-2.0" |
|
|
1793
|
+
"eGenix" |
|
|
1794
|
+
"Entessa" |
|
|
1795
|
+
"EPL-1.0" |
|
|
1796
|
+
"EPL-2.0" |
|
|
1797
|
+
"ErlPL-1.1" |
|
|
1798
|
+
"etalab-2.0" |
|
|
1799
|
+
"EUDatagrid" |
|
|
1800
|
+
"EUPL-1.0" |
|
|
1801
|
+
"EUPL-1.1" |
|
|
1802
|
+
"EUPL-1.2" |
|
|
1803
|
+
"Eurosym" |
|
|
1804
|
+
"Fair" |
|
|
1805
|
+
"Frameworx-1.0" |
|
|
1806
|
+
"FreeImage" |
|
|
1807
|
+
"FSFAP" |
|
|
1808
|
+
"FSFUL" |
|
|
1809
|
+
"FSFULLR" |
|
|
1810
|
+
"FTL" |
|
|
1811
|
+
"GFDL-1.1-only" |
|
|
1812
|
+
"GFDL-1.1-or-later" |
|
|
1813
|
+
"GFDL-1.2-only" |
|
|
1814
|
+
"GFDL-1.2-or-later" |
|
|
1815
|
+
"GFDL-1.3-only" |
|
|
1816
|
+
"GFDL-1.3-or-later" |
|
|
1817
|
+
"Giftware" |
|
|
1818
|
+
"GL2PS" |
|
|
1819
|
+
"Glide" |
|
|
1820
|
+
"Glulxe" |
|
|
1821
|
+
"gnuplot" |
|
|
1822
|
+
"GPL-1.0-only" |
|
|
1823
|
+
"GPL-1.0-or-later" |
|
|
1824
|
+
"GPL-2.0-only" |
|
|
1825
|
+
"GPL-2.0-or-later" |
|
|
1826
|
+
"GPL-3.0-only" |
|
|
1827
|
+
"GPL-3.0-or-later" |
|
|
1828
|
+
"gSOAP-1.3b" |
|
|
1829
|
+
"HaskellReport" |
|
|
1830
|
+
"HPND" |
|
|
1831
|
+
"HPND-sell-variant" |
|
|
1832
|
+
"IBM-pibs" |
|
|
1833
|
+
"ICU" |
|
|
1834
|
+
"IJG" |
|
|
1835
|
+
"ImageMagick" |
|
|
1836
|
+
"iMatix" |
|
|
1837
|
+
"Imlib2" |
|
|
1838
|
+
"Info-ZIP" |
|
|
1839
|
+
"Intel" |
|
|
1840
|
+
"Intel-ACPI" |
|
|
1841
|
+
"Interbase-1.0" |
|
|
1842
|
+
"IPA" |
|
|
1843
|
+
"IPL-1.0" |
|
|
1844
|
+
"ISC" |
|
|
1845
|
+
"JasPer-2.0" |
|
|
1846
|
+
"JPNIC" |
|
|
1847
|
+
"JSON" |
|
|
1848
|
+
"LAL-1.2" |
|
|
1849
|
+
"LAL-1.3" |
|
|
1850
|
+
"Latex2e" |
|
|
1851
|
+
"Leptonica" |
|
|
1852
|
+
"LGPL-2.0-only" |
|
|
1853
|
+
"LGPL-2.0-or-later" |
|
|
1854
|
+
"LGPL-2.1-only" |
|
|
1855
|
+
"LGPL-2.1-or-later" |
|
|
1856
|
+
"LGPL-3.0-only" |
|
|
1857
|
+
"LGPL-3.0-or-later" |
|
|
1858
|
+
"LGPLLR" |
|
|
1859
|
+
"Libpng" |
|
|
1860
|
+
"libpng-2.0" |
|
|
1861
|
+
"libselinux-1.0" |
|
|
1862
|
+
"libtiff" |
|
|
1863
|
+
"LiLiQ-P-1.1" |
|
|
1864
|
+
"LiLiQ-R-1.1" |
|
|
1865
|
+
"LiLiQ-Rplus-1.1" |
|
|
1866
|
+
"Linux-OpenIB" |
|
|
1867
|
+
"LPL-1.0" |
|
|
1868
|
+
"LPL-1.02" |
|
|
1869
|
+
"LPPL-1.0" |
|
|
1870
|
+
"LPPL-1.1" |
|
|
1871
|
+
"LPPL-1.2" |
|
|
1872
|
+
"LPPL-1.3a" |
|
|
1873
|
+
"LPPL-1.3c" |
|
|
1874
|
+
"MakeIndex" |
|
|
1875
|
+
"MirOS" |
|
|
1876
|
+
"MIT" |
|
|
1877
|
+
"MIT-0" |
|
|
1878
|
+
"MIT-advertising" |
|
|
1879
|
+
"MIT-CMU" |
|
|
1880
|
+
"MIT-enna" |
|
|
1881
|
+
"MIT-feh" |
|
|
1882
|
+
"MITNFA" |
|
|
1883
|
+
"Motosoto" |
|
|
1884
|
+
"mpich2" |
|
|
1885
|
+
"MPL-1.0" |
|
|
1886
|
+
"MPL-1.1" |
|
|
1887
|
+
"MPL-2.0" |
|
|
1888
|
+
"MPL-2.0-no-copyleft-exception" |
|
|
1889
|
+
"MS-PL" |
|
|
1890
|
+
"MS-RL" |
|
|
1891
|
+
"MTLL" |
|
|
1892
|
+
"MulanPSL-1.0" |
|
|
1893
|
+
"Multics" |
|
|
1894
|
+
"Mup" |
|
|
1895
|
+
"NASA-1.3" |
|
|
1896
|
+
"Naumen" |
|
|
1897
|
+
"NBPL-1.0" |
|
|
1898
|
+
"NCSA" |
|
|
1899
|
+
"Net-SNMP" |
|
|
1900
|
+
"NetCDF" |
|
|
1901
|
+
"Newsletr" |
|
|
1902
|
+
"NGPL" |
|
|
1903
|
+
"NLOD-1.0" |
|
|
1904
|
+
"NLPL" |
|
|
1905
|
+
"Nokia" |
|
|
1906
|
+
"NOSL" |
|
|
1907
|
+
"Noweb" |
|
|
1908
|
+
"NPL-1.0" |
|
|
1909
|
+
"NPL-1.1" |
|
|
1910
|
+
"NPOSL-3.0" |
|
|
1911
|
+
"NRL" |
|
|
1912
|
+
"NTP" |
|
|
1913
|
+
"NTP-0" |
|
|
1914
|
+
"OCCT-PL" |
|
|
1915
|
+
"OCLC-2.0" |
|
|
1916
|
+
"ODbL-1.0" |
|
|
1917
|
+
"ODC-By-1.0" |
|
|
1918
|
+
"OFL-1.0" |
|
|
1919
|
+
"OFL-1.0-no-RFN" |
|
|
1920
|
+
"OFL-1.0-RFN" |
|
|
1921
|
+
"OFL-1.1" |
|
|
1922
|
+
"OFL-1.1-no-RFN" |
|
|
1923
|
+
"OFL-1.1-RFN" |
|
|
1924
|
+
"OGL-Canada-2.0" |
|
|
1925
|
+
"OGL-UK-1.0" |
|
|
1926
|
+
"OGL-UK-2.0" |
|
|
1927
|
+
"OGL-UK-3.0" |
|
|
1928
|
+
"OGTSL" |
|
|
1929
|
+
"OLDAP-1.1" |
|
|
1930
|
+
"OLDAP-1.2" |
|
|
1931
|
+
"OLDAP-1.3" |
|
|
1932
|
+
"OLDAP-1.4" |
|
|
1933
|
+
"OLDAP-2.0" |
|
|
1934
|
+
"OLDAP-2.0.1" |
|
|
1935
|
+
"OLDAP-2.1" |
|
|
1936
|
+
"OLDAP-2.2" |
|
|
1937
|
+
"OLDAP-2.2.1" |
|
|
1938
|
+
"OLDAP-2.2.2" |
|
|
1939
|
+
"OLDAP-2.3" |
|
|
1940
|
+
"OLDAP-2.4" |
|
|
1941
|
+
"OLDAP-2.5" |
|
|
1942
|
+
"OLDAP-2.6" |
|
|
1943
|
+
"OLDAP-2.7" |
|
|
1944
|
+
"OLDAP-2.8" |
|
|
1945
|
+
"OML" |
|
|
1946
|
+
"OpenSSL" |
|
|
1947
|
+
"OPL-1.0" |
|
|
1948
|
+
"OSET-PL-2.1" |
|
|
1949
|
+
"OSL-1.0" |
|
|
1950
|
+
"OSL-1.1" |
|
|
1951
|
+
"OSL-2.0" |
|
|
1952
|
+
"OSL-2.1" |
|
|
1953
|
+
"OSL-3.0" |
|
|
1954
|
+
"Parity-6.0.0" |
|
|
1955
|
+
"PDDL-1.0" |
|
|
1956
|
+
"PHP-3.0" |
|
|
1957
|
+
"PHP-3.01" |
|
|
1958
|
+
"Plexus" |
|
|
1959
|
+
"PostgreSQL" |
|
|
1960
|
+
"PSF-2.0" |
|
|
1961
|
+
"psfrag" |
|
|
1962
|
+
"psutils" |
|
|
1963
|
+
"Python-2.0" |
|
|
1964
|
+
"Qhull" |
|
|
1965
|
+
"QPL-1.0" |
|
|
1966
|
+
"Rdisc" |
|
|
1967
|
+
"RHeCos-1.1" |
|
|
1968
|
+
"RPL-1.1" |
|
|
1969
|
+
"RPL-1.5" |
|
|
1970
|
+
"RPSL-1.0" |
|
|
1971
|
+
"RSA-MD" |
|
|
1972
|
+
"RSCPL" |
|
|
1973
|
+
"Ruby" |
|
|
1974
|
+
"SAX-PD" |
|
|
1975
|
+
"Saxpath" |
|
|
1976
|
+
"SCEA" |
|
|
1977
|
+
"Sendmail" |
|
|
1978
|
+
"Sendmail-8.23" |
|
|
1979
|
+
"SGI-B-1.0" |
|
|
1980
|
+
"SGI-B-1.1" |
|
|
1981
|
+
"SGI-B-2.0" |
|
|
1982
|
+
"SHL-0.5" |
|
|
1983
|
+
"SHL-0.51" |
|
|
1984
|
+
"SimPL-2.0" |
|
|
1985
|
+
"SISSL" |
|
|
1986
|
+
"SISSL-1.2" |
|
|
1987
|
+
"Sleepycat" |
|
|
1988
|
+
"SMLNJ" |
|
|
1989
|
+
"SMPPL" |
|
|
1990
|
+
"SNIA" |
|
|
1991
|
+
"Spencer-86" |
|
|
1992
|
+
"Spencer-94" |
|
|
1993
|
+
"Spencer-99" |
|
|
1994
|
+
"SPL-1.0" |
|
|
1995
|
+
"SSH-OpenSSH" |
|
|
1996
|
+
"SSH-short" |
|
|
1997
|
+
"SSPL-1.0" |
|
|
1998
|
+
"SugarCRM-1.1.3" |
|
|
1999
|
+
"SWL" |
|
|
2000
|
+
"TAPR-OHL-1.0" |
|
|
2001
|
+
"TCL" |
|
|
2002
|
+
"TCP-wrappers" |
|
|
2003
|
+
"TMate" |
|
|
2004
|
+
"TORQUE-1.1" |
|
|
2005
|
+
"TOSL" |
|
|
2006
|
+
"TU-Berlin-1.0" |
|
|
2007
|
+
"TU-Berlin-2.0" |
|
|
2008
|
+
"UCL-1.0" |
|
|
2009
|
+
"Unicode-DFS-2015" |
|
|
2010
|
+
"Unicode-DFS-2016" |
|
|
2011
|
+
"Unicode-TOU" |
|
|
2012
|
+
"Unlicense" |
|
|
2013
|
+
"UPL-1.0" |
|
|
2014
|
+
"Vim" |
|
|
2015
|
+
"VOSTROM" |
|
|
2016
|
+
"VSL-1.0" |
|
|
2017
|
+
"W3C" |
|
|
2018
|
+
"W3C-19980720" |
|
|
2019
|
+
"W3C-20150513" |
|
|
2020
|
+
"Watcom-1.0" |
|
|
2021
|
+
"Wsuipa" |
|
|
2022
|
+
"WTFPL" |
|
|
2023
|
+
"X11" |
|
|
2024
|
+
"Xerox" |
|
|
2025
|
+
"XFree86-1.1" |
|
|
2026
|
+
"xinetd" |
|
|
2027
|
+
"Xnet" |
|
|
2028
|
+
"xpp" |
|
|
2029
|
+
"XSkat" |
|
|
2030
|
+
"YPL-1.0" |
|
|
2031
|
+
"YPL-1.1" |
|
|
2032
|
+
"Zed" |
|
|
2033
|
+
"Zend-2.0" |
|
|
2034
|
+
"Zimbra-1.3" |
|
|
2035
|
+
"Zimbra-1.4" |
|
|
2036
|
+
"Zlib" |
|
|
2037
|
+
"zlib-acknowledgement" |
|
|
2038
|
+
"ZPL-1.1" |
|
|
2039
|
+
"ZPL-2.0" |
|
|
2040
|
+
"ZPL-2.1"
|
|
2041
|
+
}
|
|
2042
|
+
|