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
29 changes: 29 additions & 0 deletions build.2.2.20.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
plugins {
kotlin("multiplatform") version "2.2.20" apply false
kotlin("plugin.compose") version "2.2.20" apply false
id("com.android.application") version "7.4.2" apply false
id("com.android.library") version "7.4.2" apply false
id("org.jetbrains.compose") version "1.7.3" apply false
id("com.google.devtools.ksp") version "2.2.20-2.0.4" apply false
}

buildscript {
repositories {
gradlePluginPortal()
google()
mavenCentral()

}
dependencies {
classpath(BuildPlugin.kotlin)
classpath(BuildPlugin.android)
}
}

allprojects {
repositories {
google()
mavenCentral()
}
}

1 change: 1 addition & 0 deletions buildSrc/src/main/java/KuiklyKotlinBuildVar.kt
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,7 @@ object Version {
"2.0.21-KBA-004" -> "2.0.21-1.0.27"
"2.0.21-KBA-010" -> "2.0.21-1.0.27"
"2.1.21" -> "2.1.21-2.0.1"
"2.2.20" -> "2.2.20-2.0.4"
else -> "${getKotlinVersion()}-2.0.1" // 默认版本
}
}
Expand Down
129 changes: 129 additions & 0 deletions compose/build.2.2.20.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
import org.jetbrains.kotlin.gradle.dsl.JvmDefaultMode
import org.jetbrains.kotlin.gradle.dsl.JvmTarget

plugins {
kotlin("multiplatform")
kotlin("native.cocoapods")
kotlin("plugin.compose")
id("com.android.library")
id("org.jetbrains.compose")
id("maven-publish")
signing
}

kotlin {
androidTarget {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_1_8)
jvmDefault.set(JvmDefaultMode.NO_COMPATIBILITY)
}
publishLibraryVariantsGroupedByFlavor = true
publishLibraryVariants("release")
}

iosX64()
iosArm64()
iosSimulatorArm64()
macosX64()
macosArm64()

js(IR) {
browser()
}

cocoapods {
summary = "Some description for the Shared Module"
homepage = "Link to the Shared Module homepage"
version = "1.0"
ios.deploymentTarget = "16.0"
framework {
baseName = "compose"
isStatic = true
}
}

compilerOptions {
optIn.add("kotlin.ExperimentalStdlibApi")
optIn.add("kotlinx.cinterop.ExperimentalForeignApi")
optIn.add("kotlin.experimental.ExperimentalNativeApi")
optIn.add("kotlin.contracts.ExperimentalContracts")
freeCompilerArgs.addAll(listOf("-Xinline-classes", "-Xcontext-receivers"))
freeCompilerArgs.addAll(
"-P",
"plugin:androidx.compose.compiler.plugins.kotlin:experimentalStrongSkipping=true"
)
}

sourceSets {
all {
languageSettings.optIn("kotlinx.cinterop.ExperimentalForeignApi")
}
commonMain.dependencies {
//put your multiplatform dependencies here
api(project(":core"))
api(compose.runtime)
api(compose.runtimeSaveable)
api("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1")
api("androidx.annotation:annotation:1.9.1")
api("org.jetbrains.kotlinx:atomicfu:0.25.0")
api("org.jetbrains.compose.collection-internal:collection:1.7.3")
implementation(project(":core-annotations"))
}

commonTest.dependencies {
// implementation(libs.kotlin.test)
}

// Android 特有源集中添加 ProfileInstaller 依赖
val androidMain by getting {
dependencies {
compileOnly(project(":core-render-android"))
implementation("androidx.profileinstaller:profileinstaller:1.3.1")
// 保留现有依赖...
}
}
}
}

group = MavenConfig.GROUP
version = Version.getCoreVersion()

