From 94d43ce77ae072759d6d2e17ab16b199a6cf6d71 Mon Sep 17 00:00:00 2001 From: Nexoniarz Date: Thu, 8 Oct 2026 15:13:12 +0200 Subject: [PATCH] Fix the single-jar Linux build: drop Bouncy Castle signature files Merged into one jar their signatures no longer match and Java refused to start. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/build.yml | 6 +++--- build.gradle.kts | 2 +- desktop/build.gradle.kts | 6 ++++++ shared/src/com/nexoniarz/nexopass/ui/SettingsScreen.kt | 2 +- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f462a76..4c27c27 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions/setup-java@v4 + - uses: actions/setup-java@v5 with: { distribution: temurin, java-version: 17 } - uses: gradle/actions/setup-gradle@v4 - name: Version from tag @@ -52,7 +52,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions/setup-java@v4 + - uses: actions/setup-java@v5 with: { distribution: temurin, java-version: 17 } - uses: gradle/actions/setup-gradle@v4 - run: sudo apt-get update && sudo apt-get install -y rpm @@ -78,7 +78,7 @@ jobs: runs-on: windows-latest steps: - uses: actions/checkout@v4 - - uses: actions/setup-java@v4 + - uses: actions/setup-java@v5 with: { distribution: temurin, java-version: 17 } - uses: gradle/actions/setup-gradle@v4 - name: Version from tag diff --git a/build.gradle.kts b/build.gradle.kts index 78c6ea7..dbf65c0 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,5 +7,5 @@ plugins { } // One version for every app; CI passes -PappVersion=X.Y.Z from the git tag. -val appVersion = (findProperty("appVersion") as String?) ?: "1.3.0" +val appVersion = (findProperty("appVersion") as String?) ?: "1.3.1" extra["appVersion"] = appVersion diff --git a/desktop/build.gradle.kts b/desktop/build.gradle.kts index b89c02d..23b28e8 100644 --- a/desktop/build.gradle.kts +++ b/desktop/build.gradle.kts @@ -76,3 +76,9 @@ compose.desktop { buildTypes.release.proguard { isEnabled.set(false) } } } + +// Bouncy Castle jars are signed; merged into one jar those signatures no +// longer match and Java refuses to start. The single jar doesn't need them. +tasks.matching { it.name.startsWith("packageUberJar") || it.name.startsWith("packageReleaseUberJar") }.configureEach { + (this as org.gradle.jvm.tasks.Jar).exclude("META-INF/*.SF", "META-INF/*.DSA", "META-INF/*.RSA", "META-INF/*.EC") +} diff --git a/shared/src/com/nexoniarz/nexopass/ui/SettingsScreen.kt b/shared/src/com/nexoniarz/nexopass/ui/SettingsScreen.kt index a347972..4e63183 100644 --- a/shared/src/com/nexoniarz/nexopass/ui/SettingsScreen.kt +++ b/shared/src/com/nexoniarz/nexopass/ui/SettingsScreen.kt @@ -27,7 +27,7 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import java.time.LocalDate -const val APP_VERSION = "1.3.0" +const val APP_VERSION = "1.3.1" private fun bioLabel(mode: String) = when (mode) { "strong" -> "Fingerprint or face"