Merge pull request #834 from iguessthislldo/igtd/android
[ACE_TAO.git] / azure-pipelines.yml
blobe67e1cdeda25cd3ba490c7f8462bbe6c962e7b71
1 variables:
2    ACE_ROOT: $(Build.SourcesDirectory)/ACE
3    TAO_ROOT: $(Build.SourcesDirectory)/TAO
4    MPC_ROOT: $(Build.SourcesDirectory)/ACE/MPC
5    system.prefergit: true
7 resources:
8 - repo: self
9   fetchDepth: 1
11 jobs:
12 - job: VisualStudio2017
13   timeoutInMinutes: 120
14   pool:
15     vmImage: vs2017-win2016
16   strategy:
17     matrix:
18       WChar:
19         BuildPlatform: x64
20         BuildConfiguration: Debug
21         vcpkgarch: x64-windows
22         vcpkglibdir: debug\lib
23         OptionalFeatures: uses_wchar=1 xerces3=0
24       Debug64:
25         BuildPlatform: x64
26         BuildConfiguration: Debug
27         vcpkgarch: x64-windows
28         vcpkglibdir: debug\lib
29       Release64:
30         BuildPlatform: x64
31         BuildConfiguration: Release
32         vcpkgarch: x64-windows
33         vcpkglibdir: lib
34       Debug32:
35         BuildPlatform: Win32
36         BuildConfiguration: Debug
37         vcpkgarch: x86-windows
38         vcpkglibdir: debug\lib
39       Release32:
40         BuildPlatform: Win32
41         BuildConfiguration: Release
42         vcpkgarch: x86-windows
43         vcpkglibdir: lib
44   variables:
45     XERCESCROOT: $(Build.SourcesDirectory)\vcpkg\packages\xerces-c_$(vcpkgarch)
46     SSL_ROOT: $(Build.SourcesDirectory)\vcpkg\packages\openssl-windows_$(vcpkgarch)
47     SSL_LIBDIR: $(SSL_ROOT)\$(vcpkglibdir)
48     XERCESC_LIBDIR: $(XERCESCROOT)\$(vcpkglibdir)
49   steps:
50   - powershell: |
51       git clone --depth 1 git://github.com/Microsoft/vcpkg.git $(Build.SourcesDirectory)\vcpkg
52       .\vcpkg\bootstrap-vcpkg.bat
53       .\vcpkg\vcpkg.exe install --recurse --triplet $(vcpkgarch) openssl xerces-c
54     displayName: vcpkg
55   - powershell: |
56       '#include "ace/config-win32.h"' > $(ACE_ROOT)/ace/config.h
57     displayName: Create config.h file
58   - powershell: |
59       echo "xerces3=1" | out-file -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
60       echo "ssl=1" | out-file -append -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
61       echo "versioned_namespace=1" | out-file -append -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
62     displayName: Create default.features file
63   - powershell: |
64       echo $(OptionalFeatures) | out-file -append -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
65     displayName: Add optional features ($(OptionalFeatures))
66     condition: and(succeeded(), ne(variables['OptionalFeatures'], ''))
67   - powershell: git clone --depth 1 git://github.com/DOCGroup/MPC.git $(MPC_ROOT)
68     displayName: git clone MPC
69   - powershell: perl $(ACE_ROOT)/bin/mwc.pl -type vs2017 $(TAO_ROOT)/TAO_ACE.mwc -workers 4
70     displayName: Run script mwc.pl on $(TAO_ROOT)/TAO_ACE.mwc
71   - powershell: perl $(ACE_ROOT)/bin/mwc.pl -type vs2017 $(ACE_ROOT)/tests/tests.mwc -workers 4
72     displayName: Run script mwc.pl on $(ACE_ROOT)/tests/tests.mwc
73   - task: VSBuild@1
74     displayName: Build solution TAO/TAO_ACE.sln
75     inputs:
76       solution: TAO/TAO_ACE.sln
77       platform: $(BuildPlatform)
78       configuration: $(BuildConfiguration)
79       maximumCpuCount: true
80   - task: VSBuild@1
81     displayName: Build solution ACE/tests/tests.sln
82     inputs:
83       solution: ACE/tests/tests.sln
84       platform: $(BuildPlatform)
85       configuration: $(BuildConfiguration)
86       maximumCpuCount: true
88 - job: VisualStudio2015
89   timeoutInMinutes: 90
90   pool:
91     vmImage: vs2015-win2012r2
92   strategy:
93     matrix:
94       Debug64:
95         BuildPlatform: x64
96         BuildConfiguration: Debug
97         vcpkgarch: x64-windows
98         vcpkglibdir: debug\lib
99       Release64:
100         BuildPlatform: x64
101         BuildConfiguration: Release
102         vcpkgarch: x64-windows
103         vcpkglibdir: lib
104   variables:
105     XERCESCROOT: $(Build.SourcesDirectory)\vcpkg\packages\xerces-c_$(vcpkgarch)
106     SSL_ROOT: $(Build.SourcesDirectory)\vcpkg\packages\openssl-windows_$(vcpkgarch)
107     SSL_LIBDIR: $(SSL_ROOT)\$(vcpkglibdir)
108     XERCESC_LIBDIR: $(XERCESCROOT)\$(vcpkglibdir)
109   steps:
110   - powershell: |
111       git clone --depth 1 git://github.com/Microsoft/vcpkg.git $(Build.SourcesDirectory)\vcpkg
112       .\vcpkg\bootstrap-vcpkg.bat
113       .\vcpkg\vcpkg.exe install --recurse --triplet $(vcpkgarch) openssl xerces-c
114     displayName: vcpkg
115   - powershell: |
116       '#include "ace/config-win32.h"' > $(ACE_ROOT)/ace/config.h
117     displayName: Create config.h file
118   - powershell: |
119       echo "xerces3=1" | out-file -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
120       echo "ssl=1" | out-file -append -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
121       echo "versioned_namespace=1" | out-file -append -encoding ASCII $(ACE_ROOT)\bin\MakeProjectCreator\config\default.features
122     displayName: Create default.features file
123   - powershell: git clone --depth 1 git://github.com/DOCGroup/MPC.git $(MPC_ROOT)
124     displayName: git clone MPC
125   - powershell: perl $(ACE_ROOT)/bin/mwc.pl -type vc14 $(TAO_ROOT)/TAO_ACE.mwc -workers 4
126     displayName: Run script mwc.pl on $(TAO_ROOT)/TAO_ACE.mwc
127   - powershell: perl $(ACE_ROOT)/bin/mwc.pl -type vc14 $(ACE_ROOT)/tests/tests.mwc -workers 4
128     displayName: Run script mwc.pl on $(ACE_ROOT)/tests/tests.mwc
129   - task: VSBuild@1
130     displayName: Build solution TAO\TAO_ACE.sln
131     inputs:
132       solution: TAO\TAO_ACE.sln
133       platform: $(BuildPlatform)
134       configuration: $(BuildConfiguration)
135       maximumCpuCount: true
136   - task: VSBuild@1
137     displayName: Build solution ACE\tests\tests.sln
138     inputs:
139       solution: ACE\tests\tests.sln
140       platform: $(BuildPlatform)
141       configuration: $(BuildConfiguration)
142       maximumCpuCount: true
144 - job: Linux
145   timeoutInMinutes: 90
146   pool:
147     vmImage: ubuntu-16.04
148   strategy:
149     matrix:
150       GCC4:
151         CC: gcc
152         CXX: g++
153         platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
154       GCC6:
155         CC: gcc-6
156         CXX: g++-6
157         PackageDeps: g++-6
158         platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
159       GCC7:
160         CC: gcc-7
161         CXX: g++-7
162         PackageDeps: g++-7
163         platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
164       GCC8:
165         CC: gcc-8
166         CXX: g++-8
167         PackageDeps: g++-8
168         platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
169       CLANG5:
170         CC: clang-5.0
171         CXX: clang++-5.0
172         PackageDeps: clang-5.0
173         Repo: llvm-toolchain-$(lsb_release -cs)-5.0
174         platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU
175       CLANG6:
176         CC: clang-6.0
177         CXX: clang++-6.0
178         PackageDeps: clang-6.0
179         Repo: llvm-toolchain-$(lsb_release -cs)-6.0
180         platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU
181       CLANG7:
182         CC: clang-7
183         CXX: clang++-7
184         PackageDeps: clang-7
185         Repo: llvm-toolchain-$(lsb_release -cs)-7
186         platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU
187   steps:
188   - script: |
189       wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
190       sudo apt-add-repository "deb http://apt.llvm.org/$(lsb_release -cs)/ $(Repo) main"
191     displayName: Add repository ($(Repo))
192     condition: and(succeeded(), ne(variables['Repo'], ''))
193   - script: |
194       sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
195       sudo apt-get --yes update
196       sudo apt-get --yes install libxerces-c-dev libssl-dev $(PackageDeps)
197     displayName: install system package dependencies
198   - powershell: |
199       '#include "ace/config-linux.h"' > $(ACE_ROOT)/ace/config.h
200     displayName: Create config.h file
201   - powershell: |
202       'xerces3=1' > $(ACE_ROOT)/bin/MakeProjectCreator/config/default.features
203       'ssl=1' >> $(ACE_ROOT)/bin/MakeProjectCreator/config/default.features
204       'versioned_namespace=1' >> $(ACE_ROOT)/bin/MakeProjectCreator/config/default.features
205     displayName: Create default.features file
206   - powershell: |
207       'xerces3=1' > $(ACE_ROOT)/include/makeinclude/platform_macros.GNU
208       'ssl=1' >> $(ACE_ROOT)/include/makeinclude/platform_macros.GNU
209       "$(platform_file)" >> $(ACE_ROOT)/include/makeinclude/platform_macros.GNU
210     displayName: Create platform_macros file
211   - powershell: git clone --depth 1 git://github.com/DOCGroup/MPC.git $(MPC_ROOT)
212     displayName: git clone MPC
213   - powershell: perl $(ACE_ROOT)/bin/mwc.pl -type gnuace $(TAO_ROOT)/TAO_ACE.mwc -workers 4
214     displayName: Run mwc.pl on $(TAO_ROOT)/TAO_ACE.mwc
215   - powershell: perl $(ACE_ROOT)/bin/mwc.pl -type gnuace $(ACE_ROOT)/tests/tests.mwc -workers 4
216     displayName: Run mwc.pl on $(ACE_ROOT)/tests/tests.mwc
217   - bash: make -j 6 -C TAO
218     displayName: Build TAO project
219   - bash: make -j 6 -C ACE/tests
220     displayName: Build tests project
222 - job: MacOSX
223   timeoutInMinutes: 90
224   pool:
225     vmImage: macOS-10.13
226   steps:
227   - powershell: |
228       '#include "ace/config-macosx.h"' > $(ACE_ROOT)/ace/config.h
229     displayName: Create config.h file
230   - powershell: |
231       'include $(ACE_ROOT)/include/makeinclude/platform_macosx.GNU' > $(ACE_ROOT)/include/makeinclude/platform_macros.GNU;
232     displayName: Create platform_macros file
233   - powershell: git clone --depth 1 git://github.com/DOCGroup/MPC.git $(MPC_ROOT)
234     displayName: git clone MPC
235   - powershell: perl $(ACE_ROOT)/bin/mwc.pl -type gnuace $(TAO_ROOT)/TAO_ACE.mwc -workers 4
236     displayName: Run mwc.pl on $(TAO_ROOT)/TAO_ACE.mwc
237   - powershell: perl $(ACE_ROOT)/bin/mwc.pl -type gnuace $(ACE_ROOT)/tests/tests.mwc -workers 4
238     displayName: Run mwc.pl on $(ACE_ROOT)/tests/tests.mwc
239   - bash: make -j 6 -C TAO
240     displayName: Build TAO project
241   - bash: make -j 6 -C ACE/tests
242     displayName: Build tests project