diff options
| author | Matt Rendina <mrendina@stsci.edu> | 2017-11-27 21:50:13 -0500 |
|---|---|---|
| committer | Matt Rendina <mrendina@stsci.edu> | 2017-11-27 21:50:13 -0500 |
| commit | 8e054991f04a35c29069b8d975c86321a9ac89e7 (patch) | |
| tree | 94c665c55496bb25d8b350c2786e9158abce00d4 /vars/utils.groovy | |
| parent | 6446b7a3d0b7f99cb5a525c0ea471a85935b2798 (diff) | |
| download | jscu_refactor-8e054991f04a35c29069b8d975c86321a9ac89e7.tar.gz | |
Test large class def
Diffstat (limited to 'vars/utils.groovy')
| -rw-r--r-- | vars/utils.groovy | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/vars/utils.groovy b/vars/utils.groovy index 6a5129e..2d4a3cb 100644 --- a/vars/utils.groovy +++ b/vars/utils.groovy @@ -32,6 +32,38 @@ class TClass implements Serializable { def var = "varvalue" } +//@AutoClone // annotation is not CPS-compatible? +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 + } + } +} + def concurrent2(configs) { def tasks = [:] println("Size of configs = ${configs.size()}") |
