From 0e2df958e14d7f266c50a991d780c83ddf5b6d6f Mon Sep 17 00:00:00 2001 From: Manuele Simi Date: Thu, 29 Aug 2019 16:03:45 -0400 Subject: [PATCH] First attempt to read the configuration from a JSON file. Add a sample JSON release for testing purposes. --- Jenkinsfile | 12 +++++++++--- releases/gcube-4.14.5.json | 21 +++++++++++++++++++++ 2 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 releases/gcube-4.14.5.json diff --git a/Jenkinsfile b/Jenkinsfile index b45efd4..48719ad 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,3 +1,10 @@ +import groovy.json.JsonSlurper + +def inputFile = new File(".\releases\gcube-${params.gCube_release_number}.json") +def gcubeJSON = new JsonSlurper().parseText(inputFile) +//check that the release number parameter is the one expected +assert gcubeJSON["gCube.version"] == params.gCube_release_number : "Release versions do not match!" + // set the build options according to the Type of build def (options,maven_local_repo_path,maven_settings_file) = ['','',''] @@ -40,9 +47,8 @@ echo "Use settings file at ${maven_settings_file}" echo "Use local repo at ${maven_local_repo_path}" echo "Release number: ${params.gCube_release_number}" -def apps = ['SmartGears':['maven-parent', 'gcube-bom', 'gxRest'], - 'Enabling':['job4', 'job5', 'job6'], - 'Data':['job7', 'job8', 'job9']] +def apps = gcubeJSON['Components'] + def dynamicStages = [:] //let's build the stages closures diff --git a/releases/gcube-4.14.5.json b/releases/gcube-4.14.5.json new file mode 100644 index 0000000..dcd4a30 --- /dev/null +++ b/releases/gcube-4.14.5.json @@ -0,0 +1,21 @@ +{ + "gCube.version": "4.14.5", + "Components": { + "SmartGear": [ + "maven-parent", + "gcube-bom", + "maven-smartgears-bom", + "authorization-client", + "gxRest" + ], + "Enabling": [ + "information-system-bom", + "information-system-model", + "resource-registry-api", + "resource-registry-client" + ], + "Data": [ + "" + ] + } +} \ No newline at end of file