Skip to content

Commit

Permalink
Release 1.0.0
Browse files Browse the repository at this point in the history
Kotlin 2.0.0 compatibility
  • Loading branch information
WojciechOsak committed May 26, 2024
1 parent 5e80c54 commit 1a57b61
Show file tree
Hide file tree
Showing 6 changed files with 147 additions and 135 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,6 @@ Pods/
*.jks
*yarn.lock
/lib/build
/sample/composeApp/build
/sample/composeApp/build
# Kotlin 2.0
.kotlin/
1 change: 1 addition & 0 deletions README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ Each view get as parameter day cell composable. Thanks to that your calendar can
|:---------------:|:--------------------:|
| 1.5.11 | 0.0.8-compose-1.5.11 |
| 1.6.1 | 0.0.9 |
| 1.6.10 | 1.0.0 |

---

Expand Down
5 changes: 3 additions & 2 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
plugins {
alias(libs.plugins.multiplatform).apply(false)
alias(libs.plugins.compose).apply(false)
alias(libs.plugins.multiplatform).apply(false)
alias(libs.plugins.compose.compiler).apply(false)
alias(libs.plugins.compose).apply(false)
alias(libs.plugins.android.application).apply(false)
alias(libs.plugins.android.library).apply(false)
alias(libs.plugins.ktlint).apply(false)
Expand Down
260 changes: 133 additions & 127 deletions calendar/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,148 +1,154 @@
import com.vanniktech.maven.publish.SonatypeHost
import org.jetbrains.compose.desktop.application.dsl.TargetFormat
import org.jetbrains.kotlin.gradle.dsl.JvmTarget

plugins {
alias(libs.plugins.multiplatform)
alias(libs.plugins.compose)
alias(libs.plugins.android.library)
alias(libs.plugins.ktlint)
id("com.vanniktech.maven.publish") version "0.27.0"
alias(libs.plugins.multiplatform)
alias(libs.plugins.compose.compiler)
alias(libs.plugins.compose)
alias(libs.plugins.android.library)
alias(libs.plugins.ktlint)
id("com.vanniktech.maven.publish") version "0.27.0"
}

mavenPublishing {
coordinates("io.github.wojciechosak", "calendar")
pom {
name.set("KMP Calendar")
description.set("Kotlin Compose Multiplatform UI library that simplifies usage of calendar views")
inceptionYear.set("2024")
url.set("https://github.com/wojciechosak/calendar/")
licenses {
license {
name.set("GPL-3.0 License")
url.set("https://www.gnu.org/licenses/gpl-3.0.en.html")
distribution.set("https://www.gnu.org/licenses/gpl-3.0.en.html")
}
}
developers {
developer {
id.set("wojciech.osak")
name.set("Wojciech Osak")
url.set("https://github.com/wojciechosak/")
}
}
scm {
url.set("https://github.com/wojciechosak/calendar/")
connection.set("scm:git:git://github.com/wojciechosak/calendar.git")
developerConnection.set("scm:git:ssh://[email protected]/wojciechosak/calendar.git")
}
}
publishToMavenCentral(SonatypeHost.S01)
signAllPublications()
coordinates("io.github.wojciechosak", "calendar")
pom {
name.set("KMP Calendar")
description.set("Kotlin Compose Multiplatform UI library that simplifies usage of calendar views")
inceptionYear.set("2024")
url.set("https://github.com/wojciechosak/calendar/")
licenses {
license {
name.set("GPL-3.0 License")
url.set("https://www.gnu.org/licenses/gpl-3.0.en.html")
distribution.set("https://www.gnu.org/licenses/gpl-3.0.en.html")
}
}
developers {
developer {
id.set("wojciech.osak")
name.set("Wojciech Osak")
url.set("https://github.com/wojciechosak/")
}
}
scm {
url.set("https://github.com/wojciechosak/calendar/")
connection.set("scm:git:git://github.com/wojciechosak/calendar.git")
developerConnection.set("scm:git:ssh://[email protected]/wojciechosak/calendar.git")
}
}
publishToMavenCentral(SonatypeHost.S01)
signAllPublications()
}

kotlin {
androidTarget {
compilations.all {
kotlinOptions {
jvmTarget = "1.8"
}
}
}

jvm()

js {
browser()
binaries.executable()
}

listOf(
iosX64(),
iosArm64(),
iosSimulatorArm64(),
).forEach {
it.binaries.framework {
baseName = "ComposeApp"
isStatic = false
}
}

sourceSets {
all {
languageSettings {
optIn("org.jetbrains.compose.resources.ExperimentalResourceApi")
}
}
commonMain.dependencies {
implementation(compose.runtime)
implementation(compose.material3)
implementation(compose.materialIconsExtended)
@OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
implementation(compose.components.resources)
implementation(libs.kotlinx.coroutines.core)
implementation(libs.composeIcons.featherIcons)
api(libs.kotlinx.datetime)
}

androidMain.dependencies {
implementation(libs.androidx.appcompat)
implementation(libs.androidx.activityCompose)
implementation(libs.compose.uitooling)
implementation(libs.kotlinx.coroutines.android)
}

jvmMain.dependencies {
implementation(compose.desktop.common)
implementation(compose.desktop.currentOs)
implementation(libs.kotlinx.coroutines.swing)
}

jsMain.dependencies {
implementation(compose.html.core)
}

iosMain.dependencies {
}
}
androidTarget {
compilations.all {
compileTaskProvider {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_1_8)
freeCompilerArgs.add("-Xjdk-release=${JavaVersion.VERSION_1_8}")
}
}
}
}