// 配置Maven发布
publishing {
// publications.withType<MavenPublication> {
// artifactId = "compose"
// }

repositories {
val username = MavenConfig.getUsername(project)
val password = MavenConfig.getPassword(project)
if (username.isNotEmpty() && password.isNotEmpty()) {
maven {
credentials {
setUsername(username)
setPassword(password)
}
url = uri(MavenConfig.getRepoUrl(version as String))
}
} else {
mavenLocal()
}

publications.withType<MavenPublication>().configureEach {
pom.configureMavenCentralMetadata()
signPublicationIfKeyPresent(project)
}
}
}

android {
namespace = "com.tencent.kuikly.compose"
compileSdk = 30
defaultConfig {
minSdk = 21
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
}
82 changes: 82 additions & 0 deletions core-annotations/build.2.2.20.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
plugins {
kotlin("multiplatform")
kotlin("native.cocoapods")
id("com.android.library")
id("maven-publish")
signing
}

group = MavenConfig.GROUP
version = Version.getCoreVersion()

publishing {
repositories {
val username = MavenConfig.getUsername(project)
val password = MavenConfig.getPassword(project)
if (username.isNotEmpty() && password.isNotEmpty()) {
maven {
credentials {
setUsername(username)
setPassword(password)
}
url = uri(MavenConfig.getRepoUrl(version as String))
}
} else {
mavenLocal()
}
}

afterEvaluate {
publications.withType<MavenPublication>().configureEach {
pom.configureMavenCentralMetadata()
signPublicationIfKeyPresent(project)
}
// for mavenCentral verify
publications.named<MavenPublication>("jvm") {
artifact(emptyJavadocJar)
}
}
}

kotlin {
jvm()

androidTarget()

js(IR) {
browser()
}

iosArm64()
iosX64()
iosSimulatorArm64()
macosX64()
macosArm64()

// cocoapods {
// summary = "Some description for the Shared Module"
// homepage = "Link to the Shared Module homepage"
// ios.deploymentTarget = "14.1"
//// framework {
//// baseName = "core-annotations"
//// }
// }

sourceSets {
val commonMain by getting
}
}

android {
compileSdk = 32
namespace = "com.tencent.kuikly.core.annotations"
sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
defaultConfig {
minSdk = 21
targetSdk = 32
}
}

val emptyJavadocJar by tasks.registering(Jar::class) {
archiveClassifier.set("javadoc")
}
2 changes: 1 addition & 1 deletion core-ksp/build.2.1.21.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ kotlin {
val jvmMain by getting {
dependencies {
implementation(Dependencies.kotlinpoet)
implementation("com.google.devtools.ksp:symbol-processing-api:2.0.21-1.0.27")
implementation("com.google.devtools.ksp:symbol-processing-api:2.1.21-2.0.1")
implementation(project(":core-annotations"))
}
kotlin.srcDir("src/main/kotlin")
Expand Down
57 changes: 57 additions & 0 deletions core-ksp/build.2.2.20.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
plugins {
kotlin("multiplatform")
id("maven-publish")
signing
}

group = MavenConfig.GROUP
version = Version.getCoreVersion()

publishing {
repositories {
val username = MavenConfig.getUsername(project)
val password = MavenConfig.getPassword(project)
if (username.isNotEmpty() && password.isNotEmpty()) {
maven {
credentials {
setUsername(username)
setPassword(password)
}
url = uri(MavenConfig.getRepoUrl(version as String))
}
} else {
mavenLocal()
}
}

afterEvaluate {
publications.withType<MavenPublication>().configureEach {
pom.configureMavenCentralMetadata()
signPublicationIfKeyPresent(project)
}
publications.named<MavenPublication>("jvm") {
artifact(emptyJavadocJar)
}
}
}

kotlin {
jvm()

sourceSets {
val jvmMain by getting {
dependencies {
implementation(Dependencies.kotlinpoet)
implementation("com.google.devtools.ksp:symbol-processing-api:2.2.20-2.0.4")
implementation(project(":core-annotations"))
}
kotlin.srcDir("src/main/kotlin")
kotlin.srcDir("src/main/kotlin/impl")
resources.srcDir("src/main/resources")
}
}
}

val emptyJavadocJar by tasks.registering(Jar::class) {
archiveClassifier.set("javadoc")
}
Loading