1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2025-09-16 09:26:22 +02:00

extend documentation generation with custom defaults

This commit is contained in:
OliverNocon
2019-04-10 12:17:29 +02:00
parent e90ffa6bf5
commit 2fb260c32a
2 changed files with 17 additions and 7 deletions

2
.gitignore vendored
View File

@@ -1,5 +1,5 @@
.idea/
bin/
/bin
.settings
logs
reports

View File

@@ -91,7 +91,7 @@ class Helper {
prepareDefaultValuesStep
}
static getDummyScript(def prepareDefaultValuesStep, def stepName) {
static getDummyScript(def prepareDefaultValuesStep, def stepName, Map defaultValueParams) {
def _prepareDefaultValuesStep = prepareDefaultValuesStep
def _stepName = stepName
@@ -101,7 +101,7 @@ class Helper {
def STEP_NAME = _stepName
def prepareDefaultValues() {
_prepareDefaultValuesStep()
_prepareDefaultValuesStep(defaultValueParams)
}
@@ -375,6 +375,7 @@ roots = [
stepsDir = null
stepsDocuDir = null
String customDefaults = null
steps = []
@@ -391,9 +392,14 @@ if(args.length >= 2)
stepsDocuDir = stepsDocuDir ?: new File(Helper.projectRoot, "documentation/docs/steps")
def argsDrop = 2
if(args.length >= 3 && args[2].contains('.yml')) {
customDefaults = args[2]
argsDrop ++
}
if(args.length >= 3)
steps = (args as List).drop(2) // the first two entries are stepsDir and docuDir
steps = (args as List).drop(argsDrop) // the first two entries are stepsDir and docuDir
// the other parts are considered as step names
@@ -433,7 +439,7 @@ boolean exceptionCaught = false
def stepDescriptors = [:]
for (step in steps) {
try {
stepDescriptors."${step}" = handleStep(step, prepareDefaultValuesStep, gse)
stepDescriptors."${step}" = handleStep(step, prepareDefaultValuesStep, gse, customDefaults)
} catch(Exception e) {
exceptionCaught = true
System.err << "${e.getClass().getName()} caught while handling step '${step}': ${e.getMessage()}.\n"
@@ -511,7 +517,7 @@ def fetchMandatoryFrom(def step, def parameterName, def steps) {
}
}
def handleStep(stepName, prepareDefaultValuesStep, gse) {
def handleStep(stepName, prepareDefaultValuesStep, gse, customDefaults) {
File theStep = new File(stepsDir, "${stepName}.groovy")
File theStepDocu = new File(stepsDocuDir, "${stepName}.md")
@@ -523,9 +529,13 @@ def handleStep(stepName, prepareDefaultValuesStep, gse) {
System.err << "[INFO] Handling step '${stepName}'.\n"
Map defaultValueParams = [:]
if (customDefaults)
defaultValueParams.customDefaults = customDefaults
def defaultConfig = Helper.getConfigHelper(getClass().getClassLoader(),
roots,
Helper.getDummyScript(prepareDefaultValuesStep, stepName)).use()
Helper.getDummyScript(prepareDefaultValuesStep, stepName, defaultValueParams)).use()
def params = [] as Set