Files
zwischenablage-server/client-android/app/build.gradle
T
duffyduck ecefd347b2 Release v1.0.1
### Hinzugefügt
- Release-Skript `scripts/release.py`: zählt die Version bei jedem Aufruf automatisch hoch
  (patch/minor/major), schließt den CHANGELOG-Abschnitt ab, committet und taggt.
- Pakete werden komplett in Docker gebaut (`--build`): Windows-Installer und portable Version
  (Wine), Linux-Paket, Android-APK und Server-Image, mit Release-Notes und SHA256SUMS.
- Versionsnummer wird im Desktop-Client (Fenstertitel, Tray, `--version`) und in der Android-App
  (Einstellungen) angezeigt.
- Feste Android-Signatur (`secrets/`, wird beim ersten Build erzeugt), damit App-Updates möglich sind.
2026-10-17 12:45:54 +02:00

67 lines
2.1 KiB
Groovy

plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
}
// Release-Signatur: secrets/android-keystore.properties (wird von scripts/release.py beim ersten
// Build erzeugt, nicht im Git). Fehlt die Datei, wird mit dem Debug-Schluessel signiert.
def keystoreProps = new Properties()
def keystoreFile = rootProject.file('../secrets/android-keystore.properties')
if (keystoreFile.exists()) keystoreFile.withInputStream { keystoreProps.load(it) }
android {
namespace 'de.netclip.app'
compileSdk 35
signingConfigs {
release {
if (keystoreFile.exists()) {
storeFile rootProject.file('../secrets/' + keystoreProps['storeFile'])
storePassword keystoreProps['storePassword']
keyAlias keystoreProps['keyAlias']
keyPassword keystoreProps['keyPassword']
}
}
}
defaultConfig {
applicationId "de.netclip.app"
minSdk 26
targetSdk 35
versionCode 2
versionName "1.0.1"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig keystoreFile.exists() ? signingConfigs.release : signingConfigs.debug
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = '17'
}
buildFeatures {
viewBinding true
}
testOptions {
unitTests.all { systemProperty 'interop', project.findProperty('interop') ?: '' }
unitTests.returnDefaultValues = true
}
}
dependencies {
implementation 'androidx.core:core-ktx:1.13.1'
implementation 'androidx.appcompat:appcompat:1.7.0'
implementation 'com.google.android.material:material:1.12.0'
implementation 'com.squareup.okhttp3:okhttp:4.12.0'
implementation 'com.journeyapps:zxing-android-embedded:4.3.0'
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.json:json:20240303'
}