Skip to content

Commit 88d4bf5

Browse files
authored
add windows build into jar packing (#57)
1 parent 12e3fbe commit 88d4bf5

File tree

3 files changed

+33
-14
lines changed

3 files changed

+33
-14
lines changed

.github/workflows/build.yml

+8-7
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
rust:
99
strategy:
1010
matrix:
11-
os: ["ubuntu-latest", "macos-latest"]
11+
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
1212
runs-on: ${{ matrix.os }}
1313
steps:
1414
- uses: actions/checkout@v2
@@ -56,7 +56,8 @@ jobs:
5656
with:
5757
name: datafusion-jni-${{ matrix.os }}
5858
if-no-files-found: error
59-
path: "datafusion-jni\\target\\release\\libdatafusion_jni.dll"
59+
# note no "lib"
60+
path: "datafusion-jni\\target\\release\\datafusion_jni.dll"
6061
retention-days: 3
6162

6263
java:
@@ -81,11 +82,11 @@ jobs:
8182
name: datafusion-jni-ubuntu-latest
8283
path: datafusion-java/build/jni_libs/linux-x86_64
8384

84-
# - name: Download windows artifacts
85-
# uses: actions/download-artifact@v3
86-
# with:
87-
# name: datafusion-jni-windows-latest
88-
# path: datafusion-jni/target/release
85+
- name: Download windows artifacts
86+
uses: actions/download-artifact@v3
87+
with:
88+
name: datafusion-jni-windows-latest
89+
path: datafusion-java/build/jni_libs/windows-x86_64
8990

9091
- name: Download macos artifacts
9192
uses: actions/download-artifact@v3

.github/workflows/release.yml

+8-7
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
rust:
99
strategy:
1010
matrix:
11-
os: ["ubuntu-latest", "macos-latest"]
11+
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
1212
runs-on: ${{ matrix.os }}
1313
steps:
1414
- uses: actions/checkout@v2
@@ -56,7 +56,8 @@ jobs:
5656
with:
5757
name: datafusion-jni-${{ matrix.os }}
5858
if-no-files-found: error
59-
path: "datafusion-jni\\target\\release\\libdatafusion_jni.dll"
59+
# note no "lib"
60+
path: "datafusion-jni\\target\\release\\datafusion_jni.dll"
6061
retention-days: 3
6162

6263
java:
@@ -81,11 +82,11 @@ jobs:
8182
name: datafusion-jni-ubuntu-latest
8283
path: datafusion-java/build/jni_libs/linux-x86_64
8384

84-
# - name: Download windows artifacts
85-
# uses: actions/download-artifact@v3
86-
# with:
87-
# name: datafusion-jni-windows-latest
88-
# path: datafusion-jni/target/release
85+
- name: Download windows artifacts
86+
uses: actions/download-artifact@v3
87+
with:
88+
name: datafusion-jni-windows-latest
89+
path: datafusion-java/build/jni_libs/windows-x86_64
8990

9091
- name: Download macos artifacts
9192
uses: actions/download-artifact@v3

datafusion-java/build.gradle

+17
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@ def classifierLinux = 'linux-x86_64'
7777
def extensionLinux = 'so'
7878
def jniLibLinux = layout.buildDirectory.file("jni_libs/$classifierLinux/libdatafusion_jni.$extensionLinux")
7979

80+
def classifierWindows = "windows-x86_64"
81+
def extensionWindows = "dll"
82+
def jniLibWindows = layout.buildDirectory.file("jni_libs/$classifierWindows/datafusion_jni.$extensionWindows")
83+
8084
tasks.register('jarWithOsxLib', Jar) {
8185
from sourceSets.main.output
8286
from jniLibOsx
@@ -91,12 +95,21 @@ tasks.register('jarWithLinuxLib', Jar) {
9195
archiveClassifier.set(classifierLinux)
9296
}
9397

98+
tasks.register('jarWithWindowsLib', Jar) {
99+
from sourceSets.main.output
100+
from jniLibWindows
101+
rename "datafusion_jni.$extensionWindows", "jni_libs/datafusion_jni.$extensionWindows"
102+
archiveClassifier.set(classifierWindows)
103+
}
104+
94105
tasks.register('jarWithLib', Jar) {
95106
from sourceSets.main.output
96107
from jniLibOsx
97108
rename "libdatafusion_jni.$extensionOsx", "jni_libs/libdatafusion_jni.$extensionOsx"
98109
from jniLibLinux
99110
rename "libdatafusion_jni.$extensionLinux", "jni_libs/libdatafusion_jni.$extensionLinux"
111+
from jniLibWindows
112+
rename "datafusion_jni.$extensionWindows", "jni_libs/datafusion_jni.$extensionWindows"
100113
}
101114

102115
publishing {
@@ -155,6 +168,10 @@ if (jniLibOsx.get().asFile.exists()) {
155168
artifacts.artifact jarWithOsxLib
156169
}
157170

171+
if (jniLibWindows.get().asFile.exists()) {
172+
artifacts.artifact jarWithWindowsLib
173+
}
174+
158175

159176
signing {
160177
required { !version.endsWith("SNAPSHOT") && gradle.taskGraph.hasTask("publish") }

0 commit comments

Comments
 (0)