blob: afe3f763ea6c36d1d589cfd134f76cfaa06de8fd (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
// src/BuildConfig.groovy
package BuildConfig;
//@AutoClone // annotation is not CPS-compatible?
class BuildConfig implements Serializable {
def nodetype = ""
def build_mode = ""
def env_vars = []
def build_cmds = []
def test_cmds = []
def run_tests = true
def xunit_map = [[$class: 'SkippedThreshold', failureThreshold: '0'],
[$class: 'FailedThreshold', unstableThreshold: '1'],
[$class: 'FailedThreshold', failureThreshold: '6']]
// Constructors
BuildConfig() {
nodetype = ""
}
BuildConfig(nodetype) {
this.nodetype = nodetype
}
// copy 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
}
}
}
|