summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--app/build.gradle.kts30
-rw-r--r--f-droid/com.tomcooks.reccoon.yml6
-rw-r--r--releases/RECCoon-1.0.0.apkbin0 -> 35488866 bytes
4 files changed, 37 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore
index 7226cbf..a541204 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,3 +12,6 @@
# Build outputs. The sherpa-onnx runtime is fetched from JitPack, so no
# prebuilt binary is committed here.
/dist/
+
+# Release signing (never commit keys or passwords).
+/keystore.properties
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 1f5fb20..c539960 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -1,7 +1,18 @@
+import java.util.Properties
+
plugins {
id("com.android.application")
}
+// Release signing is read from keystore.properties (git-ignored, present only on
+// the maintainer's machine). CI (e.g. F-Droid) builds an unsigned APK.
+val keystorePropertiesFile = rootProject.file("keystore.properties")
+val keystoreProperties = Properties().apply {
+ if (keystorePropertiesFile.exists()) {
+ keystorePropertiesFile.inputStream().use { load(it) }
+ }
+}
+
android {
namespace = "com.tomcooks.reccoon"
@@ -25,13 +36,30 @@ android {
}
}
+ signingConfigs {
+ if (keystorePropertiesFile.exists()) {
+ create("release") {
+ storeFile = file(keystoreProperties.getProperty("storeFile"))
+ storePassword = keystoreProperties.getProperty("storePassword")
+ keyAlias = keystoreProperties.getProperty("keyAlias")
+ keyPassword = keystoreProperties.getProperty("keyPassword")
+ }
+ }
+ }
+
buildTypes {
debug {
isMinifyEnabled = false
}
release {
isMinifyEnabled = false
- signingConfig = signingConfigs.getByName("debug")
+ // Signed with the maintainer's key when keystore.properties is
+ // present; unsigned otherwise so F-Droid/CI signs it itself.
+ signingConfig = if (keystorePropertiesFile.exists()) {
+ signingConfigs.getByName("release")
+ } else {
+ null
+ }
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
diff --git a/f-droid/com.tomcooks.reccoon.yml b/f-droid/com.tomcooks.reccoon.yml
index 0aab5d2..fdd03c8 100644
--- a/f-droid/com.tomcooks.reccoon.yml
+++ b/f-droid/com.tomcooks.reccoon.yml
@@ -9,14 +9,18 @@ AutoName: RECCoon
RepoType: git
Repo: https://git.tomcooks.com/reccoon
+Binaries: https://git.tomcooks.com/reccoon/plain/releases/RECCoon-%v.apk
Builds:
- versionName: 1.0.0
versionCode: 1
- commit: 959757376d119c7a416234145abd1e468a3b73fe
+ commit: 349ebb2079a5c5738129b8798ea5e36e0c5262aa
+ subdir: app
gradle:
- yes
+AllowedAPKSigningKeys: 98ae9f44c34702e9e65bdc6b5bd7098936566be18ac19f96a9eab3dd66347f00
+
AutoUpdateMode: Version
UpdateCheckMode: Tags
CurrentVersion: 1.0.0
diff --git a/releases/RECCoon-1.0.0.apk b/releases/RECCoon-1.0.0.apk
new file mode 100644
index 0000000..c8633d5
--- /dev/null
+++ b/releases/RECCoon-1.0.0.apk
Binary files differ