@@ -13,65 +13,124 @@ trigger:
1313 - " *"
1414
1515stages :
16- # - stage: CI
17- # condition: not(startsWith(variables['Build.SourceBranch'], 'refs/tags'))
18- # jobs:
19- # - job: Windows
20- # strategy:
21- # matrix:
22- # VS2019:
23- # imageName: 'windows-2019'
24- # TILEDB_S3: ON
25- # pool:
26- # vmImage: $(imageName)
27- # steps:
28- # - task: Gradle@2
29- # inputs:
30- # workingDirectory: ''
31- # gradleWrapperFile: 'gradlew.bat'
32- # gradleOptions: '-Xmx3072m'
33- # javaHomeOption: 'JDKVersion'
34- # jdkVersionOption: 'default'
35- # tasks: 'checkFormat assemble test'
36- #
37- # - job: Linux_OSX
38- # strategy:
39- # matrix:
40- # ubuntu_18:
41- # imageName: 'ubuntu-18.04'
42- # macOS:
43- # imageName: 'macOS-10.14'
44- # pool:
45- # vmImage: $(imageName)
46- # steps:
47- # - template: ci/tiledb-java-linux_osx.yml
48- #
49- # - stage: BuildNativeLibs
50- # condition: or(eq(variables['Build.SourceBranch'], 'refs/heads/master'), startsWith(variables['Build.SourceBranch'], 'refs/tags'))
51- # jobs:
52- # - job: Linux_OSX
53- # strategy:
54- # matrix:
55- # ubuntu_18:
56- # imageName: 'ubuntu-18.04'
57- # macOS:
58- # imageName: 'macOS-10.14'
59- # pool:
60- # vmImage: $(imageName)
61- # steps:
62- # - template: ci/tiledb-java-linux_osx-release.yml
63- # - job: Windows
64- # strategy:
65- # matrix:
66- # windows_19:
67- # imageName: 'windows-2019'
68- # pool:
69- # vmImage: $(imageName)
70- # steps:
71- # - template: ci/tiledb-java-windows-release.yml
72-
73- - stage : Release
74- condition : or(eq(startsWith(variables['Build.SourceBranch'], 'refs/heads/master'), startsWith(variables['Build.SourceBranch'], 'refs/tags'))
16+ - stage : CI
17+ condition : not(startsWith(variables['Build.SourceBranch'], 'refs/tags'))
18+ jobs :
19+ - job : Windows
20+ strategy :
21+ matrix :
22+ VS2019 :
23+ imageName : ' windows-2019'
24+ TILEDB_S3 : ON
25+ pool :
26+ vmImage : $(imageName)
27+ steps :
28+ - task : Gradle@2
29+ inputs :
30+ workingDirectory : ' '
31+ gradleWrapperFile : ' gradlew.bat'
32+ gradleOptions : ' -Xmx3072m'
33+ javaHomeOption : ' JDKVersion'
34+ jdkVersionOption : ' default'
35+ tasks : ' checkFormat assemble test'
36+
37+ - job : Linux_OSX
38+ strategy :
39+ matrix :
40+ ubuntu_18 :
41+ imageName : ' ubuntu-18.04'
42+ macOS :
43+ imageName : ' macOS-10.14'
44+ pool :
45+ vmImage : $(imageName)
46+ steps :
47+ - template : ci/tiledb-java-linux_osx.yml
48+
49+ - stage : BuildNativeLibs
50+ condition : or(eq(variables['Build.SourceBranch'], 'refs/heads/master'), startsWith(variables['Build.SourceBranch'], 'refs/tags'))
51+ jobs :
52+ - job : Linux_OSX
53+ strategy :
54+ matrix :
55+ ubuntu_18 :
56+ imageName : ' ubuntu-18.04'
57+ macOS :
58+ imageName : ' macOS-10.14'
59+ pool :
60+ vmImage : $(imageName)
61+ steps :
62+ - template : ci/tiledb-java-linux_osx-release.yml
63+ - job : Windows
64+ strategy :
65+ matrix :
66+ windows_19 :
67+ imageName : ' windows-2019'
68+ pool :
69+ vmImage : $(imageName)
70+ steps :
71+ - template : ci/tiledb-java-windows-release.yml
72+
73+ - stage : GitHubRelease
74+ condition : startsWith(variables['Build.SourceBranch'], 'refs/tags')
75+ jobs :
76+ - job : All_OS
77+ strategy :
78+ matrix :
79+ ubuntu_18 :
80+ imageName : ' ubuntu-18.04'
81+ pool :
82+ vmImage : $(imageName)
83+
84+ steps :
85+ - download : current
86+ patterns : ' **/*.tar.gz'
87+
88+ - bash : |
89+ unset SYSTEM
90+ set +e
91+
92+ mv ../libraries/* .
93+
94+ mkdir -p ./build/install/lib
95+ mkdir ./build/install/lib64
96+ mkdir ./build/tiledb_jni/
97+ mkdir ./build/tiledb_jni/Release
98+ mkdir ./build/install/bin
99+
100+ for arch in $(ls | grep .tar.gz)
101+ do
102+ tar -xf $arch
103+ done
104+
105+ # OSX
106+ mv libtiledb.dylib ./build/install/lib
107+ mv libtiledbjni.dylib ./build/tiledb_jni
108+
109+ # Linux
110+ cp libtiledb.so ./build/install/lib
111+ mv libtiledb.so ./build/install/lib64
112+ mv libtiledbjni.so ./build/tiledb_jni
113+
114+ # Windows
115+ mv tbb.dll ./build/install/bin
116+ mv tiledb.dll ./build/install/bin
117+ mv tiledbjni.dll ./build/tiledb_jni/Release
118+
119+ ./gradlew assemble
120+
121+ cp build/libs/*.jar $BUILD_BINARIESDIRECTORY
122+
123+ - task : GithubRelease@0
124+ displayName : ' GitHub Release'
125+ inputs :
126+ gitHubConnection : github_tiledb
127+ repositoryName : TileDB-Inc/TileDB-Java
128+ tag : $(Build.SourceBranchName)
129+ action : " edit"
130+ assets : $(Build.BinariesDirectory)/jars/*.jar
131+
132+ - stage : FinalJar
133+ condition : or( eq(variables['Build.SourceBranch'], 'refs/heads/master'), startsWith(variables['Build.SourceBranch'], 'refs/tags'))
75134 jobs :
76135 - job : All_OS
77136 strategy :
0 commit comments