Use lf-infra-pre-build for lftools install
[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/common-variables.sh
52           - scripts/deploy-opflex.sh
53
54 - builder:
55     name: opflex-maven-stage
56     # Todo: Migrate to the generic version of the builders available in
57     # global-jjb. Change no: 5753
58     # Stage files to Nexus repository.
59     #
60     # The builder requires passing the following parameters
61     # REPO_ID             : Repository ID
62     # GROUP_ID            : Group ID of the repository
63     # UPLOAD_FILES_PATH   : Path to directory containing one or more files
64     # STAGING_PROFILE_ID  : Staging profile id created on Nexus
65     builders:
66       - lf-provide-maven-settings:
67           global-settings-file: '{global-settings-file}'
68           settings-file: '{settings-file}'
69       - lf-infra-create-netrc:
70           server-id: opendaylight-staging
71       - inject:
72           properties-content: |
73               STAGING_PROFILE_ID={staging-profile-id}
74       - shell: !include-raw-escape:
75           - ../global-jjb/shell/lftools-install.sh
76           - ../global-jjb/shell/maven-stage.sh
77
78 - scm:
79     name: 'git-opflex-libuv'
80     scm:
81       - git:
82           url: https://github.com/libuv/libuv.git
83           branches:
84             - 'refs/tags/v$LIBUV_VERSION'
85           wipe-workspace: true
86
87 - scm:
88     name: 'git-opflex-ovs-v2'
89     scm:
90       - git:
91           url: https://github.com/openvswitch/ovs.git
92           branches:
93             - 'refs/tags/v$OPENVSWITCH_VERSION'
94           wipe-workspace: true
95
96 - scm:
97     name: 'git-opflex-rapidjson'
98     scm:
99       - git:
100           url: https://github.com/miloyip/rapidjson.git
101           branches:
102             - 'refs/tags/v$RAPIDJSON_VERSION'
103           wipe-workspace: true