Fixes #33 Add artifactErrorsFailBuild flag
This commit is contained in:
@@ -4,7 +4,7 @@ import {Artifact} from "./Artifact";
|
||||
import untildify from "untildify";
|
||||
|
||||
export interface ArtifactGlobber {
|
||||
globArtifactString(artifact: string, contentType: string): Artifact[]
|
||||
globArtifactString(artifact: string, contentType: string, throwsWhenNoFiles: boolean): Artifact[]
|
||||
}
|
||||
|
||||
export class FileArtifactGlobber implements ArtifactGlobber {
|
||||
@@ -14,18 +14,22 @@ export class FileArtifactGlobber implements ArtifactGlobber {
|
||||
this.globber = globber
|
||||
}
|
||||
|
||||
globArtifactString(artifact: string, contentType: string): Artifact[] {
|
||||
globArtifactString(artifact: string, contentType: string, throwsWhenNoFiles: boolean): Artifact[] {
|
||||
return artifact.split(',')
|
||||
.map(path => FileArtifactGlobber.expandPath(path))
|
||||
.map(pattern => this.globPattern(pattern))
|
||||
.map(pattern => this.globPattern(pattern, throwsWhenNoFiles))
|
||||
.reduce((accumulated, current) => accumulated.concat(current))
|
||||
.map(path => new Artifact(path, contentType))
|
||||
}
|
||||
|
||||
private globPattern(pattern: string): string[] {
|
||||
private globPattern(pattern: string, throwsWhenNoFiles: boolean): string[] {
|
||||
const paths = this.globber.glob(pattern)
|
||||
if (paths.length == 0) {
|
||||
FileArtifactGlobber.reportGlobWarning(pattern)
|
||||
if (throwsWhenNoFiles) {
|
||||
FileArtifactGlobber.throwGlobError(pattern)
|
||||
} else {
|
||||
FileArtifactGlobber.reportGlobWarning(pattern)
|
||||
}
|
||||
}
|
||||
return paths
|
||||
}
|
||||
@@ -34,6 +38,10 @@ export class FileArtifactGlobber implements ArtifactGlobber {
|
||||
core.warning(`Artifact pattern :${pattern} did not match any files`)
|
||||
}
|
||||
|
||||
private static throwGlobError(pattern: string) {
|
||||
throw Error(`Artifact pattern :${pattern} did not match any files`)
|
||||
}
|
||||
|
||||
private static expandPath(path: string): string {
|
||||
return untildify(path)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user