Skip to content

Commit 8b801f3

Browse files
Merge pull request #57 from CommonWealthRobotics/kh/java21
update CI to use java21
2 parents 422f2e8 + 287a5f3 commit 8b801f3

File tree

6 files changed

+69
-37
lines changed

6 files changed

+69
-37
lines changed

.github/workflows/release.yml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020

2121
- name: start xvfb
2222
run:
23-
Xvfb :99 &
23+
Xvfb :0 &
2424

2525
- name: initialize the X11 DISPLAY variable
2626
run:
@@ -30,16 +30,16 @@ jobs:
3030
run: pwd; ls -la
3131

3232
- name: Pull a JavaFX JDK
33-
run: wget http://static.azul.com/zulu/bin/zulu8.33.0.1-ca-fx-jdk8.0.192-linux_x64.tar.gz
33+
run: wget https://cdn.azul.com/zulu/bin/zulu21.46.19-ca-fx-jdk21.0.9-linux_x64.tar.gz
3434

3535
- name: After JDK download, list directory contnts
3636
run: pwd; ls -la
3737

3838
- name: Set Java
3939
uses: actions/setup-java@v1
4040
with:
41-
java-version: 1.8
42-
jdkFile: ./zulu8.33.0.1-ca-fx-jdk8.0.192-linux_x64.tar.gz
41+
java-version: 21
42+
jdkFile: zulu21.46.19-ca-fx-jdk21.0.9-linux_x64.tar.gz
4343
- name: Get the version
4444
id: get_version
4545
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
@@ -49,7 +49,12 @@ jobs:
4949
echo $'app.name=BowlerScriptKernel' > src/main/resources/com/neuronrobotics/bowlerkernel/build.properties
5050
echo "app.version=${{ steps.get_version.outputs.VERSION }}" >> src/main/resources/com/neuronrobotics/bowlerkernel/build.properties
5151
52-
52+
- name: initialize the X11 DISPLAY variable
53+
run:
54+
export DISPLAY=:0
55+
- name: Build/Test with Gradle
56+
run: xvfb-run -s '-screen 0 1024x768x24' ./gradlew test
57+
5358
- name: Build with Gradle
5459
run: ./gradlew shadowJar
5560

.github/workflows/verify.yml

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -34,30 +34,27 @@ jobs:
3434
run: |
3535
sudo apt update
3636
sudo apt install libgtk2.0-0
37-
- name: initialize the X11 DISPLAY variable
38-
run:
39-
export DISPLAY=:0
37+
4038
4139
- name: Pull a JavaFX JDK
42-
run: wget http://static.azul.com/zulu/bin/zulu8.78.0.19-ca-fx-jdk8.0.412-linux_x64.tar.gz
40+
run: wget https://cdn.azul.com/zulu/bin/zulu21.46.19-ca-fx-jdk21.0.9-linux_x64.tar.gz
4341

4442
- name: After JDK download, list directory contnts
4543
run: pwd; ls -la
4644

4745
- name: Set Java
4846
uses: actions/setup-java@v1
4947
with:
50-
java-version: 1.8
51-
jdkFile: ./zulu8.78.0.19-ca-fx-jdk8.0.412-linux_x64.tar.gz
48+
java-version: 21
49+
jdkFile: zulu21.46.19-ca-fx-jdk21.0.9-linux_x64.tar.gz
50+
- name: Shadow Jar
51+
run: ./gradlew shadowJar
52+
- name: initialize the X11 DISPLAY variable
53+
run:
54+
export DISPLAY=:0
55+
- name: Build/Test with Gradle
56+
run: xvfb-run -s '-screen 0 1024x768x24' ./gradlew test
5257

53-
54-
- name: Build with Gradle
55-
run: ./gradlew shadowJar
56-
57-
- name: Test with Gradle
58-
run: xvfb-run -s '-screen 0 1024x768x24' ./gradlew clean test
59-
60-
6158
- name: Test Bezier
6259
run: xvfb-run -s '-screen 0 1024x768x24' java -Dprism.order=sw -Dprism.verbose=true -jar build/libs/bowler-kernel.jar -g https://gist.github.com/4aeeaa49bd3a807eed8f8ff3dea84c48.git BezierEditorDemo.groovy
6360
- name: start xvfb

