aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bconfig.groovy31
-rw-r--r--vars/utils.groovy1
2 files changed, 32 insertions, 0 deletions
diff --git a/src/bconfig.groovy b/src/bconfig.groovy
index be55413..3d070f6 100644
--- a/src/bconfig.groovy
+++ b/src/bconfig.groovy
@@ -1,6 +1,37 @@
// src/bconfig.groovy
package bconfig;
+class BuildConfig implements Serializable {
+ def nodetype = ""
+ def build_mode = ""
+ def build_args = []
+ def env_vars = []
+ def configure_cmds = []
+ def build_cmds = []
+ def run_tests = true
+ //Boolean boolValue
+
+ // Constructors
+ BuildConfig() {
+ nodetype = ""
+ }
+ BuildConfig(nodetype) {
+ this.nodetype = nodetype
+ }
+ // createNewInstance method requires Jenkins script approval for the
+ // following signatures:
+ // method groovy.lang.MetaBeanProperty getSetter
+ // method groovy.lang.MetaObjectProtocol getProperties
+ // method groovy.lang.MetaProperty getProperty java.lang.Object
+ // method groovy.lang.MetaProperty setProperty java.lang.Object java.lang.Object
+ def BuildConfig copy(){
+ BuildConfig.metaClass.getProperties().findAll(){it.getSetter()!=null}.inject(new BuildConfig()){buildconfig,metaProp->
+ metaProp.setProperty(buildconfig,metaProp.getProperty(this))
+ buildconfig
+ }
+ }
+}
+
class bconfig implements Serializable {
def name = "My name"
}
diff --git a/vars/utils.groovy b/vars/utils.groovy
index 55ae33b..e0b8d4b 100644
--- a/vars/utils.groovy
+++ b/vars/utils.groovy
@@ -46,6 +46,7 @@ def concurrent2(configs) {
println("concurrent2: build.build_args= ${config.build_args}")
println("concurrent2: build.env_vars= ${config.env_vars}")
def run_tests = config.run_tests
+ def tmp_config = new bconfig()
tasks["${config.nodetype}/${config.build_mode}"] = {
node(config.nodetype) {
//withEnv(config.env_vars) {