Skip to content
This repository was archived by the owner on Jun 19, 2024. It is now read-only.

Commit e903f99

Browse files
committed
Fix ci and add native gpu renderer
1 parent 95876a4 commit e903f99

6 files changed

Lines changed: 48 additions & 37 deletions

File tree

.github/workflows/ci.yml

Lines changed: 37 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -20,23 +20,22 @@ jobs:
2020
uses: actions/setup-java@v1
2121
with:
2222
java-version: 8
23-
- name: Make gradlew executable
24-
run: "chmod +x gradlew"
25-
- name: Build native with gradle
26-
run: "./gradlew -PCI=true ultralight-java-native:build"
27-
- name: Prepare artifacts
23+
- name: Build native with gradle (Windows)
24+
run: "./gradlew -PCI=true -Pultralight-java.base.native-binaries-folder=native-binaries/ultralight ultralight-java-native:build"
25+
shell: bash
26+
- name: Build gpu driver native with gradle (Windows)
27+
run: "./gradlew -PCI=true -Pultralight-java.base.native-binaries-folder=native-binaries/ultralight -Pultralight-java.gpu.native-binaries-folder=native-binaries/ultralight-gpu ultralight-java-gpu-native:build"
2828
shell: bash
29-
run: |
30-
mkdir artifacts
31-
for file in $(cat ci/binaries); do # File generated by gradle
32-
echo "Found binary artifact ${file}"
33-
cp "${file}" artifacts
34-
done
3529
- name: Upload artifacts
3630
uses: actions/upload-artifact@v1
3731
with:
38-
name: native-binaries
39-
path: artifacts
32+
name: native-binaries-ultralight
33+
path: native-binaries/ultralight
34+
- name: Upload gpu artifacts
35+
uses: actions/upload-artifact@v1
36+
with:
37+
name: native-binaries-ultralight-gpu
38+
path: native-binaries/ultralight-gpu
4039

4140
build-binaries-windows:
4241
name: windows-latest build
@@ -52,24 +51,25 @@ jobs:
5251
with:
5352
java-version: 8
5453
- name: Build native with gradle (Windows)
55-
run: gradlew -PCI=true ultralight-java-native:build
54+
run: "./gradlew -PCI=true -Pultralight-java.base.native-binaries-folder=native-binaries/ultralight ultralight-java-native:build"
55+
shell: cmd
56+
- name: Build gpu driver native with gradle (Windows)
57+
run: "./gradlew -PCI=true -Pultralight-java.base.native-binaries-folder=native-binaries/ultralight -Pultralight-java.gpu.native-binaries-folder=native-binaries/ultralight-gpu ultralight-java-gpu-native:build"
5658
shell: cmd
57-
- name: Prepare artifacts
58-
shell: bash
59-
run: |
60-
mkdir artifacts
61-
for file in $(cat ci/binaries); do # File generated by gradle
62-
echo "Found binary artifact ${file}"
63-
cp "${file}" artifacts
64-
done
6559
- name: Upload artifacts
6660
uses: actions/upload-artifact@v1
6761
with:
68-
name: native-binaries
69-
path: artifacts
62+
name: native-binaries-ultralight
63+
path: native-binaries/ultralight/Debug
64+
- name: Upload gpu artifacts
65+
uses: actions/upload-artifact@v1
66+
with:
67+
name: native-binaries-ultralight-gpu
68+
path: native-binaries/ultralight-gpu/Debug
7069

7170
build-jars:
7271
needs: [build-binaries-unix, build-binaries-windows]
72+
# needs: [build-binaries-windows]
7373
runs-on: ubuntu-latest # Doesn't matter, but linux tends to be the fastest
7474

7575
name: Build final jars
@@ -86,19 +86,26 @@ jobs:
8686
- name: Download existing artifacts
8787
uses: actions/download-artifact@v1
8888
with:
89-
name: native-binaries
90-
path: native-binaries
89+
name: native-binaries-ultralight
90+
path: native-binaries/ultralight
91+
- name: Download existing gpu artifacts
92+
uses: actions/download-artifact@v1
93+
with:
94+
name: native-binaries-ultralight-gpu
95+
path: native-binaries/ultralight-gpu
9196
- name: Make gradlew executable
9297
run: "chmod +x gradlew"
9398
- name: Build base with gradle
94-
run: "./gradlew -PCI=true -PnativeBinaryExternalDir=native-binaries ultralight-java-base:build"
99+
run: "./gradlew -PCI=true -Pultralight-java.base.native-binaries-folder=native-binaries/ultralight ultralight-java-base:build"
100+
- name: Build gpu driver with gradle
101+
run: './gradlew -PCI=true -Pultralight-java.base.native-binaries-folder=native-binaries/ultralight -Pultralight-java.gpu.native-binaries-folder=native-binaries/ultralight-gpu ultralight-java-gpu:build'
95102
- name: Build lwjgl3-opengl example with gradle
96-
run: "./gradlew -PCI=true -PnativeBinaryExternalDir=native-binaries example:lwjgl3-opengl:build"
103+
run: "./gradlew -PCI=true -Pultralight-java.base.native-binaries-folder=native-binaries/ultralight -Pultralight-java.gpu.native-binaries-folder=native-binaries/ultralight-gpu example:lwjgl3-opengl:build"
97104
- name: Check license
98105
run: "./gradlew licenseCheck"
99106
- name: Deploy to OSSHR
100-
if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/develop'
101-
run: "./gradlew -PCI=true -PenableSigning -PnativeBinaryExternalDir=native-binaries publish"
107+
if: github.ref == 'refs/heads/master'
108+
run: "./gradlew -PCI=true -PenableSigning -Pultralight-java.base.native-binaries-folder=native-binaries/ultralight -Pultralight-java.gpu.native-binaries-folder=native-binaries/ultralight-gpu publish"
102109
env:
103110
SIGNING_KEY: ${{ secrets.signingKey }}
104111
SIGNING_PASSWORD: ${{ secrets.signingPassword }}

