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
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ bin/
### Mac OS ###
.DS_Store

### Xcode (per-user, machine-specific — should never be committed) ###
**/xcuserdata/
*.xcuserstate
DerivedData/

### Kotlin ###
.kotlin/

Expand Down Expand Up @@ -81,6 +86,7 @@ coverage/
/oldProject/
/clients/tablet/composeApp/google-services.json
/local.properties
/localQuickStart/.local-fake-credentials.json
/deploy/dev/.env
/deploy/dev/*.jar
/deploy/prod/.env
Expand Down
40 changes: 23 additions & 17 deletions build-logic/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -14,24 +14,30 @@ repositories {
}

dependencies {
implementation("org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:2.1.21")
implementation("org.springframework.boot:org.springframework.boot.gradle.plugin:3.5.0")
implementation("org.jetbrains.kotlin.plugin.spring:org.jetbrains.kotlin.plugin.spring.gradle.plugin:2.1.21")
implementation("org.jetbrains.kotlin.plugin.jpa:org.jetbrains.kotlin.plugin.jpa.gradle.plugin:2.1.21")
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:2.1.21")
implementation("org.jetbrains.kotlin:kotlin-allopen:2.1.21")
implementation("org.jetbrains.kotlin:kotlin-noarg:2.1.21")
implementation("org.springframework.boot:spring-boot-gradle-plugin:3.5.0")
implementation("io.spring.gradle:dependency-management-plugin:1.1.7")
val kotlinVersion = libs.versions.kotlin.get()
val springBootVersion = libs.versions.springBoot.get()
val springDepManagementVersion = libs.versions.springDependencyManagement.get()
val agpVersion = libs.versions.agp.get()
val composeGradlePluginVersion = libs.versions.compose.get()
val googleServicesVersion = libs.versions.googleServices.get()

implementation("org.jetbrains.kotlin.multiplatform:org.jetbrains.kotlin.multiplatform.gradle.plugin:2.1.21")
implementation("org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin:2.1.21")
implementation("org.jetbrains.kotlin.plugin.serialization:org.jetbrains.kotlin.plugin.serialization.gradle.plugin:2.1.21")
implementation("com.android.tools.build:gradle:8.9.1") {
implementation("org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:$kotlinVersion")
implementation("org.springframework.boot:org.springframework.boot.gradle.plugin:$springBootVersion")
implementation("org.jetbrains.kotlin.plugin.spring:org.jetbrains.kotlin.plugin.spring.gradle.plugin:$kotlinVersion")
implementation("org.jetbrains.kotlin.plugin.jpa:org.jetbrains.kotlin.plugin.jpa.gradle.plugin:$kotlinVersion")
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion")
implementation("org.jetbrains.kotlin:kotlin-allopen:$kotlinVersion")
implementation("org.jetbrains.kotlin:kotlin-noarg:$kotlinVersion")
implementation("org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion")
implementation("io.spring.gradle:dependency-management-plugin:$springDepManagementVersion")

implementation("org.jetbrains.kotlin.multiplatform:org.jetbrains.kotlin.multiplatform.gradle.plugin:$kotlinVersion")
implementation("org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin:$kotlinVersion")
implementation("org.jetbrains.kotlin.plugin.serialization:org.jetbrains.kotlin.plugin.serialization.gradle.plugin:$kotlinVersion")
implementation("com.android.tools.build:gradle:$agpVersion") {
exclude(group = "org.apache.commons", module = "commons-compress")
}
implementation("org.jetbrains.compose:org.jetbrains.compose.gradle.plugin:1.8.1")
implementation("com.google.gms:google-services:4.4.3")
implementation("org.jetbrains.kotlin.kapt:org.jetbrains.kotlin.kapt.gradle.plugin:2.1.21")

implementation("org.jetbrains.compose:org.jetbrains.compose.gradle.plugin:$composeGradlePluginVersion")
implementation("com.google.gms:google-services:$googleServicesVersion")
implementation("org.jetbrains.kotlin.kapt:org.jetbrains.kotlin.kapt.gradle.plugin:$kotlinVersion")
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ java {
}

tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = JavaVersion.VERSION_17.toString()
compilerOptions {
freeCompilerArgs.add("-Xjsr305=strict")
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ kotlin {
implementation(compose.components.uiToolingPreview)
implementation(libs.findLibrary("coil").get())
implementation(libs.findLibrary("coil.network.ktor").get())
api("com.mohamedrejeb.calf:calf-ui:0.8.0")
api(libs.findLibrary("calf-ui").get())
}

androidMain.dependencies {
Expand Down
14 changes: 11 additions & 3 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,17 @@ subprojects {
}

tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = JavaVersion.VERSION_17.toString()
compilerOptions {
freeCompilerArgs.add("-Xjsr305=strict")
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17)
}
}

// kotlinx-datetime 0.7.x is built on the still-experimental kotlin.time.Clock/Instant,
// so opt in project-wide for every Kotlin compilation (JVM, Android and Native).
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask<*>>().configureEach {
compilerOptions {
optIn.add("kotlin.time.ExperimentalTime")
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package band.effective.office.shared.core.utils

import kotlin.time.Duration
import kotlin.time.Duration.Companion.minutes
import kotlinx.datetime.Clock
import kotlin.time.Clock
import kotlinx.datetime.Instant
import kotlinx.datetime.LocalDate
import kotlinx.datetime.LocalDateTime
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,10 @@ import kotlinx.datetime.LocalDateTime
import kotlinx.datetime.toNSDateComponents
import platform.Foundation.NSCalendar
import platform.Foundation.NSDateFormatter
import platform.Foundation.NSLocale

actual fun LocalDateTime.toLocalisedString(pattern: String): String {
val dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = pattern
dateFormatter.locale = NSLocale.currentLocale

val calendar = NSCalendar.currentCalendar
val dateComponents = toNSDateComponents()
Expand Down
9 changes: 6 additions & 3 deletions clients/smsrouter/app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -41,15 +41,18 @@ android {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
buildFeatures {
compose = true
buildConfig = true
}
}

kotlin {
compilerOptions {
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17)
}
}

dependencies {
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.lifecycle.runtime.ktx)
Expand Down
20 changes: 11 additions & 9 deletions clients/tablet/composeApp/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties

plugins {
id("org.jetbrains.kotlin.multiplatform")
id("org.jetbrains.kotlin.plugin.compose") version "2.1.21"
id("org.jetbrains.compose")
id("com.android.application")
id("org.jetbrains.kotlin.plugin.serialization") version "2.1.21"
alias(libs.plugins.multiplatform)
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.compose)
alias(libs.plugins.android.application)
alias(libs.plugins.kotlinx.serialization)
alias(libs.plugins.buildkonfig)
id("com.google.gms.google-services") version "4.4.3"
alias(libs.plugins.google.services)
id("sign-config")
}

Expand All @@ -27,10 +27,12 @@ kotlin {
export(libs.decompose.compose.jetbrains)
export(libs.essenty.lifecycle)

export("com.mohamedrejeb.calf:calf-ui:0.8.0")
export(libs.calf.ui)
}
it.compilations.all {
kotlinOptions.freeCompilerArgs += "-Xdisable-decompose-parcelize"
compileTaskProvider.configure {
compilerOptions.freeCompilerArgs.add("-Xdisable-decompose-parcelize")
}
}

}
Expand All @@ -45,7 +47,7 @@ kotlin {

api(libs.decompose)
api(libs.decompose.compose.jetbrains)
api("com.mohamedrejeb.calf:calf-ui:0.8.0")
api(libs.calf.ui)
api(libs.kotlinx.datetime)

implementation(libs.kotlin.coroutines.core)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import android.content.IntentFilter
import android.util.Log
import band.effective.office.tablet.feature.main.domain.CurrentTimeHolder
import kotlinx.coroutines.flow.StateFlow
import kotlinx.datetime.Clock
import kotlin.time.Clock
import kotlinx.datetime.LocalDateTime
import kotlinx.datetime.TimeZone
import kotlinx.datetime.toLocalDateTime
Expand Down
6 changes: 6 additions & 0 deletions clients/tablet/composeApp/src/debug/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Debug-only overlay: allow plaintext HTTP so the debug build can reach the
local backend at http://10.0.2.2:8080 from the Android emulator. -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application android:usesCleartextTraffic="true" />
</manifest>
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package band.effective.office.tablet.time

import band.effective.office.tablet.feature.main.domain.CurrentTimeHolder
import kotlinx.coroutines.flow.StateFlow
import kotlinx.datetime.Clock
import kotlin.time.Clock
import kotlinx.datetime.LocalDateTime
import kotlinx.datetime.TimeZone
import kotlinx.datetime.toLocalDateTime
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package band.effective.office.tablet.core.domain.model

import kotlinx.datetime.Clock
import kotlin.time.Clock
import kotlinx.datetime.DatePeriod
import kotlinx.datetime.LocalDateTime
import kotlinx.datetime.LocalTime
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import band.effective.office.shared.core.domain.map
import band.effective.office.tablet.core.domain.model.RoomInfo
import band.effective.office.shared.core.domain.unbox
import kotlin.collections.filter
import kotlinx.datetime.Clock
import kotlin.time.Clock
import kotlinx.coroutines.flow.map
import kotlinx.datetime.TimeZone
import kotlinx.datetime.toInstant
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import band.effective.office.shared.core.utils.currentInstant
import kotlin.math.absoluteValue
import kotlin.time.Duration
import kotlin.time.Duration.Companion.minutes
import kotlinx.datetime.Clock
import kotlin.time.Clock
import kotlinx.datetime.Instant
import kotlinx.datetime.TimeZone
import kotlinx.datetime.toInstant
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@ package band.effective.office.tablet.core.ui.utils

import platform.Foundation.NSLocale
import platform.Foundation.currentLocale
import platform.Foundation.languageCode

actual fun getCurrentLanguageCode(): String = NSLocale.currentLocale.languageCode
actual fun getCurrentLanguageCode(): String = NSLocale.currentLocale.languageCode ?: "en"
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.update
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import kotlinx.datetime.Clock
import kotlin.time.Clock
import kotlinx.datetime.LocalDateTime
import kotlinx.datetime.TimeZone
import kotlinx.datetime.toLocalDateTime
Expand Down
3 changes: 1 addition & 2 deletions clients/tablet/feature/main/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ kotlin {
sourceSets {
commonMain.dependencies {
implementation(project(":clients:tablet:feature:slot"))
implementation("org.jetbrains.compose.components:components-ui-tooling-preview:1.10.0")

implementation(compose.components.uiToolingPreview)
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import band.effective.office.tablet.core.domain.model.nextEvent
import band.effective.office.tablet.core.ui.theme.AppTheme
import band.effective.office.tablet.feature.main.components.uiComponent.BusyRoomInfoComponent
import band.effective.office.tablet.feature.main.components.uiComponent.FreeRoomInfoComponent
import kotlinx.datetime.Clock
import kotlin.time.Clock
import kotlinx.datetime.DatePeriod
import kotlinx.datetime.LocalDateTime
import kotlinx.datetime.LocalTime
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package band.effective.office.tablet.feature.main.domain
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.datetime.Clock
import kotlin.time.Clock
import kotlinx.datetime.LocalDateTime
import kotlinx.datetime.TimeZone
import kotlinx.datetime.toLocalDateTime
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package band.effective.office.tablet.feature.main.domain

import band.effective.office.tablet.core.domain.model.RoomInfo
import band.effective.office.tablet.core.domain.model.nextEvent
import kotlinx.datetime.Clock
import kotlin.time.Clock
import kotlinx.datetime.TimeZone
import kotlinx.datetime.toInstant

Expand Down
2 changes: 1 addition & 1 deletion clients/tv/composeApp/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties

plugins {
alias(libs.plugins.multiplatform)
id("org.jetbrains.kotlin.plugin.compose") version "2.1.21"
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.compose)
alias(libs.plugins.android.application)
alias(libs.plugins.kotlinx.serialization)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import androidx.compose.ui.input.key.onKeyEvent
import androidx.compose.ui.input.key.type
import band.effective.office.tv.core.ui.theme.LocalTvColorsPalette
import band.effective.office.tv.core.ui.theme.LocalTvShapes
import kotlinx.datetime.Clock
import kotlin.time.Clock
import kotlinx.coroutines.delay

private const val AUTO_CLICK_DELAY_MS = 15000L // 15 seconds
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package band.effective.office.tv.feature.stories.domain.service

import kotlinx.datetime.Clock
import kotlin.time.Clock
import kotlinx.datetime.DateTimeUnit
import kotlinx.datetime.LocalDate
import kotlinx.datetime.LocalDateTime
Expand Down
Loading