Merge "Update Centos 7 docker images"
[releng/builder.git] / jjb / opflex / opflex-macros.yaml
1 ---
2 # OpFlex macros
3
4 - builder:
5     name: opflex-build
6     builders:
7       - maven-target:
8           maven-version: 'mvn33'
9           pom: genie/pom.xml
10           goals: compile
11       - shell: !include-raw-escape: scripts/opflex-build.sh
12
13 - builder:
14     name: 'opflex-build-libuv'
15     builders:
16       - shell: !include-raw-escape: scripts/libuv-build.sh
17
18 - builder:
19     name: 'opflex-build-openvswitch'
20     builders:
21       - shell: !include-raw: scripts/openvswitch-build.sh
22
23 - builder:
24     name: 'opflex-build-rapidjson'
25     builders:
26       - shell: !include-raw-escape: scripts/rapidjson-build.sh
27
28 - builder:
29     name: opflex-deploy-maven-file
30     # Todo: Remove this builder when the generic version of the builder is
31     # available in global-jjb. Change no: 5753
32     # Deploy artifacts to a repository.
33     #
34     # The builder requires passing the following parameters
35     # REPO_ID:           Repository ID
36     # GROUP_ID:          Group ID of the repository
37     # UPLOAD_FILES_PATH: Path to directory containing one or more files
38     builders:
39       - lf-maven-install:
40           mvn-version: '{mvn-version}'
41       - lf-provide-maven-settings:
42           global-settings-file: '{global-settings-file}'
43           settings-file: '{settings-file}'
44       - inject:
45           properties-content: |
46               MAVEN_REPO_URL=file://$WORKSPACE/m2repo
47               REPO_ID={repo-id}
48               GROUP_ID={group-id}
49               UPLOAD_FILES_PATH={upload-files-dir}
50       - shell: !include-raw-escape:
51           - ../global-jjb/shell/lftools-install.sh
52           - ../global-jjb/shell/common-variables.sh
53           - scripts/deploy-opflex.sh
54
55 - builder:
56     name: opflex-maven-stage
57     # Todo: Migrate to the generic version of the builders available in
58     # global-jjb. Change no: 5753
59     # Stage files to Nexus repository.
60     #
61     # The builder requires passing the following parameters
62     # REPO_ID             : Repository ID
63     # GROUP_ID            : Group ID of the repository
64     # UPLOAD_FILES_PATH   : Path to directory containing one or more files
65     # STAGING_PROFILE_ID  : Staging profile id created on Nexus
66     builders:
67       - lf-provide-maven-settings:
68           global-settings-file: '{global-settings-file}'
69           settings-file: '{settings-file}'
70       - lf-infra-create-netrc:
71           server-id: opendaylight-staging
72       - inject:
73           properties-content: |
74               STAGING_PROFILE_ID={staging-profile-id}
75       - shell: !include-raw-escape:
76           - ../global-jjb/shell/lftools-install.sh
77           - ../global-jjb/shell/maven-stage.sh
78
79 - scm:
80     name: 'git-opflex-libuv'
81     scm:
82       - git:
83           url: https://github.com/libuv/libuv.git
84           branches:
85             - 'refs/tags/v$LIBUV_VERSION'
86           wipe-workspace: true
87
88 - scm:
89     name: 'git-opflex-ovs-v2'
90     scm:
91       - git:
92           url: https://github.com/openvswitch/ovs.git
93           branches:
94             - 'refs/tags/v$OPENVSWITCH_VERSION'
95           wipe-workspace: true
96
97 - scm:
98     name: 'git-opflex-rapidjson'
99     scm:
100       - git:
101           url: https://github.com/miloyip/rapidjson.git
102           branches:
103             - 'refs/tags/v$RAPIDJSON_VERSION'
104           wipe-workspace: true