ultralight-java-base/build.gradle

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,10 @@ jar {
1414
}
1515

1616
processResources {
17-
dependsOn(':ultralight-java-native:build')
18-
from(file(System.getProperties().getOrDefault("ultralight-java.base.native-binaries-folder", project(":ultralight-java-native").buildDir.toPath().toString() + "/nativeBinaries").toString())) {
17+
if(project.getProperties().get("ultralight-java.base.native-binaries-folder") == null) {
18+
dependsOn(':ultralight-java-native:build')
19+
}
20+
from(rootProject.file(project.getProperties().getOrDefault("ultralight-java.base.native-binaries-folder", project(":ultralight-java-native").buildDir.toPath().toString() + "/nativeBinaries").toString())) {
1921
into "native-binaries"
2022
}
2123
}

ultralight-java-gpu-native/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ task build(type: CMakeBuildTask) {
3333
]
3434
}
3535

36-
def nativeBinariesDir = file(System.getProperties().getOrDefault("ultralight-java.gpu.native-binaries-folder", "$buildDir/nativeBinaries").toString())
36+
def nativeBinariesDir = rootProject.file(project.getProperties().getOrDefault("ultralight-java.gpu.native-binaries-folder", "$buildDir/nativeBinaries").toString())
3737
variables = [
3838
"CMAKE_BUILD_TYPE" : java.util.Optional.of("Release"),
3939
"CMAKE_RUNTIME_OUTPUT_DIRECTORY": java.util.Optional.of(nativeBinariesDir.absolutePath),

ultralight-java-gpu/build.gradle

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,10 @@ jar {
1414
}
1515

1616
processResources {
17-
dependsOn(':ultralight-java-gpu-native:build')
18-
from(file(System.getProperties().getOrDefault("ultralight-java.gpu.native-binaries-folder", project(":ultralight-java-gpu-native").buildDir.toPath().toString() + "/nativeBinaries").toString())) {
17+
if(project.getProperties().get("ultralight-java.gpu.native-binaries-folder") == null) {
18+
dependsOn(':ultralight-java-gpu-native:build')
19+
}
20+
from(rootProject.file(project.getProperties().getOrDefault("ultralight-java.gpu.native-binaries-folder", project(":ultralight-java-gpu-native").buildDir.toPath().toString() + "/nativeBinaries").toString())) {
1921
into "native-binaries"
2022
}
2123
}

ultralight-java-native/build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ task build(type: CMakeBuildTask) {
3434
}
3535

3636

37-
def nativeBinariesDir = file(System.getProperties().getOrDefault("ultralight-java.base.native-binaries-folder", "$buildDir/nativeBinaries").toString())
37+
def nativeBinariesDir = rootProject.file(project.getProperties().getOrDefault("ultralight-java.base.native-binaries-folder", "$buildDir/nativeBinaries").toString())
38+
println("Build native binaries to folder $nativeBinariesDir");
3839
variables = [
3940
"CMAKE_BUILD_TYPE" : java.util.Optional.of("Release"),
4041
"CMAKE_RUNTIME_OUTPUT_DIRECTORY": java.util.Optional.of(nativeBinariesDir.absolutePath),

ultralight-java-native/src/java_bridges/ultralight_platform_jni.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,6 @@ namespace ultralight_java {
203203
}
204204

205205
void UltralightPlatformJNI::set_gpu_driver_pointer(JNIEnv *env, jobject java_instance, jlong handle) {
206-
printf("Set Gpu Driver Pointer %d\n\r", handle);
207206
auto *platform = reinterpret_cast<ultralight::Platform *>(
208207
env->CallLongMethod(java_instance, runtime.object_with_handle.get_handle_method));
209208

0 commit comments

Comments
 (0)