Files
AntennaPod/app/build.gradle
Hans-Peter Lehmann c19b3d7223 Upgrade to gradle plugin 9.0 (#8302)
### Description

Upgrade to gradle plugin 9.0. This adds support for Java 25

### Checklist
<!-- 
To help us keep the issue tracker clean and work as efficient as
possible,
  please make sure that you have done all of the following.
You can tick the boxes below by placing an x inside the brackets like
this: [x]
-->
- [x] I have read the contribution guidelines:
https://github.com/AntennaPod/AntennaPod/blob/develop/CONTRIBUTING.md#submit-a-pull-request
- [x] I have performed a self-review of my code, going through my
changes line by line and carefully considering why this line change is
necessary
- [x] I have run the automated code checks using `./gradlew checkstyle
spotbugsPlayDebug spotbugsDebug :app:lintPlayDebug`
- [x] My code follows the style guidelines of the AntennaPod project:
https://antennapod.org/contribute/develop/app/code-style
- [x] I have mentioned the corresponding issue and the relevant keyword
(e.g., "Closes: #xy") in the description (see
https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
- [x] If it is a core feature, I have added automated tests
2026-08-01 10:02:41 +02:00

150 lines
5.8 KiB
Groovy

plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.triplet.play) apply false
}
apply from: "../common.gradle"
apply from: "../playFlavor.gradle"
android {
namespace "de.danoeh.antennapod"
defaultConfig {
// Version code schema:
// "1.2.3-beta4" -> 1020304
// "1.2.3" -> 1020395
versionCode 3120004
versionName "3.12.0-beta4"
}
signingConfigs {
releaseConfig {
enableV1Signing true
enableV2Signing true
storeFile file(project.getProperties().getOrDefault("releaseStoreFile", "keystore"))
storePassword project.getProperties().getOrDefault("releaseStorePassword", "password")
keyAlias project.getProperties().getOrDefault("releaseKeyAlias", "alias")
keyPassword project.getProperties().getOrDefault("releaseKeyPassword", "password")
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
resValue "string", "provider_authority", "de.danoeh.antennapod.debug.provider"
}
release {
resValue "string", "provider_authority", "de.danoeh.antennapod.provider"
minifyEnabled true
shrinkResources true
signingConfig signingConfigs.releaseConfig
}
}
lint {
disable 'CheckResult', 'MissingMediaBrowserServiceIntentFilter', 'UnusedAttribute', 'InflateParams',
'RestrictedApi', 'ExportedReceiver', 'NotifyDataSetChanged', 'UseCompoundDrawables', 'NestedWeights',
'Overdraw', 'UselessParent', 'TextFields', 'AlwaysShowAction', 'Autofill', 'ClickableViewAccessibility',
'KeyboardInaccessibleWidget', 'LabelFor', 'SetTextI18n', 'HardcodedText', 'RelativeOverlap',
'RtlHardcoded', 'RtlEnabled', 'ContentDescription'
}
androidResources {
additionalParameters += ["--no-version-vectors"]
}
}
dependencies {
implementation project(":event")
implementation project(':model')
implementation project(':net:common')
implementation project(':net:discovery')
implementation project(':net:download:service-interface')
implementation project(':net:download:service')
implementation project(':net:ssl')
implementation project(':net:sync:service')
playImplementation project(':net:sync:wear-interface')
implementation project(':parser:feed')
implementation project(':parser:transcript')
implementation project(':playback:base')
implementation project(':playback:cast')
implementation project(':storage:database')
implementation project(':storage:database-maintenance-service')
implementation project(':storage:importexport')
implementation project(':storage:preferences')
implementation project(':system')
implementation project(':ui:app-start-intent')
implementation project(':ui:common')
implementation project(':ui:discovery')
implementation project(':ui:echo')
implementation project(':ui:episodes')
implementation project(':ui:glide')
implementation project(':ui:i18n')
implementation project(':ui:notifications')
implementation project(':ui:widget')
implementation project(':ui:preferences')
implementation project(':ui:statistics')
implementation project(':net:sync:service-interface')
implementation project(':playback:service')
implementation project(':ui:chapters')
implementation project(':ui:transcript')
annotationProcessor libs.androidx.annotation
implementation libs.androidx.appcompat
implementation libs.androidx.coordinatorlayout
implementation libs.androidx.core
implementation libs.androidx.fragment
implementation libs.androidx.gridlayout
implementation libs.androidx.media
implementation libs.androidx.palette
implementation libs.androidx.preference
implementation libs.androidx.recyclerview
implementation libs.androidx.transition
implementation libs.androidx.viewpager2
implementation libs.androidx.work.runtime
implementation libs.google.material
implementation libs.androidx.drawerlayout
implementation libs.androidx.media3.common
implementation libs.androidx.media3.session
implementation libs.androidx.media3.ui
playImplementation libs.google.play.services.wearable
implementation libs.commons.lang3
implementation libs.commons.io
implementation libs.jsoup
implementation libs.glide
implementation libs.okhttp
implementation libs.okhttp.urlconnection
implementation libs.eventbus
implementation libs.rxandroid
implementation libs.rxjava
implementation libs.preferencesearch
implementation libs.balloon
implementation libs.recyclerview.swipedecorator
testImplementation libs.androidx.test.core
testImplementation libs.junit
testImplementation libs.robolectric
androidTestImplementation libs.awaitility
androidTestImplementation libs.nanohttpd
androidTestImplementation libs.androidx.test.espresso.core
androidTestImplementation libs.androidx.test.espresso.contrib
androidTestImplementation libs.androidx.test.espresso.intents
androidTestImplementation libs.androidx.test.runner
androidTestImplementation libs.androidx.test.rules
androidTestImplementation libs.androidx.test.ext.junit
androidTestImplementation libs.hamcrest
androidTestImplementation libs.hamcrest.library
}
if (project.hasProperty("antennaPodPlayPublisherCredentials")) {
apply plugin: 'com.github.triplet.play'
play {
track.set('beta')
//noinspection UnnecessaryQualifiedReference
releaseStatus.set(com.github.triplet.gradle.androidpublisher.ReleaseStatus.IN_PROGRESS)
userFraction.set(0.01d)
serviceAccountCredentials.set(file(antennaPodPlayPublisherCredentials))
}
}