11import org.jetbrains.kotlin.gradle.dsl.JvmTarget
22
33plugins {
4- id(" com.google.devtools.ksp" ). version(" 2.2.0-2.0.2 " )
4+ id(" com.google.devtools.ksp" ). version(' 2.3.5 ' )
55}
66
77apply plugin : ' com.android.application'
8- apply plugin : ' kotlin-android'
98apply plugin : ' org.sonarqube'
109apply plugin : ' com.google.gms.google-services'
1110apply plugin : ' com.google.firebase.crashlytics'
@@ -16,15 +15,6 @@ if (file('signing.gradle').exists()) {
1615 apply from : ' signing.gradle'
1716}
1817
19- aboutLibraries {
20- exclusionPatterns = [~" com_google_android.*" , ~" android.*" , ~" com_mikepenz__fastadapter_extensions.*" ]
21- configPath = " about-config"
22- additionalLicenses {
23- LGPL_2_1_or_later
24- BSD_3_Clause
25- }
26- }
27-
2818kotlin {
2919 compilerOptions {
3020 jvmTarget = JvmTarget . JVM_17
@@ -43,7 +33,7 @@ android {
4333 minSdkVersion 26
4434 targetSdkVersion 36
4535 versionCode 130 // is updated automatically by BitRise; only used when building locally
46- versionName ' 1.21.5 '
36+ versionName ' 1.21.6 '
4737
4838 def includeObjectBoxBrowser = System . getenv(" INCLUDE_OBJECTBOX_BROWSER" ) ?: " false"
4939 def includeLeakCanary = System . getenv(" INCLUDE_LEAK_CANARY" ) ?: " false"
@@ -53,9 +43,8 @@ android {
5343
5444 buildConfigField ' String' , ' GITHUB_API_URL' , ' "https://api.github.com/repos/avluis/Hentoid/"'
5545
56- proguardFiles getDefaultProguardFile( ' proguard-android.txt ' ), ' proguard-rules.pro '
46+ // Only include complete translations
5747 resourceConfigurations + = [' en' , ' ru' , ' it' , ' uk' , ' hu' , ' ko' , ' ja' , ' es' , ' sv' ]
58- // Only include complete translations
5948 }
6049 buildFeatures {
6150 viewBinding = true
@@ -68,9 +57,9 @@ android {
6857
6958 buildConfigField ' String' , ' UPDATE_URL' , ' "https://raw.githubusercontent.com/avluis/Hentoid/dev/app/"'
7059
71- proguardFile ' proguard-rules-debug.pro'
60+ proguardFiles getDefaultProguardFile( ' proguard-android-optimize.txt ' ), ' proguard-rules.pro ' , ' proguard-rules-debug.pro'
7261
73- // Library specific proguard files
62+ // Library- specific proguard files
7463 proguardFiles fileTree(dir : ' ../.proguard' , include : [' *.pro' ]). asList(). toArray()
7564 }
7665 release {
@@ -79,10 +68,10 @@ android {
7968
8069 buildConfigField ' String' , ' UPDATE_URL' , ' "https://raw.githubusercontent.com/avluis/Hentoid/master/app/"'
8170
82- proguardFile ' proguard-rules-release.pro'
71+ proguardFiles getDefaultProguardFile( ' proguard-android-optimize.txt ' ), ' proguard-rules.pro ' , ' proguard-rules-release.pro'
8372 testProguardFile ' proguard-rules-test.pro'
8473
85- // Library specific proguard files
74+ // Library- specific proguard files
8675 proguardFiles fileTree(dir : ' ../.proguard' , include : [' *.pro' ]). asList(). toArray()
8776 }
8877 }
@@ -122,11 +111,11 @@ dependencies {
122111 * TESTING
123112 */
124113 testImplementation ' junit:junit:4.13.2'
125- testImplementation ' org.mockito:mockito-core:5.19 .0'
114+ testImplementation ' org.mockito:mockito-core:5.21 .0'
126115 testImplementation ' androidx.test:core:1.7.0'
127116 testImplementation ' io.kotlintest:kotlintest-assertions:3.4.2'
128117 testImplementation ' androidx.arch.core:core-testing:2.2.0'
129- testImplementation ' org.robolectric:robolectric:4.15 .1'
118+ testImplementation ' org.robolectric:robolectric:4.16 .1'
130119 // Auto Timber trees that redirect logs to the JUnit output
131120 testImplementation ' net.lachlanmckee:timber-junit-rule:1.0.1'
132121 androidTestImplementation ' androidx.test:runner:1.7.0'
@@ -149,9 +138,9 @@ dependencies {
149138 implementation ' androidx.viewpager2:viewpager2:1.1.0'
150139 implementation ' org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2'
151140 implementation ' androidx.core:core-ktx:1.17.0'
152- implementation ' androidx.webkit:webkit:1.14 .0'
141+ implementation ' androidx.webkit:webkit:1.15 .0'
153142
154- def android_work_version = ' 2.11.0 '
143+ def android_work_version = ' 2.11.1 '
155144 implementation " androidx.work:work-runtime:$android_work_version "
156145 implementation " androidx.work:work-runtime-ktx:$android_work_version "
157146
@@ -184,7 +173,7 @@ dependencies {
184173 implementation " com.github.penfeizhou.android.animation:avif:$APNG4Android_version "
185174
186175 // Animated GIF creator -> https://github.com/shaksternano/gif.kt
187- implementation(" com.shakster:gifkt:0.3.0 " )
176+ implementation(" com.shakster:gifkt:0.3.1 " )
188177
189178 // PDF creator/extractor
190179 implementation ' com.itextpdf:itext7-core:8.0.5'
@@ -210,7 +199,7 @@ dependencies {
210199 implementation ' com.github.AppIntro:AppIntro:6.1.0'
211200
212201 // Tooltips
213- implementation ' com.github.skydoves:balloon:1.6.13 '
202+ implementation ' com.github.skydoves:balloon:1.7.3 '
214203
215204 // Popup menus with icons
216205 implementation ' com.github.skydoves:powermenu:2.2.4'
@@ -251,15 +240,15 @@ dependencies {
251240 implementation " pl.droidsonroids:jspoon:1.3.3"
252241
253242 // JSOUP HTML parser: github.com/jhy/jsoup
254- implementation ' org.jsoup:jsoup:1.21.2 '
243+ implementation ' org.jsoup:jsoup:1.22.1 '
255244
256245 // https://github.com/square/retrofit
257246 def retrofit_version = ' 3.0.0'
258247 implementation " com.squareup.retrofit2:retrofit:$retrofit_version "
259248 implementation " com.squareup.retrofit2:converter-moshi:$retrofit_version "
260249
261250 // Download speed limit
262- implementation ' com.bucket4j:bucket4j_jdk17-core:8.16.0 '
251+ implementation ' com.bucket4j:bucket4j_jdk17-core:8.16.1 '
263252
264253 // TLS v1.3 support for Android <= 9
265254 implementation ' org.conscrypt:conscrypt-android:2.5.3'
@@ -270,7 +259,7 @@ dependencies {
270259
271260 // ObjectBox browser dependencies must be set before applying ObjectBox plugin so it does not add objectbox-android
272261 // (would result in two conflicting versions, e.g. "Duplicate files copied in APK lib/armeabi-v7a/libobjectbox.so").
273- def objectbox_version = " 5.0.1 "
262+ def objectbox_version = " 5.1.0 "
274263 if (includeObjectBoxBrowser. toBoolean()) {
275264 debugImplementation " io.objectbox:objectbox-android-objectbrowser:$objectbox_version "
276265 releaseImplementation " io.objectbox:objectbox-android:$objectbox_version "
@@ -288,7 +277,7 @@ dependencies {
288277 }
289278
290279 // https://mvnrepository.com/artifact/org.apache.commons/commons-text/
291- implementation ' org.apache.commons:commons-text:1.14 .0'
280+ implementation ' org.apache.commons:commons-text:1.15 .0'
292281
293282 // Archive management
294283 implementation ' com.github.omicronapps:7-Zip-JBinding-4Android:Release-16.02-2.03'
@@ -297,19 +286,19 @@ dependencies {
297286 implementation ' net.grey-panther:natural-comparator:1.1'
298287
299288 // Efficient hashing
300- implementation ' io.whitfin:siphash:2 .0.0'
289+ implementation ' io.whitfin:siphash:3 .0.0'
301290
302291 // Sentence similarity detection
303292 implementation ' info.debatty:java-string-similarity:2.0.0'
304293
305294 // Biometrics
306- implementation ' dev.skomlach:biometric:2.3.4 '
295+ implementation ' dev.skomlach:biometric:2.3.5 '
307296
308297 // Searchable prefs
309298 implementation ' com.github.ByteHamster:SearchPreference:2.7.3'
310299
311300 // Automated generation of the Licenses screen
312- def about_version = ' 8.9.4 '
301+ def about_version = ' 13.2.1 '
313302 implementation " com.mikepenz:aboutlibraries-core:$about_version "
314303 implementation " com.mikepenz:aboutlibraries:$about_version "
315304
@@ -318,7 +307,7 @@ dependencies {
318307 * ANALYTICS
319308 */
320309 // Import the BoM for the Firebase platform
321- implementation platform(' com.google.firebase:firebase-bom:34.6 .0' )
310+ implementation platform(' com.google.firebase:firebase-bom:34.9 .0' )
322311
323312 // Crashlytics
324313 implementation ' com.google.firebase:firebase-crashlytics'
@@ -336,6 +325,59 @@ sonarqube {
336325 property " sonar.login" , " 3d0dc80792bad95f0193e7ed626cf090ac83e208"
337326 }
338327}
328+ /*
329+ aboutLibraries {
330+ collect {
331+ // Define the path configuration files are located in. E.g. additional libraries, licenses to add to the target .json
332+ // Warning: Please do not use the parent folder of a module as path, as this can result in issues. More details: https://github.com/mikepenz/AboutLibraries/issues/936
333+ // The path provided is relative to the modules path (not project root)
334+ configPath = file("../config")
335+
336+ // Enable fetching of "remote" licenses. Uses the API of supported source hosts
337+ // See https://github.com/mikepenz/AboutLibraries#special-repository-support
338+ // A `gitHubApiToken` is required for this to work as it fetches information from GitHub's API.
339+ fetchRemoteLicense = false
340+
341+ // Enables fetching of "remote" funding information. Uses the API of supported source hosts
342+ // See https://github.com/mikepenz/AboutLibraries#special-repository-support
343+ // A `gitHubApiToken` is required for this to work as it fetches information from GitHub's API.
344+ fetchRemoteFunding = false
345+
346+ // Allows to only collect dependencies of specific variants during the `collectDependencies` step.
347+ // filterVariants.addAll("debug", "release")
348+
349+ // Enable inclusion of `platform` dependencies in the library report
350+ includePlatform = true
351+ }
352+
353+ license {
354+ // Define the strict mode, will fail if the project uses licenses not allowed
355+ // - This will only automatically fail for Android projects using the Android-specific plugin (com.mikepenz.aboutlibraries.plugin.android)
356+ // For other projects, execute `exportLibraryDefinitions` manually
357+ strictMode = com.mikepenz.aboutlibraries.plugin.StrictMode.FAIL
358+
359+ // Allowed set of licenses, this project will be able to use without build failure
360+ allowedLicenses.addAll("Apache-2.0", "asdkl")
361+
362+ // Allowed set of licenses for specific dependencies, this project will be able to use without build failure
363+ allowedLicensesMap = mapOf(
364+ "asdkl" to listOf("androidx.jetpack.library"),
365+ "NOASSERTION" to listOf("org.jetbrains.kotlinx"),
366+ )
367+
368+ // Full license text for license IDs mentioned here will be included, even if no detected dependency uses them.
369+ // additionalLicenses.addAll("mit", "mpl_2_0")
370+ }
371+
372+ library {
373+ // Enable the duplication mode, allows to merge, or link dependencies which relate
374+ duplicationMode = com.mikepenz.aboutlibraries.plugin.DuplicateMode.MERGE
375+ // Configure the duplication rule, to match "duplicates" with
376+ duplicationRule = com.mikepenz.aboutlibraries.plugin.DuplicateRule.SIMPLE
377+ }
378+ }
379+
380+ */
339381
340- apply plugin : ' io.objectbox '
341- apply plugin : ' org.jetbrains.kotlin.android ' // apply last
382+ apply plugin : ' com.android.legacy-kapt '
383+ apply plugin : ' io.objectbox '
0 commit comments