JCEF bundle: install dir -> lib/jcef-bundle, add build script to prefetch natives into ZIP
This commit is contained in:
@@ -294,6 +294,11 @@
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<!-- Скачиваем и собираем JCEF bundle -->
|
||||
<exec executable="bash" failonerror="false">
|
||||
<arg value="${project.basedir}/scripts/download-jcef-bundle.sh"/>
|
||||
</exec>
|
||||
|
||||
<!-- Создаем папку bin и копируем JAR -->
|
||||
<mkdir dir="../../server/builds/bin"/>
|
||||
<copy file="../../server/builds/zernmclauncher.jar"
|
||||
|
||||
@@ -252,7 +252,7 @@ public class JCEFLauncher {
|
||||
java.awt.Toolkit.getDefaultToolkit();
|
||||
|
||||
CefAppBuilder builder = new CefAppBuilder();
|
||||
builder.setInstallDir(new File("jcef-bundle"));
|
||||
builder.setInstallDir(new File("lib/jcef-bundle"));
|
||||
builder.setProgressHandler(new ConsoleProgressHandler());
|
||||
builder.getCefSettings().windowless_rendering_enabled = false;
|
||||
cefApp = builder.build();
|
||||
|
||||
Executable
+52
@@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
# Downloads and assembles JCEF bundle for offline packaging
|
||||
set -euo pipefail
|
||||
|
||||
JCEF_VERSION="146.0.10"
|
||||
JCEF_HASH="jcef-d3de827+cef-146.0.10+g8219561+chromium-146.0.7680.179"
|
||||
OUTDIR="../../server/builds/lib/jcef-bundle"
|
||||
M2_REPO="${HOME}/.m2/repository"
|
||||
|
||||
mkdir -p "$OUTDIR/lib"
|
||||
|
||||
# Download natives JAR from Maven Central if not cached
|
||||
NATIVES_JAR="jcef-natives-windows-amd64-${JCEF_HASH}.jar"
|
||||
NATIVES_PATH="${M2_REPO}/me/friwi/jcef-natives-windows-amd64/${JCEF_HASH}/${NATIVES_JAR}"
|
||||
|
||||
if [ ! -f "$NATIVES_PATH" ]; then
|
||||
echo "Downloading JCEF natives (155MB)..."
|
||||
mvn dependency:copy -q \
|
||||
-Dartifact="me.friwi:jcef-natives-windows-amd64:${JCEF_HASH}" \
|
||||
-DoutputDirectory="${M2_REPO}/me/friwi/jcef-natives-windows-amd64/${JCEF_HASH}/"
|
||||
fi
|
||||
|
||||
# Extract tar.gz from JAR and then extract to lib/
|
||||
echo "Extracting native libraries..."
|
||||
rm -rf /tmp/jcef-extract
|
||||
mkdir -p /tmp/jcef-extract
|
||||
cd /tmp/jcef-extract
|
||||
jar xf "$NATIVES_PATH"
|
||||
TARBALL=$(ls *.tar.gz 2>/dev/null | head -1)
|
||||
if [ -n "$TARBALL" ]; then
|
||||
tar xzf "$TARBALL" -C "$OLDPWD/$OUTDIR/lib/"
|
||||
fi
|
||||
cd "$OLDPWD"
|
||||
|
||||
# Copy API JARs from Maven repo
|
||||
echo "Copying API JARs..."
|
||||
for ARTIFACT in "jcef-api:${JCEF_HASH}" "jogl-all:v2.4.0" "gluegen-rt:v2.4.0"; do
|
||||
GROUP="me.friwi"
|
||||
ARTIFACT_ID="${ARTIFACT%%:*}"
|
||||
VERSION="${ARTIFACT##*:}"
|
||||
JAR_NAME="${ARTIFACT_ID}-${VERSION}.jar"
|
||||
SRC="${M2_REPO}/me/friwi/${ARTIFACT_ID}/${VERSION}/${JAR_NAME}"
|
||||
if [ -f "$SRC" ]; then
|
||||
cp "$SRC" "$OUTDIR/"
|
||||
echo " $JAR_NAME"
|
||||
else
|
||||
echo " WARNING: $JAR_NAME not found in Maven repo"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "JCEF bundle assembled at $OUTDIR"
|
||||
ls -la "$OUTDIR/lib/" | head -10
|
||||
Reference in New Issue
Block a user