build.gradle

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,22 @@ artifacts {
333333
archives javadocJar, sourcesJar, jar
334334
}
335335

336+
//test {
337+
// testLogging.showExceptions = true
338+
// testLogging.showCauses = true
339+
//}
336340
test {
337-
testLogging.showExceptions = true
338-
testLogging.showCauses = true
339-
}
341+
testLogging {
342+
// Show which test is running
343+
events "passed", "skipped", "failed", "standardOut", "standardError"
344+
345+
// Show standard out and error
346+
showStandardStreams = true
347+
348+
// Optional: show more details
349+
exceptionFormat = "full"
350+
showExceptions = true
351+
showCauses = true
352+
showStackTraces = true
353+
}
354+
}

src/main/java/com/neuronrobotics/bowlerstudio/BowlerKernel.java

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,12 @@ private static void loadHistoryLocal() {
124124
}
125125

126126
private static void fail() {
127+
try {
128+
Thread.sleep(1000);
129+
} catch (InterruptedException e) {
130+
// TODO Auto-generated catch block
131+
e.printStackTrace();
132+
}
127133
com.neuronrobotics.sdk.common.Log.error(
128134
"Usage: \r\njava -jar BowlerScriptKernel.jar -s <file 1> .. <file n> # This will load one script after the next ");
129135
com.neuronrobotics.sdk.common.Log.error(
@@ -200,7 +206,7 @@ public static void runArgumentsAfterStartup(String[] args, long startTime)
200206
}
201207

202208
Object ret = null;
203-
File baseWorkspaceFile = null;
209+
File baseWorkspaceFile = new File(".").getAbsoluteFile();
204210
if (gitRun && gitRepo != null) {
205211
String url = null;
206212

@@ -227,7 +233,7 @@ public static void runArgumentsAfterStartup(String[] args, long startTime)
227233
url = gitRepo;
228234
baseWorkspaceFile = ScriptingEngine.getRepositoryCloneDirectory(url);
229235

230-
processReturnedObjectsStart(ret, baseWorkspaceFile);
236+
processReturnedObjectsStart(ret, baseWorkspaceFile,new File(".").getAbsoluteFile());
231237
} catch (Throwable e) {
232238
Log.error(e);
233239
fail();
@@ -280,7 +286,7 @@ public static void runArgumentsAfterStartup(String[] args, long startTime)
280286
}
281287
}
282288
if (startLoadingScripts) {
283-
processReturnedObjectsStart(ret, baseWorkspaceFile);
289+
processReturnedObjectsStart(ret, baseWorkspaceFile,new File(".").getAbsoluteFile());
284290
startLoadingScripts = false;
285291
finish(startTime);
286292
return;
@@ -301,7 +307,7 @@ public static void runArgumentsAfterStartup(String[] args, long startTime)
301307
}
302308
}
303309
if (startLoadingScripts) {
304-
processReturnedObjectsStart(ret, new File("."));
310+
processReturnedObjectsStart(ret, new File(".").getAbsoluteFile(),new File(".").getAbsoluteFile());
305311
finish(startTime);
306312
return;
307313
}
@@ -403,7 +409,7 @@ public void run() {
403409
if (ret != null) {
404410
com.neuronrobotics.sdk.common.Log.error(ret);
405411
}
406-
processReturnedObjectsStart(ret, null);
412+
processReturnedObjectsStart(ret, null,new File(".").getAbsoluteFile());
407413
} catch (Throwable e) {
408414
Log.error(e);
409415
}
@@ -448,12 +454,13 @@ private static void finish(long startTime) {
448454
System.exit(0);
449455
}
450456

