From 9ee9bed8bf93812e9bdc95cca77cc8de6c7de364 Mon Sep 17 00:00:00 2001
From: 0xb00bface <0xboobface@gmail.com>
Date: Wed, 25 Aug 2021 20:14:25 +0200
Subject: [PATCH] Add splash screen to linux and mac
---
client/build.sh | 6 +-
client/pom.xml | 103 +++++-------------
client/src/assembly/ctbrec-linux-jre.sh | 2 +-
client/src/assembly/ctbrec-macos-jre.sh | 2 +-
client/src/assembly/ctbrec.bat | 2 +-
client/src/assembly/linux-jre.xml | 15 ++-
client/src/assembly/macos-jre.xml | 16 ++-
client/src/assembly/win64-jre.xml | 15 ++-
.../java/ctbrec/ui/CamrecApplication.java | 4 +
.../src/main/resources/META-INF/MANIFEST.MF | 4 +
master/pom.xml | 4 +
11 files changed, 78 insertions(+), 95 deletions(-)
create mode 100644 client/src/main/resources/META-INF/MANIFEST.MF
diff --git a/client/build.sh b/client/build.sh
index ec3723aa..ad8a59c4 100755
--- a/client/build.sh
+++ b/client/build.sh
@@ -1,5 +1,5 @@
#!/bin/bash
mvn clean
-mvn -Djavafx.platform=win package verify
-mvn -Djavafx.platform=linux package verify
-mvn -Djavafx.platform=mac package verify
+mvn -Djavafx.platform=win verify
+mvn -Djavafx.platform=linux verify
+mvn -Djavafx.platform=mac verify
diff --git a/client/pom.xml b/client/pom.xml
index 1b16ac00..417bf628 100644
--- a/client/pom.xml
+++ b/client/pom.xml
@@ -16,7 +16,7 @@
UTF-8
15
15
- ${project.groupId}-${project.version}-final
+ ${project.groupId}-${project.version}
@@ -42,23 +42,17 @@
- maven-assembly-plugin
-
-
- assembly
- package
-
- single
-
-
- ${name.final}
- false
-
- jar-with-dependencies
-
-
-
-
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ src/main/resources/META-INF/MANIFEST.MF
+
+ true
+ lib/
+
+
+
@@ -127,7 +121,8 @@
ctbrec
ctbrec.ui.Launcher
- false
+ true
+ lib/
.
https://jdk.java.net/
@@ -225,62 +220,22 @@
-
- de.perdian.maven.plugins
- macosappbundler-maven-plugin
- 1.10.1
-
-
- src/main/resources/icon.icns
- CTB Recorder
- English
- ctbrec
-
- msa
-
- ctbrec.ui.Launcher
- 11+
-
- -Dfile.encoding=utf-8
-
- Contents/Java/jdk/Contents/Home
-
-
- true
- jre/jdk_macos
-
-
-
-
- package
-
- bundle
-
-
-
-
-
- maven-assembly-plugin
- 3.1.0
-
-
- zip
- verify
-
- single
-
-
- ctbrec-${project.version}
-
- src/assembly/macos-bundle.xml
-
-
-
-
-
- -->
-
maven-assembly-plugin
3.1.0
diff --git a/client/src/assembly/ctbrec-linux-jre.sh b/client/src/assembly/ctbrec-linux-jre.sh
index 954351b6..03367673 100755
--- a/client/src/assembly/ctbrec-linux-jre.sh
+++ b/client/src/assembly/ctbrec-linux-jre.sh
@@ -4,5 +4,5 @@ DIR="$(dirname "$0")"
pushd "${DIR}"
JAVA=./jre/bin/java
$JAVA -version
-$JAVA -Xmx512m -Djdk.gtk.version=3 -cp "${DIR}:${name.final}.jar" -Dfile.encoding=utf-8 ctbrec.ui.Launcher
+$JAVA -Xmx512m -Djdk.gtk.version=3 -Dfile.encoding=utf-8 -jar ${name.final}.jar
popd
diff --git a/client/src/assembly/ctbrec-macos-jre.sh b/client/src/assembly/ctbrec-macos-jre.sh
index 0e8dad3c..b7c1170c 100755
--- a/client/src/assembly/ctbrec-macos-jre.sh
+++ b/client/src/assembly/ctbrec-macos-jre.sh
@@ -5,5 +5,5 @@ pushd "$DIR"
JAVA_HOME="$DIR/jre/Contents/Home"
JAVA="$JAVA_HOME/bin/java"
$JAVA -version
-$JAVA -Xmx512m -cp "${DIR}:${name.final}.jar" -Dfile.encoding=utf-8 ctbrec.ui.Launcher
+$JAVA -Xmx512m -Dfile.encoding=utf-8 -jar ${name.final}.jar
popd
\ No newline at end of file
diff --git a/client/src/assembly/ctbrec.bat b/client/src/assembly/ctbrec.bat
index 2a95c05b..11632ffb 100644
--- a/client/src/assembly/ctbrec.bat
+++ b/client/src/assembly/ctbrec.bat
@@ -1 +1 @@
-jre\bin\java -Xmx512m -cp ".;${name.final}.jar" -Dfile.encoding=utf-8 ctbrec.ui.Launcher
\ No newline at end of file
+jre\bin\java -Xmx512m -Dfile.encoding=utf-8 -jar ${name.final}.jar
\ No newline at end of file
diff --git a/client/src/assembly/linux-jre.xml b/client/src/assembly/linux-jre.xml
index 76c02c36..0a5de90a 100644
--- a/client/src/assembly/linux-jre.xml
+++ b/client/src/assembly/linux-jre.xml
@@ -5,6 +5,14 @@
zip
false
+
+
+ ctbrec/lib
+ false
+ false
+ runtime
+
+
${project.basedir}/src/assembly/ctbrec-linux-jre.sh
@@ -13,8 +21,9 @@
ctbrec.sh
- ${project.build.directory}/${name.final}.jar
+ ${project.build.directory}/${project.artifactId}-${project.version}.jar
ctbrec
+ ${name.final}.jar
${project.basedir}/LICENSE.txt
@@ -24,10 +33,6 @@
${project.basedir}/README.md
ctbrec
-
- ${project.basedir}/src/main/resources/logback.xml
- ctbrec
-
${project.basedir}/ffmpeg/ffmpeg-linux64
ctbrec/ffmpeg
diff --git a/client/src/assembly/macos-jre.xml b/client/src/assembly/macos-jre.xml
index ceafd313..eff25da9 100644
--- a/client/src/assembly/macos-jre.xml
+++ b/client/src/assembly/macos-jre.xml
@@ -5,6 +5,14 @@
zip
false
+
+
+ ctbrec/lib
+ false
+ false
+ runtime
+
+
${project.basedir}/src/assembly/ctbrec-macos-jre.sh
@@ -13,8 +21,10 @@
ctbrec.sh
- ${project.build.directory}/${name.final}.jar
+ ${project.build.directory}/${project.artifactId}-${project.version}.jar
+
ctbrec
+ ${name.final}.jar
${project.basedir}/LICENSE.txt
@@ -24,10 +34,6 @@
${project.basedir}/README.md
ctbrec
-
- ${project.basedir}/src/main/resources/logback.xml
- ctbrec
-
${project.basedir}/ffmpeg/ffmpeg-macos64
ctbrec/ffmpeg
diff --git a/client/src/assembly/win64-jre.xml b/client/src/assembly/win64-jre.xml
index 01f7aa92..0b83e8a5 100644
--- a/client/src/assembly/win64-jre.xml
+++ b/client/src/assembly/win64-jre.xml
@@ -5,14 +5,23 @@
zip
false
+
+
+ ctbrec/lib
+ false
+ false
+ runtime
+
+
${project.build.directory}/ctbrec.exe
ctbrec
- ${project.build.directory}/${name.final}.jar
+ ${project.build.directory}/${project.artifactId}-${project.version}.jar
ctbrec
+ ${name.final}.jar
${project.basedir}/LICENSE.txt
@@ -22,10 +31,6 @@
${project.basedir}/README.md
ctbrec
-
- ${project.basedir}/src/main/resources/logback.xml
- ctbrec
-
${project.basedir}/src/assembly/ctbrec.bat
ctbrec
diff --git a/client/src/main/java/ctbrec/ui/CamrecApplication.java b/client/src/main/java/ctbrec/ui/CamrecApplication.java
index 391c3c8f..cf1ed965 100644
--- a/client/src/main/java/ctbrec/ui/CamrecApplication.java
+++ b/client/src/main/java/ctbrec/ui/CamrecApplication.java
@@ -2,6 +2,7 @@ package ctbrec.ui;
import static ctbrec.event.Event.Type.*;
+import java.awt.SplashScreen;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
@@ -16,6 +17,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
+import java.util.Optional;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
@@ -293,6 +295,8 @@ public class CamrecApplication extends Application {
statusBar.getChildren().add(statusLabel);
HBox.setMargin(statusLabel, new Insets(10, 10, 10, 10));
+
+ Optional.ofNullable(SplashScreen.getSplashScreen()).ifPresent(SplashScreen::close);
}
private void setWindowMinimizeListener(Stage primaryStage) {
diff --git a/client/src/main/resources/META-INF/MANIFEST.MF b/client/src/main/resources/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..b6ae98e5
--- /dev/null
+++ b/client/src/main/resources/META-INF/MANIFEST.MF
@@ -0,0 +1,4 @@
+Manifest-Version: 1.0
+Main-Class: ctbrec.ui.Launcher
+SplashScreen-Image: splash.png
+Built-By: 0xb00bface
diff --git a/master/pom.xml b/master/pom.xml
index 9d3055fb..ca930231 100644
--- a/master/pom.xml
+++ b/master/pom.xml
@@ -23,6 +23,10 @@
+
+ maven-jar-plugin
+ 2.4
+
maven-assembly-plugin
3.1.0