diff --git a/CHANGELOG.md b/CHANGELOG.md index a32ab983e62..4691ac3a534 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## 0.20.12 +**It is experimental migration onto new gradle version. Be careful in use of this version** + +**This update have JDK 17 in `compatibility` and `target` versions** + ## 0.20.11 * `Versions`: diff --git a/defaultAndroidSettings.gradle b/defaultAndroidSettings.gradle index 80732cc9818..f2170660397 100644 --- a/defaultAndroidSettings.gradle +++ b/defaultAndroidSettings.gradle @@ -27,7 +27,7 @@ android { } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 72ed5ff4a6d..8945337b177 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,11 +1,10 @@ [versions] kt = "1.9.20" -#compose-kotlin = "1.5.10-beta02" kt-serialization = "1.6.0" kt-coroutines = "1.7.3" -kslog = "1.2.2" +kslog = "1.2.4" jb-compose = "1.5.10" jb-exposed = "0.44.1" @@ -27,13 +26,13 @@ kotlin-poet = "1.14.2" versions = "0.49.0" -android-gradle = "7.4.2" +android-gradle = "8.1.2" dexcount = "4.0.0" android-coreKtx = "1.12.0" android-recyclerView = "1.3.2" android-appCompat = "1.6.1" -android-fragment = "1.6.1" +android-fragment = "1.6.2" android-espresso = "3.5.1" android-test = "1.1.5" android-compose-material3 = "1.1.2" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 068cdb2dc26..e411586a54a 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/jvm.publish.gradle b/jvm.publish.gradle index 074de9bf513..844249e0f7a 100644 --- a/jvm.publish.gradle +++ b/jvm.publish.gradle @@ -2,11 +2,11 @@ apply plugin: 'maven-publish' task javadocJar(type: Jar) { from javadoc - classifier = 'javadoc' + archiveClassifier = 'javadoc' } task sourcesJar(type: Jar) { from sourceSets.main.allSource - classifier = 'sources' + archiveClassifier = 'sources' } publishing { @@ -115,4 +115,10 @@ if (project.hasProperty("signing.gnupg.keyName")) { dependsOn(it) } } + + // Workaround to make android sign operations depend on signing tasks + project.getTasks().withType(AbstractPublishToMaven.class).configureEach { + def signingTasks = project.getTasks().withType(Sign.class) + mustRunAfter(signingTasks) + } } diff --git a/koin/generator/build.gradle b/koin/generator/build.gradle index a2a030632d4..42e134bee77 100644 --- a/koin/generator/build.gradle +++ b/koin/generator/build.gradle @@ -15,6 +15,6 @@ dependencies { } java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } diff --git a/language_codes/generator/build.gradle b/language_codes/generator/build.gradle index 4b3027381f8..cee60da0a9f 100644 --- a/language_codes/generator/build.gradle +++ b/language_codes/generator/build.gradle @@ -26,6 +26,6 @@ dependencies { mainClassName="MainKt" java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } diff --git a/mppAndroidProject.gradle b/mppAndroidProject.gradle index f98ea63e24b..6424eee0639 100644 --- a/mppAndroidProject.gradle +++ b/mppAndroidProject.gradle @@ -6,6 +6,11 @@ apply from: "$publishGradlePath" kotlin { androidTarget { publishAllLibraryVariants() + compilations.all { + kotlinOptions { + jvmTarget = "17" + } + } } sourceSets { @@ -27,6 +32,6 @@ kotlin { apply from: "$defaultAndroidSettingsPresetPath" java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } diff --git a/mppJavaProject.gradle b/mppJavaProject.gradle index 4d2f2b6d5e4..d2d60ceaa28 100644 --- a/mppJavaProject.gradle +++ b/mppJavaProject.gradle @@ -7,7 +7,7 @@ kotlin { jvm { compilations.main { kotlinOptions { - jvmTarget = "1.8" + jvmTarget = "17" } } } @@ -35,6 +35,6 @@ kotlin { } java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } diff --git a/mppJvmJsAndroidLinuxMingwLinuxArm64Project.gradle b/mppJvmJsAndroidLinuxMingwLinuxArm64Project.gradle index 87411c4cb90..e94f8e848c3 100644 --- a/mppJvmJsAndroidLinuxMingwLinuxArm64Project.gradle +++ b/mppJvmJsAndroidLinuxMingwLinuxArm64Project.gradle @@ -7,7 +7,7 @@ kotlin { jvm { compilations.main { kotlinOptions { - jvmTarget = "1.8" + jvmTarget = "17" } } } @@ -17,6 +17,11 @@ kotlin { } androidTarget { publishAllLibraryVariants() + compilations.all { + kotlinOptions { + jvmTarget = "17" + } + } } linuxX64() mingwX64() @@ -61,6 +66,6 @@ kotlin { apply from: "$defaultAndroidSettingsPresetPath" java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } diff --git a/mppJvmJsAndroidProject.gradle b/mppJvmJsAndroidProject.gradle index 2907f5b0415..cf44b62ce38 100644 --- a/mppJvmJsAndroidProject.gradle +++ b/mppJvmJsAndroidProject.gradle @@ -7,7 +7,7 @@ kotlin { jvm { compilations.main { kotlinOptions { - jvmTarget = "1.8" + jvmTarget = "17" } } } @@ -17,6 +17,11 @@ kotlin { } androidTarget { publishAllLibraryVariants() + compilations.all { + kotlinOptions { + jvmTarget = "17" + } + } } linuxX64() mingwX64() @@ -71,6 +76,6 @@ kotlin { apply from: "$defaultAndroidSettingsPresetPath" java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } diff --git a/mppJvmJsLinuxMingwLinuxArm64Project.gradle b/mppJvmJsLinuxMingwLinuxArm64Project.gradle index 84159c1e5a5..b0cec0306a2 100644 --- a/mppJvmJsLinuxMingwLinuxArm64Project.gradle +++ b/mppJvmJsLinuxMingwLinuxArm64Project.gradle @@ -7,7 +7,7 @@ kotlin { jvm { compilations.main { kotlinOptions { - jvmTarget = "1.8" + jvmTarget = "17" } } } @@ -49,6 +49,6 @@ kotlin { } java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } diff --git a/mppJvmJsLinuxMingwProject.gradle b/mppJvmJsLinuxMingwProject.gradle index 345a091e672..bbefe2b5817 100644 --- a/mppJvmJsLinuxMingwProject.gradle +++ b/mppJvmJsLinuxMingwProject.gradle @@ -7,7 +7,7 @@ kotlin { jvm { compilations.main { kotlinOptions { - jvmTarget = "1.8" + jvmTarget = "17" } } } @@ -60,6 +60,6 @@ kotlin { } java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } diff --git a/mppProjectWithSerializationAndCompose.gradle b/mppProjectWithSerializationAndCompose.gradle index 7bafc1d7ca2..776cde94da1 100644 --- a/mppProjectWithSerializationAndCompose.gradle +++ b/mppProjectWithSerializationAndCompose.gradle @@ -7,7 +7,7 @@ kotlin { jvm { compilations.main { kotlinOptions { - jvmTarget = "1.8" + jvmTarget = "17" } } } @@ -17,6 +17,11 @@ kotlin { } androidTarget { publishAllLibraryVariants() + compilations.all { + kotlinOptions { + jvmTarget = "17" + } + } } sourceSets { @@ -70,8 +75,8 @@ kotlin { apply from: "$defaultAndroidSettingsPresetPath" java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } diff --git a/publish.gradle b/publish.gradle index d3300addb04..e64c130a57b 100644 --- a/publish.gradle +++ b/publish.gradle @@ -1,7 +1,7 @@ apply plugin: 'maven-publish' task javadocsJar(type: Jar) { - classifier = 'javadoc' + archiveClassifier = 'javadoc' } publishing { @@ -19,29 +19,29 @@ publishing { } developers { - + developer { id = "InsanusMokrassar" name = "Aleksei Ovsiannikov" email = "ovsyannikov.alexey95@gmail.com" } - + developer { id = "000Sanya" name = "Syrov Aleksandr" email = "000sanya.000sanya@gmail.com" } - + } licenses { - + license { name = "Apache Software License 2.0" url = "https://github.com/InsanusMokrassar/MicroUtils/blob/master/LICENSE" } - + } } repositories { @@ -49,57 +49,64 @@ publishing { maven { name = "GithubPackages" url = uri("https://maven.pkg.github.com/InsanusMokrassar/MicroUtils") - + credentials { username = project.hasProperty('GITHUBPACKAGES_USER') ? project.property('GITHUBPACKAGES_USER') : System.getenv('GITHUBPACKAGES_USER') password = project.hasProperty('GITHUBPACKAGES_PASSWORD') ? project.property('GITHUBPACKAGES_PASSWORD') : System.getenv('GITHUBPACKAGES_PASSWORD') } - + } } if (project.hasProperty('GITEA_TOKEN') || System.getenv('GITEA_TOKEN') != null) { maven { name = "Gitea" url = uri("https://git.inmo.dev/api/packages/InsanusMokrassar/maven") - + credentials(HttpHeaderCredentials) { name = "Authorization" value = project.hasProperty('GITEA_TOKEN') ? project.property('GITEA_TOKEN') : System.getenv('GITEA_TOKEN') } - + authentication { header(HttpHeaderAuthentication) } + } } if ((project.hasProperty('SONATYPE_USER') || System.getenv('SONATYPE_USER') != null) && (project.hasProperty('SONATYPE_PASSWORD') || System.getenv('SONATYPE_PASSWORD') != null)) { maven { name = "sonatype" url = uri("https://oss.sonatype.org/service/local/staging/deploy/maven2/") - + credentials { username = project.hasProperty('SONATYPE_USER') ? project.property('SONATYPE_USER') : System.getenv('SONATYPE_USER') password = project.hasProperty('SONATYPE_PASSWORD') ? project.property('SONATYPE_PASSWORD') : System.getenv('SONATYPE_PASSWORD') } - + } } } } } - + if (project.hasProperty("signing.gnupg.keyName")) { apply plugin: 'signing' - + signing { useGpgCmd() - + sign publishing.publications } - + task signAll { tasks.withType(Sign).forEach { dependsOn(it) } } + + // Workaround to make android sign operations depend on signing tasks + project.getTasks().withType(AbstractPublishToMaven.class).configureEach { + def signingTasks = project.getTasks().withType(Sign.class) + mustRunAfter(signingTasks) + } } diff --git a/repos/generator/build.gradle b/repos/generator/build.gradle index 5fe59f4c167..e6f9c5437e3 100644 --- a/repos/generator/build.gradle +++ b/repos/generator/build.gradle @@ -16,6 +16,6 @@ dependencies { } java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } diff --git a/settings.gradle b/settings.gradle index 2fe83ceb97b..2d20aa33d5d 100644 --- a/settings.gradle +++ b/settings.gradle @@ -59,5 +59,3 @@ includes.each { originalName -> project.name = projectName project.projectDir = new File(projectDirectory) } - -enableFeaturePreview("VERSION_CATALOGS") diff --git a/startup/launcher/build.gradle b/startup/launcher/build.gradle index ac47e384790..c62029fb900 100644 --- a/startup/launcher/build.gradle +++ b/startup/launcher/build.gradle @@ -28,8 +28,8 @@ application { } java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } dependencies {