Skip to content

Commit

Permalink
add windows build into jar packing (#57)
Browse files Browse the repository at this point in the history
  • Loading branch information
jimexist authored May 18, 2022
1 parent 12e3fbe commit 88d4bf5
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 14 deletions.
15 changes: 8 additions & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
rust:
strategy:
matrix:
os: ["ubuntu-latest", "macos-latest"]
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -56,7 +56,8 @@ jobs:
with:
name: datafusion-jni-${{ matrix.os }}
if-no-files-found: error
path: "datafusion-jni\\target\\release\\libdatafusion_jni.dll"
# note no "lib"
path: "datafusion-jni\\target\\release\\datafusion_jni.dll"
retention-days: 3

java:
Expand All @@ -81,11 +82,11 @@ jobs:
name: datafusion-jni-ubuntu-latest
path: datafusion-java/build/jni_libs/linux-x86_64

# - name: Download windows artifacts
# uses: actions/download-artifact@v3
# with:
# name: datafusion-jni-windows-latest
# path: datafusion-jni/target/release
- name: Download windows artifacts
uses: actions/download-artifact@v3
with:
name: datafusion-jni-windows-latest
path: datafusion-java/build/jni_libs/windows-x86_64

- name: Download macos artifacts
uses: actions/download-artifact@v3
Expand Down
15 changes: 8 additions & 7 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
rust:
strategy:
matrix:
os: ["ubuntu-latest", "macos-latest"]
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -56,7 +56,8 @@ jobs:
with:
name: datafusion-jni-${{ matrix.os }}
if-no-files-found: error
path: "datafusion-jni\\target\\release\\libdatafusion_jni.dll"
# note no "lib"
path: "datafusion-jni\\target\\release\\datafusion_jni.dll"
retention-days: 3

java:
Expand All @@ -81,11 +82,11 @@ jobs:
name: datafusion-jni-ubuntu-latest
path: datafusion-java/build/jni_libs/linux-x86_64

# - name: Download windows artifacts
# uses: actions/download-artifact@v3
# with:
# name: datafusion-jni-windows-latest
# path: datafusion-jni/target/release
- name: Download windows artifacts
uses: actions/download-artifact@v3
with:
name: datafusion-jni-windows-latest
path: datafusion-java/build/jni_libs/windows-x86_64

- name: Download macos artifacts
uses: actions/download-artifact@v3
Expand Down
17 changes: 17 additions & 0 deletions datafusion-java/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,10 @@ def classifierLinux = 'linux-x86_64'
def extensionLinux = 'so'
def jniLibLinux = layout.buildDirectory.file("jni_libs/$classifierLinux/libdatafusion_jni.$extensionLinux")

def classifierWindows = "windows-x86_64"
def extensionWindows = "dll"
def jniLibWindows = layout.buildDirectory.file("jni_libs/$classifierWindows/datafusion_jni.$extensionWindows")

tasks.register('jarWithOsxLib', Jar) {
from sourceSets.main.output
from jniLibOsx
Expand All @@ -91,12 +95,21 @@ tasks.register('jarWithLinuxLib', Jar) {
archiveClassifier.set(classifierLinux)
}

tasks.register('jarWithWindowsLib', Jar) {
from sourceSets.main.output
from jniLibWindows
rename "datafusion_jni.$extensionWindows", "jni_libs/datafusion_jni.$extensionWindows"
archiveClassifier.set(classifierWindows)
}

tasks.register('jarWithLib', Jar) {
from sourceSets.main.output
from jniLibOsx
rename "libdatafusion_jni.$extensionOsx", "jni_libs/libdatafusion_jni.$extensionOsx"
from jniLibLinux
rename "libdatafusion_jni.$extensionLinux", "jni_libs/libdatafusion_jni.$extensionLinux"
from jniLibWindows
rename "datafusion_jni.$extensionWindows", "jni_libs/datafusion_jni.$extensionWindows"
}

publishing {
Expand Down Expand Up @@ -155,6 +168,10 @@ if (jniLibOsx.get().asFile.exists()) {
artifacts.artifact jarWithOsxLib
}

if (jniLibWindows.get().asFile.exists()) {
artifacts.artifact jarWithWindowsLib
}


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

0 comments on commit 88d4bf5

Please sign in to comment.