451-
public static void processReturnedObjectsStart(Object ret, File baseWorkspaceFile) {
452-
CSG.setPreventNonManifoldTriangles(true);
457+
public static void processReturnedObjectsStart(Object ret, File baseWorkspaceFile, File target) {
453458
processUIOpening(ret);
454459
if (baseWorkspaceFile != null)
455-
com.neuronrobotics.sdk.common.Log.debug("Processing file in directory " + baseWorkspaceFile.getAbsolutePath());
456-
460+
com.neuronrobotics.sdk.common.Log.debug("Processing file in directory: \n " + baseWorkspaceFile.getAbsolutePath()+" \nto "+target.getAbsolutePath());
461+
File baseDirForTarget = new File(target.getAbsolutePath() + "/manufacturing/");
462+
if(!baseDirForTarget.exists())
463+
baseDirForTarget.mkdirs();
457464
if (baseWorkspaceFile != null) {
458465

459466
File baseDirForFiles = new File(baseWorkspaceFile.getAbsolutePath() + "/manufacturing/");
@@ -464,7 +471,7 @@ public static void processReturnedObjectsStart(Object ret, File baseWorkspaceFil
464471
if (bomCSV.exists()) {
465472

466473
File file = new File(
467-
baseWorkspaceFile.getAbsolutePath() + "/" + VitaminBomManager.getManufacturingBomCsv());
474+
baseDirForTarget.getAbsolutePath() + "/" + VitaminBomManager.getManufacturingBomCsv());
468475
// if (file.exists())
469476
// file.delete();
470477
try {
@@ -478,7 +485,7 @@ public static void processReturnedObjectsStart(Object ret, File baseWorkspaceFil
478485
baseWorkspaceFile.getAbsolutePath() + "/" + VitaminBomManager.getManufacturingBomJson());
479486
if (bom.exists()) {
480487
File file = new File(
481-
baseWorkspaceFile.getAbsolutePath() + "/" + VitaminBomManager.getManufacturingBomJson());
488+
baseDirForTarget.getAbsolutePath() + "/" + VitaminBomManager.getManufacturingBomJson());
482489
// if (file.exists())
483490
// file.delete();
484491
try {
@@ -488,8 +495,6 @@ public static void processReturnedObjectsStart(Object ret, File baseWorkspaceFil
488495
Log.error(e);
489496
}
490497
}
491-
} else {
492-
baseDirForFiles.mkdirs();
493498
}
494499
}
495500
ArrayList<CSG> csgBits = new ArrayList<>();
@@ -503,7 +508,7 @@ public static void processReturnedObjectsStart(Object ret, File baseWorkspaceFil
503508
else {
504509
com.neuronrobotics.sdk.common.Log.error("Exporting files without print bed");
505510
}
506-
new CadFileExporter().generateManufacturingParts(csgBits, baseWorkspaceFile);
511+
new CadFileExporter().generateManufacturingParts(csgBits, baseDirForTarget);
507512
} catch (Throwable t) {
508513
Log.error(t);
509514
fail();
@@ -615,6 +620,12 @@ public void setAllCSG(Collection<CSG> toAdd, File source) {
615620
@Override
616621
public void highlightException(File fileEngineRunByName, Throwable ex) {
617622
Log.error(ex);
623+
try {
624+
Thread.sleep(1000);
625+
} catch (InterruptedException e) {
626+
// TODO Auto-generated catch block
627+
e.printStackTrace();
628+
}
618629
fail();
619630
}
620631

src/main/java/com/neuronrobotics/bowlerstudio/scripting/GroovyHelper.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,10 @@ private Object inline(String codeIn, ArrayList<Object> args, CSGDatabaseInstance
7070
code=code.replace("inlineScriptRun(", "inlineScriptRun(csgdb,");
7171
code=code.replace("inlineScriptStringRun(", "inlineScriptStringRun(csgdb,");
7272
code=code.replace("gitScriptRun(", "gitScriptRun(((eu.mihosoft.vrl.v3d.parametrics.CSGDatabaseInstance)csgdb),");
73+
//getVitaminsDisplay(
74+
code=code.replace("getVitaminsDisplay(", "getVitaminsDisplay(csgdb,");
75+
code=code.replace("getVitamins(", "getVitamins(csgdb,");
76+
7377
}
7478

7579
Script script;

0 commit comments

Comments
 (0)