11import com.android.build.api.dsl.ApplicationExtension
22import com.android.build.gradle.LibraryExtension
3- import org.jetbrains.kotlin.de.undercouch.gradle.tasks.download.Download
4- import org.jetbrains.kotlin.de.undercouch.gradle.tasks.download.Verify
3+ import org.jetbrains.kotlin.gradle.dsl.JvmTarget
54import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension
65import org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension
76
8- val gradleVersionRequired = " 8.10.2 "
7+ val gradleVersionRequired = " 8.14.3 "
98val gradleVersionReceived = gradle.gradleVersion
109
1110if (gradleVersionRequired != gradleVersionReceived) {
@@ -18,33 +17,23 @@ plugins {
1817 signing
1918
2019 id(" org.jetbrains.kotlin.jvm" )
21- .version(" 1.9.0 " )
20+ .version(" 2.2.10 " )
2221 .apply (false )
2322
2423 id(" org.jetbrains.kotlin.android" )
25- .version(" 1.9.0 " )
24+ .version(" 2.2.10 " )
2625 .apply (false )
2726
2827 id(" com.github.ben-manes.versions" )
2928 .version(" 0.51.0" )
3029 .apply (true )
3130
32- /*
33- * The AndroidX plugin for navigation (including view binding generation).
34- *
35- * https://developer.android.com/jetpack/androidx/releases/navigation
36- */
37-
38- id(" androidx.navigation.safeargs.kotlin" )
39- .version(" 2.7.1" )
40- .apply (false )
41-
4231 id(" com.android.library" )
43- .version(" 8.5 .0" )
32+ .version(" 8.11 .0" )
4433 .apply (false )
4534
4635 id(" com.android.application" )
47- .version(" 8.5 .0" )
36+ .version(" 8.11 .0" )
4837 .apply (false )
4938
5039 /*
@@ -57,16 +46,6 @@ plugins {
5746 .version(" 1.9.3.0" )
5847 .apply (false )
5948
60- /*
61- * Download plugin. Used to fetch artifacts such as Scando during the build.
62- *
63- * https://plugins.gradle.org/plugin/de.undercouch.download
64- */
65-
66- id(" de.undercouch.download" )
67- .version(" 5.4.0" )
68- .apply (false )
69-
7049 /*
7150 * https://developers.google.com/android/guides/google-services-plugin
7251 */
@@ -80,7 +59,7 @@ plugins {
8059 */
8160
8261 id(" com.google.firebase.crashlytics" )
83- .version(" 2.9.9 " )
62+ .version(" 3.0.2 " )
8463 .apply (false )
8564
8665 id(" maven-publish" )
@@ -328,24 +307,15 @@ fun createScandoDownloadTask(project: Project): Task {
328307 val scandoSource =
329308 " https://repo1.maven.org/maven2/com/io7m/scando/com.io7m.scando.cmdline/$scandoVersion /com.io7m.scando.cmdline-$scandoVersion -main.jar"
330309
331- val scandoMakeDirectory =
332- project.task(" ScandoMakeDirectory" ) {
333- mkdir(palaceRootBuildDirectory)
334- }
335-
336- val scandoDownload =
337- project.task(" ScandoDownload" , Download ::class ) {
338- src(scandoSource)
339- dest(file(palaceScandoJarFile))
340- overwrite(true )
341- this .dependsOn.add(scandoMakeDirectory)
342- }
343-
344- return project.task(" ScandoDownloadVerify" , Verify ::class ) {
345- src(file(palaceScandoJarFile))
346- checksum(scandoSHA256)
347- algorithm(" SHA-256" )
348- this .dependsOn(scandoDownload)
310+ val commandLineArguments: ArrayList <String > = arrayListOf (
311+ " java" ,
312+ " org.thepalaceproject.android.platform/DownloadVerify.java" ,
313+ scandoSource,
314+ palaceScandoJarFile,
315+ scandoSHA256,
316+ )
317+ return project.task(" ScandoDownload" , Exec ::class ) {
318+ commandLine = commandLineArguments
349319 }
350320}
351321
@@ -403,7 +373,6 @@ fun createScandoAnalyzeTask(project: Project): Task {
403373lateinit var scandoDownloadTask: Task
404374
405375rootProject.afterEvaluate {
406- apply (plugin = " de.undercouch.download" )
407376 scandoDownloadTask = createScandoDownloadTask(this )
408377}
409378
@@ -416,30 +385,15 @@ rootProject.afterEvaluate {
416385fun createKtlintDownloadTask (project : Project ): Task {
417386 val ktlintVersion =
418387 " 0.50.0"
419- val ktlintSHA256 =
420- " c704fbc28305bb472511a1e98a7e0b014aa13378a571b716bbcf9d99d59a5092"
421- val ktlintSource =
422- " https://repo1.maven.org/maven2/com/pinterest/ktlint/$ktlintVersion /ktlint-$ktlintVersion -all.jar"
423-
424- val ktlintMakeDirectory =
425- project.task(" KtlintMakeDirectory" ) {
426- mkdir(palaceRootBuildDirectory)
427- }
428-
429- val ktlintDownload =
430- project.task(" KtlintDownload" , Download ::class ) {
431- src(ktlintSource)
432- dest(file(palaceKtlintJarFile))
433- overwrite(true )
434- onlyIfModified(true )
435- this .dependsOn.add(ktlintMakeDirectory)
436- }
437-
438- return project.task(" KtlintDownloadVerify" , Verify ::class ) {
439- src(file(palaceKtlintJarFile))
440- checksum(ktlintSHA256)
441- algorithm(" SHA-256" )
442- this .dependsOn(ktlintDownload)
388+ val commandLineArguments: ArrayList <String > = arrayListOf (
389+ " java" ,
390+ " org.thepalaceproject.android.platform/DownloadVerify.java" ,
391+ " https://repo1.maven.org/maven2/com/pinterest/ktlint/$ktlintVersion /ktlint-$ktlintVersion -all.jar" ,
392+ palaceKtlintJarFile,
393+ " c704fbc28305bb472511a1e98a7e0b014aa13378a571b716bbcf9d99d59a5092" ,
394+ )
395+ return project.task(" KtlintDownload" , Exec ::class ) {
396+ commandLine = commandLineArguments
443397 }
444398}
445399
@@ -492,7 +446,6 @@ fun createKtlintFormatTask(project: Project): Task {
492446lateinit var ktlintDownloadTask: Task
493447
494448rootProject.afterEvaluate {
495- apply (plugin = " de.undercouch.download" )
496449 ktlintDownloadTask = createKtlintDownloadTask(this )
497450
498451 val enableKtlintChecks =
@@ -582,7 +535,9 @@ allprojects {
582535 */
583536
584537 tasks.withType< org.jetbrains.kotlin.gradle.tasks.KotlinCompile > {
585- kotlinOptions.jvmTarget = jdkBytecodeTarget.toString()
538+ compilerOptions {
539+ compilerOptions.jvmTarget.set(JvmTarget .fromTarget(jdkBytecodeTarget.toString()))
540+ }
586541 }
587542 java.sourceCompatibility = JavaVersion .toVersion(jdkBytecodeTarget)
588543 java.targetCompatibility = JavaVersion .toVersion(jdkBytecodeTarget)
@@ -638,7 +593,9 @@ allprojects {
638593 */
639594
640595 tasks.withType< org.jetbrains.kotlin.gradle.tasks.KotlinCompile > {
641- kotlinOptions.jvmTarget = jdkBytecodeTarget.toString()
596+ compilerOptions {
597+ compilerOptions.jvmTarget.set(JvmTarget .fromTarget(jdkBytecodeTarget.toString()))
598+ }
642599 }
643600 java.sourceCompatibility = JavaVersion .toVersion(jdkBytecodeTarget)
644601 java.targetCompatibility = JavaVersion .toVersion(jdkBytecodeTarget)
@@ -715,7 +672,9 @@ allprojects {
715672 */
716673
717674 tasks.withType< org.jetbrains.kotlin.gradle.tasks.KotlinCompile > {
718- kotlinOptions.jvmTarget = jdkBytecodeTarget.toString()
675+ compilerOptions {
676+ compilerOptions.jvmTarget.set(JvmTarget .fromTarget(jdkBytecodeTarget.toString()))
677+ }
719678 }
720679 java.sourceCompatibility = JavaVersion .toVersion(jdkBytecodeTarget)
721680 java.targetCompatibility = JavaVersion .toVersion(jdkBytecodeTarget)
@@ -828,6 +787,7 @@ allprojects {
828787 afterEvaluate {
829788 configurations.all {
830789 isTransitive = transitiveConfigurations.contains(name)
790+ // isTransitive = true
831791 // resolutionStrategy.failOnVersionConflict()
832792 }
833793 }
0 commit comments