1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2024-12-02 09:02:35 +02:00
sap-jenkins-library/vars/npmExecuteLint.groovy

38 lines
1.3 KiB
Groovy
Raw Normal View History

import com.sap.piper.BuildTool
import com.sap.piper.DownloadCacheUtils
import groovy.transform.Field
import hudson.AbortException
import static com.sap.piper.Prerequisites.checkScript
@Field String STEP_NAME = getClass().getName()
@Field String METADATA_FILE = 'metadata/npmExecuteLint.yaml'
//Metadata maintained in file project://resources/metadata/npmExecuteLint.yaml
void call(Map parameters = [:]) {
final script = checkScript(this, parameters) ?: this
parameters = DownloadCacheUtils.injectDownloadCacheInParameters(script, parameters, BuildTool.NPM)
try {
piperExecuteBin(parameters, STEP_NAME, METADATA_FILE, [])
} catch (Exception exception) {
error("Linter execution failed. Please examine the reports which are also available in the Jenkins user interface.")
}
finally {
visualizeLintingResults(script)
}
}
private visualizeLintingResults(Script script) {
try {
recordIssues skipBlames: true,
enabledForFailure: true,
aggregatingResults: false,
tool: script.checkStyle(id: "lint", name: "Lint", pattern: "*lint.xml")
} catch (e) {
echo "recordIssues has failed. Possibly due to an outdated version of the warnings-ng plugin."
e.printStackTrace()
}
}