jvm()

js {
browser()
binaries.executable()
}

listOf(
iosX64(),
iosArm64(),
iosSimulatorArm64(),
).forEach {
it.binaries.framework {
baseName = "ComposeApp"
isStatic = false
}
}

sourceSets {
all {
languageSettings {
optIn("org.jetbrains.compose.resources.ExperimentalResourceApi")
}
}
commonMain.dependencies {
implementation(compose.runtime)
implementation(compose.material3)
implementation(compose.materialIconsExtended)
@OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
implementation(compose.components.resources)
implementation(libs.kotlinx.coroutines.core)
implementation(libs.composeIcons.featherIcons)
api(libs.kotlinx.datetime)
}

androidMain.dependencies {
implementation(libs.androidx.appcompat)
implementation(libs.androidx.activityCompose)
implementation(libs.compose.uitooling)
implementation(libs.kotlinx.coroutines.android)
}

jvmMain.dependencies {
implementation(compose.desktop.common)
implementation(compose.desktop.currentOs)
implementation(libs.kotlinx.coroutines.swing)
}

jsMain.dependencies {
implementation(compose.html.core)
}

iosMain.dependencies {
}
}
}


android {
namespace = "com.wojciechosak.calendar"
compileSdk = 34

defaultConfig {
minSdk = 24
}
sourceSets["main"].apply {
manifest.srcFile("src/androidMain/AndroidManifest.xml")
res.srcDirs("src/androidMain/resources")
resources.srcDirs("src/commonMain/resources")
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.4"
}
namespace = "com.wojciechosak.calendar"
compileSdk = 34

defaultConfig {
minSdk = 24
}
sourceSets["main"].apply {
manifest.srcFile("src/androidMain/AndroidManifest.xml")
res.srcDirs("src/androidMain/resources")
resources.srcDirs("src/commonMain/resources")
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.11"
}
}

compose.desktop {
application {
mainClass = "MainKt"

nativeDistributions {
targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
packageName = "com.wojciechosak.calendar.desktopApp"
packageVersion = "1.0.0"
}
}
application {
mainClass = "MainKt"

nativeDistributions {
targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
packageName = "com.wojciechosak.calendar.desktopApp"
packageVersion = "1.0.0"
}
}
}

compose.experimental {
web.application {}
web.application {}
}

11 changes: 6 additions & 5 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
[versions]

kotlin = "1.9.21"
compose = "1.6.1"
kotlin = "2.0.0"
agp = "8.2.2"
compose = "1.6.10"
androidx-appcompat = "1.6.1"
androidx-activityCompose = "1.8.2"
compose-uitooling = "1.6.4"
kotlinx-coroutines = "1.8.0"
androidx-activityCompose = "1.9.0"
compose-uitooling = "1.6.7"
kotlinx-coroutines = "1.8.1"
composeIcons = "1.1.0"
kotlinx-datetime = "0.5.0"
voyager = "1.0.0"
Expand All @@ -30,6 +30,7 @@ voyager-transitions = { module = "cafe.adriel.voyager:voyager-transitions", vers
[plugins]

multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
compose = { id = "org.jetbrains.compose", version.ref = "compose" }
android-application = { id = "com.android.application", version.ref = "agp" }
android-library = { id = "com.android.library", version.ref = "agp" }
Expand Down
1 change: 1 addition & 0 deletions sample/composeApp/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import org.jetbrains.compose.desktop.application.dsl.TargetFormat

plugins {
alias(libs.plugins.multiplatform)
alias(libs.plugins.compose.compiler)
alias(libs.plugins.compose)
alias(libs.plugins.android.application)
alias(libs.plugins.ktlint)
Expand Down

0 comments on commit 1a57b61

Please sign in to comment.