34 lines
912 B
Groovy
34 lines
912 B
Groovy
package com.freeleaps.devops.lint
|
|
|
|
interface Linter {
|
|
def lint()
|
|
}
|
|
|
|
abstract class LinterBase implements Linter {
|
|
def steps
|
|
def workspace
|
|
def configs
|
|
def linterType
|
|
|
|
LinterBase(steps, workspace, configs, linterType) {
|
|
this.steps = steps
|
|
this.workspace = workspace
|
|
this.configs = configs
|
|
this.linterType = linterType
|
|
}
|
|
|
|
def lint() {
|
|
steps.log.info("${linterType.linter}", "Linting ${linterType.language.language} code")
|
|
steps.log.info("${linterType.linter}", "Workspace sets to: ${workspace}")
|
|
|
|
if (configs == null || configs.isEmpty()) {
|
|
steps.log.error("${linterType.linter}", "Not set configurations file, linter configuration file is required")
|
|
}
|
|
steps.log.info("${linterType.linter}", "Using ${configs} as configurations file")
|
|
|
|
doLint()
|
|
steps.log.info("${linterType.linter}", "Code linting has been completed")
|
|
}
|
|
|
|
abstract def doLint()
|
|
} |