Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build-system/conventions/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ dependencies {
}
implementation(libs.base.gradle.cacheFix)
implementation(libs.base.gradle.kotlin)
implementation(libs.base.gradle.paparazzi)
implementation(libs.base.gradle.detekt)
implementation(libs.base.gradle.spotless)
implementation(libs.base.gradle.nexusPublish)
Expand All @@ -21,6 +20,7 @@ dependencies {
implementation(libs.base.dokka)
implementation(libs.base.kotlin.serialization.json)
implementation(libs.base.kotlin.compiler.embeddable)
implementation(libs.base.kotlin.compose.compiler)
implementation("org.commonmark:commonmark:0.21.0")
implementation(libs.base.gradle.compose)
implementation(libs.base.gradle.mavenpublish)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,23 @@
import com.android.build.gradle.internal.api.BaseVariantOutputImpl
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import utils.versionInfo
import utils.withVersionCatalogs

plugins {
id("com.android.application")
id("org.jetbrains.kotlin.plugin.compose")
kotlin("multiplatform")
id("org.jetbrains.compose")
id("convention.detekt")
id("convention.spotless")
}

kotlin {
android {
androidTarget {
withVersionCatalogs {
compilations.all {
kotlinOptions {
jvmTarget = versions.global.jvmTarget.get()
this@androidTarget.compilerOptions {
jvmTarget.set(JvmTarget.fromTarget(versions.global.jvmTarget.get()))
}
}
}
Expand Down Expand Up @@ -47,12 +49,6 @@ android {
}
}

withVersionCatalogs {
composeOptions {
kotlinCompilerExtensionVersion = versions.androidX.compose.compiler.get()
}
}

signingConfigs {
create("release") {
if (System.getenv("KEY_STORE_FILE") != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ plugins {
id("com.android.library")
id("org.gradle.android.cache-fix")
id("convention.kotlin-java-version-sync")
id("org.jetbrains.kotlin.plugin.compose")
kotlin("multiplatform")
id("org.jetbrains.compose")
id("convention.detekt")
Expand All @@ -23,10 +24,6 @@ android {
buildFeatures {
compose = true
}

composeOptions {
kotlinCompilerExtensionVersion = versions.androidX.compose.compiler.get()
}
}

buildTypes {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import org.gradle.kotlin.dsl.kotlin

plugins {
id("org.jetbrains.kotlin.plugin.compose")
kotlin("multiplatform")
id("org.jetbrains.compose")
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ import com.android.build.api.dsl.CommonExtension
import com.android.build.api.dsl.LibraryExtension
import utils.withVersionCatalogs

plugins {
id("org.jetbrains.kotlin.plugin.compose")
}

val extension = app() ?: lib() ?: throwApplyException()
extension.configureCompose()

Expand All @@ -20,7 +24,6 @@ fun throwApplyException(): Nothing =

fun CommonExtension<*, *, *, *, *, *>.configureCompose() = withVersionCatalogs {
buildFeatures.compose = true
composeOptions.kotlinCompilerExtensionVersion = versions.androidX.compose.compiler.get()

dependencies {
// Эта зависимость в обязательном порядке нужна компилятору Compose по этому есть смысл
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KaptGenerateStubs
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import utils.withVersionCatalogs
Expand All @@ -6,16 +7,15 @@ description = "Синхронизация версий Java для Kotlin и Jav

withVersionCatalogs {
tasks.withType<KaptGenerateStubs>().configureEach {
kotlinOptions {
jvmTarget = versions.global.jvmTarget.get()
compilerOptions {
jvmTarget.set(JvmTarget.fromTarget(versions.global.jvmTarget.get()))
}
}

tasks.withType<KotlinCompile>().configureEach {
kotlinOptions {
jvmTarget = versions.global.jvmTarget.get()
freeCompilerArgs = freeCompilerArgs +
"-opt-in=kotlin.RequiresOptIn"
compilerOptions {
jvmTarget.set(JvmTarget.fromTarget(versions.global.jvmTarget.get()))
freeCompilerArgs.add("-opt-in=kotlin.RequiresOptIn")
}
}
tasks.withType<JavaCompile>().configureEach {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import com.vanniktech.maven.publish.SonatypeHost
import gradle.kotlin.dsl.accessors._8edd1b0c1852f0ac869e9c414c462ba9.mavenPublishing
import gradle.kotlin.dsl.accessors._8edd1b0c1852f0ac869e9c414c462ba9.publishing
import utils.findPropertyOrDefault
import utils.versionInfo
import org.gradle.api.publish.maven.tasks.PublishToMavenRepository
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,17 +56,6 @@ android {
tasks.withType<Test> {
maxHeapSize = "4096m"
}
kotlinOptions {
//comment following lines (freeCompilerArgs) to disable compose-metrics
freeCompilerArgs += listOf(
"-P",
"plugin:androidx.compose.compiler.plugins.kotlin:metricsDestination=" + project.buildDir.absolutePath + "/compose_metrics"
)
freeCompilerArgs += listOf(
"-P",
"plugin:androidx.compose.compiler.plugins.kotlin:reportsDestination=" + project.buildDir.absolutePath + "/compose_metrics"
)
}

signingConfigs {
create("release") {
Expand All @@ -91,6 +80,19 @@ android {
}
}

kotlin {
compilerOptions {
freeCompilerArgs.addAll(
listOf(
"-P",
"plugin:androidx.compose.compiler.plugins.kotlin:metricsDestination=${project.buildDir.absolutePath}/compose_metrics",
"-P",
"plugin:androidx.compose.compiler.plugins.kotlin:reportsDestination=${project.buildDir.absolutePath}/compose_metrics"
)
)
}
}

val APP_DISTRIBUTION_NAME = "sandbox-compose-app-release"

tasks.register("generateVersionDescription") {
Expand Down
2 changes: 1 addition & 1 deletion build-system/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Thu Feb 22 10:32:29 MSK 2024
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
14 changes: 6 additions & 8 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[versions]
global-gradle = "8.3.2"
global-gradle = "8.8.2"
global-jvmTarget = "1.8"
global-kotlin = "1.9.25"
global-kotlin = "2.1.10"
global-compileSdk = "35"
global-targetSdk = "35"
global-minSdk = "24"
Expand Down Expand Up @@ -30,16 +30,15 @@ androidX-recyclerView = "1.1.0"
test-espresso = "3.4.0"
test-jUnit = "4.13.2"
test-jUnitIntegration = "1.1.5"
test-mockk = "1.12.2"
test-paparazzi = "1.1.0"
test-mockk = "1.14.2"
test-robolectric = "4.10"
test-androidX-rules = "1.5.0"
test-androidX-runner = "1.5.2"
test-roborazzi = "1.44.0"
test-assertk = "0.28.1"

kotlinSerialization = "1.4.0"
kotlinKsp = "1.9.25-1.0.20"
kotlinKsp = "2.1.10-1.0.31"
kotlinPoet = "1.12.0"
kotlinCoroutines = "1.6.1"
glide = "4.16.0"
Expand All @@ -58,7 +57,7 @@ plugin-gradleNexusPublish = "1.3.0"
plugin-gradlePluginPublish = "1.2.1"
plugin-binary-compatibility-validator = "0.14.0"
plugin-compose-multiplatform = "1.7.3"
plugin-poko = "0.15.3"
plugin-poko = "0.18.0"
plugin-metalava = "0.3.5"

plugin-dokka = "1.8.20"
Expand Down Expand Up @@ -96,6 +95,7 @@ base-kotlin-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-seria
base-kotlin-poet = { module = "com.squareup:kotlinpoet", version.ref = "kotlinPoet"}
base-kotlin-poetKsp = { module = "com.squareup:kotlinpoet-ksp", version.ref = "kotlinPoet"}
base-kotlin-compiler-embeddable = { module = "org.jetbrains.kotlin:kotlin-compiler-embeddable", version.ref = "global-kotlin"}
base-kotlin-compose-compiler = { module = "org.jetbrains.kotlin:compose-compiler-gradle-plugin", version.ref = "global-kotlin" }
base-kotlin-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinCoroutines"}

base-staticAnalysis-ktlint = { module = "com.pinterest:ktlint", version.ref = "staticAnalysis-ktlint" }
Expand All @@ -122,7 +122,6 @@ base-test-ui-compose-uiTestManifest = { module = "androidx.compose.ui:ui-test-ma
base-gradle-android = { module = "com.android.tools.build:gradle", version.ref = "global-gradle" }
base-gradle-detekt = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin", version.ref = "staticAnalysis-detekt" }
base-gradle-kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "global-kotlin" }
base-gradle-paparazzi = { module = "app.cash.paparazzi:paparazzi-gradle-plugin", version.ref = "test-paparazzi" }
base-gradle-spotless= { module = "com.diffplug.spotless:spotless-plugin-gradle", version.ref = "staticAnalysis-spotless" }
base-gradle-cacheFix= { module = "org.gradle.android.cache-fix:org.gradle.android.cache-fix.gradle.plugin", version.ref = "plugin-androidCacheFix" }
base-gradle-nexusPublish= { module = "io.github.gradle-nexus:publish-plugin", version.ref = "plugin-gradleNexusPublish" }
Expand Down Expand Up @@ -156,7 +155,6 @@ kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "global-kotlin" }
kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "global-kotlin" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "global-kotlin" }
ksp = { id = "com.google.devtools.ksp", version.ref = "kotlinKsp" }
paparazzi = { id = "app.cash.paparazzi", version.ref = "test-paparazzi" }
jgp = { id = "java-gradle-plugin" }
android-cache-fix = { id = "org.gradle.android.cache-fix", version.ref= "plugin-androidCacheFix" }
gradleNexus-publish = { id = "io.github.gradle-nexus.publish-plugin", version.ref = "plugin-gradleNexusPublish" }
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Wed Feb 07 16:56:30 MSK 2024
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
2 changes: 0 additions & 2 deletions playground/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ plugins {
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.kotlin.jvm) apply false
alias(libs.plugins.android.cache.fix) apply false
alias(libs.plugins.paparazzi) apply false
}

buildscript {
Expand All @@ -29,7 +28,6 @@ buildscript {
classpath(libs.base.gradle.kotlin)
classpath(libs.base.gradle.detekt)
classpath(libs.base.gradle.spotless)
classpath(libs.base.gradle.paparazzi)
classpath(libs.base.gradle.cacheFix)
classpath(files("../build-system/libs/star-dimens.jar"))
}
Expand Down
2 changes: 1 addition & 1 deletion playground/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Mon Mar 04 17:09:42 MSK 2024
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
2 changes: 0 additions & 2 deletions sdds-core/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ plugins {
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.kotlin.jvm) apply false
alias(libs.plugins.android.cache.fix) apply false
alias(libs.plugins.paparazzi) apply false
alias(libs.plugins.gradlePluginPublish) apply false
alias(libs.plugins.ksp) apply false
}
Expand All @@ -27,7 +26,6 @@ buildscript {
classpath(libs.base.gradle.kotlin)
classpath(libs.base.gradle.detekt)
classpath(libs.base.gradle.spotless)
classpath(libs.base.gradle.paparazzi)
classpath(libs.base.gradle.cacheFix)
}
}
2 changes: 2 additions & 0 deletions sdds-core/docs/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
plugins {
id("convention.kotlin-lib")
}

group = "sdds-core"
2 changes: 1 addition & 1 deletion sdds-core/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Thu Feb 22 11:08:38 MSK 2024
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
20 changes: 11 additions & 9 deletions sdds-core/uikit-compose/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,25 @@ plugins {
id("convention.compose")
id("convention.auto-bump")
id("convention.dokka")
alias(libs.plugins.paparazzi)
alias(libs.plugins.binary.compatibility.validator)
}

group = "sdds-core"

android {
namespace = "com.sdds.compose.uikit"
}

kotlinOptions {
//comment following lines (freeCompilerArgs) to disable compose-metrics
freeCompilerArgs += listOf(
"-P",
"plugin:androidx.compose.compiler.plugins.kotlin:metricsDestination=" + project.buildDir.absolutePath + "/compose_metrics")
freeCompilerArgs += listOf(
"-P",
"plugin:androidx.compose.compiler.plugins.kotlin:reportsDestination=" + project.buildDir.absolutePath + "/compose_metrics")
kotlin {
compilerOptions {
freeCompilerArgs.addAll(
listOf(
"-P",
"plugin:androidx.compose.compiler.plugins.kotlin:metricsDestination=${project.buildDir.absolutePath}/compose_metrics",
"-P",
"plugin:androidx.compose.compiler.plugins.kotlin:reportsDestination=${project.buildDir.absolutePath}/compose_metrics"
)
)
}
}

Expand Down
1 change: 0 additions & 1 deletion sdds-core/uikit/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ plugins {
id("convention.maven-publish")
id("convention.auto-bump")
id("convention.dokka")
alias(libs.plugins.paparazzi)
alias(libs.plugins.binary.compatibility.validator)
}

Expand Down
Loading