Skip to content

Commit fce5741

Browse files
committed
Use the newest Kotlin
1 parent 71f156e commit fce5741

File tree

73 files changed

+380
-2594
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+380
-2594
lines changed

build.gradle.kts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
plugins {
2-
id("kotlinx.team.infra") version "0.4.0-dev-81"
2+
id("kotlinx.team.infra") version "0.4.0-dev-82"
33
kotlin("multiplatform") apply false
44
id("org.jetbrains.kotlinx.kover") version "0.8.0-Beta2"
55
id("org.jetbrains.kotlinx.binary-compatibility-validator") version "0.16.3"
@@ -25,6 +25,7 @@ allprojects {
2525
repositories {
2626
addTrainRepositories(project)
2727
mavenCentral()
28+
mavenLocal()
2829
}
2930
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().configureEach {
3031
// outputs the compiler version to logs so we can check whether the train configuration applied

buildSrc/build.gradle.kts

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ val Project.kotlinVersion: String
3030
}
3131

3232
repositories {
33+
mavenLocal()
3334
mavenCentral()
3435
gradlePluginPortal()
3536
addTrainRepositories(project)

core/api/kotlinx-datetime.api

+47-47
Large diffs are not rendered by default.

core/api/kotlinx-datetime.klib.api

+77-83
Large diffs are not rendered by default.

core/build.gradle.kts

+61-50
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import java.io.ByteArrayOutputStream
66
import java.io.PrintWriter
77
import org.jetbrains.dokka.gradle.AbstractDokkaLeafTask
88
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
9+
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
910
import org.jetbrains.kotlin.konan.target.Family
1011

1112
plugins {
@@ -32,57 +33,65 @@ java {
3233
toolchain { languageVersion.set(JavaLanguageVersion.of(mainJavaToolchainVersion)) }
3334
}
3435

35-
kotlin {
36-
explicitApi()
37-
38-
infra {
39-
common("tzfile") {
40-
// Tiers are in accordance with <https://kotlinlang.org/docs/native-target-support.html>
41-
common("tzdbOnFilesystem") {
42-
common("linux") {
43-
// Tier 1
44-
target("linuxX64")
45-
// Tier 2
46-
target("linuxArm64")
47-
// Tier 4 (deprecated, but still in demand)
48-
target("linuxArm32Hfp")
49-
}
50-
common("darwin") {
51-
common("darwinDevices") {
52-
// Tier 1
53-
target("macosX64")
54-
target("macosArm64")
55-
// Tier 2
56-
target("watchosX64")
57-
target("watchosArm32")
58-
target("watchosArm64")
59-
target("tvosX64")
60-
target("tvosArm64")
61-
target("iosArm64")
62-
// Tier 3
63-
target("watchosDeviceArm64")
64-
}
65-
common("darwinSimulator") {
66-
// Tier 1
67-
target("iosSimulatorArm64")
68-
target("iosX64")
69-
// Tier 2
70-
target("watchosSimulatorArm64")
71-
target("tvosSimulatorArm64")
72-
}
73-
}
36+
fun NamedDomainObjectContainer<KotlinSourceSet>.groupSourceSets(
37+
groupName: String,
38+
reverseDependencies: List<String>,
39+
dependencies: List<String>
40+
) {
41+
val sourceSetSuffixes = listOf("Main", "Test")
42+
for (suffix in sourceSetSuffixes) {
43+
register(groupName + suffix) {
44+
for (dep in dependencies) {
45+
dependsOn(get(dep + suffix))
7446
}
75-
common("androidNative") {
76-
target("androidNativeArm32")
77-
target("androidNativeArm64")
78-
target("androidNativeX86")
79-
target("androidNativeX64")
47+
for (revDep in reverseDependencies) {
48+
get(revDep + suffix).dependsOn(this)
8049
}
8150
}
82-
// Tier 3
83-
common("windows") {
84-
target("mingwX64")
85-
}
51+
}
52+
}
53+
54+
kotlin {
55+
explicitApi()
56+
57+
linuxX64()
58+
linuxArm64()
59+
@Suppress("DEPRECATION")
60+
linuxArm32Hfp()
61+
mingwX64()
62+
macosX64()
63+
macosArm64()
64+
iosX64()
65+
iosArm64()
66+
iosSimulatorArm64()
67+
watchosArm32()
68+
watchosArm64()
69+
watchosX64()
70+
watchosSimulatorArm64()
71+
watchosDeviceArm64()
72+
tvosArm64()
73+
tvosX64()
74+
tvosSimulatorArm64()
75+
androidNativeArm32()
76+
androidNativeArm64()
77+
androidNativeX86()
78+
androidNativeX64()
79+
80+
sourceSets {
81+
groupSourceSets("linux", listOf("linuxX64", "linuxArm64", "linuxArm32Hfp"), emptyList())
82+
groupSourceSets("darwinDevices",
83+
listOf("macosX64", "macosArm64", "watchosX64", "watchosArm32", "watchosArm64", "tvosX64", "tvosArm64", "iosArm64"),
84+
listOf()
85+
)
86+
groupSourceSets("darwinSimulator",
87+
listOf("iosSimulatorArm64", "iosX64", "watchosSimulatorArm64", "tvosSimulatorArm64"),
88+
listOf()
89+
)
90+
groupSourceSets("darwin", listOf("darwinDevices", "darwinSimulator"), emptyList())
91+
groupSourceSets("tzdbOnFilesystem", listOf("linux", "darwin"), emptyList())
92+
groupSourceSets("androidNative", listOf("androidNativeArm32", "androidNativeArm64", "androidNativeX86", "androidNativeX64"), listOf())
93+
groupSourceSets("tzfile", listOf("tzdbOnFilesystem", "androidNative"), listOf("native"))
94+
groupSourceSets("windows", listOf("mingwX64"), listOf("native"))
8695
}
8796

8897
jvm {
@@ -107,7 +116,6 @@ kotlin {
107116
kotlinOptions {
108117
sourceMap = true
109118
moduleKind = "umd"
110-
metaInfo = true
111119
}
112120
}
113121
// compilations["main"].apply {
@@ -165,7 +173,6 @@ kotlin {
165173
commonMain {
166174
dependencies {
167175
compileOnly("org.jetbrains.kotlinx:kotlinx-serialization-core:$serializationVersion")
168-
api(project(":fake-kotlinx-time"))
169176
}
170177
}
171178

@@ -248,6 +255,10 @@ kotlin {
248255
val darwinTest by getting {
249256
}
250257
}
258+
259+
compilerOptions {
260+
optIn.add("kotlin.time.ExperimentalTime")
261+
}
251262
}
252263

253264
tasks {

core/common/src/Clock.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
package kotlinx.datetime
99

1010
import kotlin.time.*
11-
import kotlinx.time.Clock
12-
import kotlinx.time.Instant
13-
import kotlinx.time.isDistantFuture
11+
import kotlin.time.Clock
12+
import kotlin.time.Instant
13+
import kotlin.time.isDistantFuture
1414
import kotlin.jvm.JvmMultifileClass
1515
import kotlin.jvm.JvmName
1616
import kotlin.time.Duration.Companion.seconds

core/common/src/DeprecatedClock.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import kotlin.time.TimeSource
2828
*/
2929
@Deprecated(
3030
"Use kotlin.time.Clock instead",
31-
ReplaceWith("kotlinx.time.Clock", "kotlinx.time.Clock"),
31+
ReplaceWith("kotlin.time.Clock", "kotlin.time.Clock"),
3232
level = DeprecationLevel.ERROR
3333
)
3434
public interface Clock {
@@ -65,7 +65,7 @@ public interface Clock {
6565
* @sample kotlinx.datetime.test.samples.ClockSamples.dependencyInjection
6666
*/
6767
public object System : Clock {
68-
override fun now(): Instant = kotlinx.time.Clock.System.now().toDeprecatedInstant()
68+
override fun now(): Instant = kotlin.time.Clock.System.now().toDeprecatedInstant()
6969
}
7070

7171
/** A companion object used purely for namespacing. */

core/common/src/DeprecatedInstant.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@ import kotlin.time.Duration
2323
import kotlin.time.Duration.Companion.days
2424
import kotlin.time.TimeSource
2525

26-
public fun Instant.toNewInstant(): kotlinx.time.Instant =
27-
kotlinx.time.Instant.fromEpochSeconds(epochSeconds, nanosecondsOfSecond)
26+
public fun Instant.toNewInstant(): kotlin.time.Instant =
27+
kotlin.time.Instant.fromEpochSeconds(epochSeconds, nanosecondsOfSecond)
2828

29-
public fun kotlinx.time.Instant.toDeprecatedInstant(): Instant =
29+
public fun kotlin.time.Instant.toDeprecatedInstant(): Instant =
3030
Instant.fromEpochSeconds(epochSeconds, nanosecondsOfSecond)
3131

3232
@Deprecated(
3333
"Use kotlin.time.Instant instead",
34-
ReplaceWith("kotlinx.time.Instant", "kotlinx.time.Instant"),
34+
ReplaceWith("kotlin.time.Instant", "kotlin.time.Instant"),
3535
level = DeprecationLevel.ERROR
3636
)
3737
@Serializable(with = InstantIso8601Serializer::class)

core/common/src/Instant.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ package kotlinx.datetime
1010
import kotlinx.datetime.format.*
1111
import kotlinx.datetime.internal.*
1212
import kotlin.time.*
13-
import kotlinx.time.Instant
13+
import kotlin.time.Instant
1414
import kotlin.jvm.JvmMultifileClass
1515
import kotlin.jvm.JvmName
1616

core/common/src/TimeZone.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ package kotlinx.datetime
1010

1111
import kotlinx.datetime.serializers.*
1212
import kotlinx.serialization.Serializable
13-
import kotlinx.time.Instant
13+
import kotlin.time.Instant
1414

1515
/**
1616
* A time zone, provides the conversion between [Instant] and [LocalDateTime] values

core/common/src/format/DateTimeComponents.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import kotlinx.datetime.internal.format.*
1212
import kotlinx.datetime.internal.format.parser.Copyable
1313
import kotlinx.datetime.internal.safeMultiply
1414
import kotlin.reflect.*
15-
import kotlinx.time.Instant
15+
import kotlin.time.Instant
1616

1717
/**
1818
* A collection of datetime fields used specifically for parsing and formatting.

core/common/test/ClockTimeSourceTest.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ import kotlin.time.*
1111
import kotlin.time.Duration.Companion.days
1212
import kotlin.time.Duration.Companion.nanoseconds
1313
import kotlin.time.Duration.Companion.seconds
14-
import kotlinx.time.Clock
15-
import kotlinx.time.Instant
14+
import kotlin.time.Clock
15+
import kotlin.time.Instant
1616

1717
@OptIn(ExperimentalTime::class)
1818
@Suppress("DEPRECATION")

core/common/test/DeprecatedClockTimeSourceTest.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ package kotlinx.datetime.test
88

99
import kotlinx.datetime.*
1010
import kotlin.test.*
11-
import kotlin.time.*
11+
import kotlin.time.ExperimentalTime
12+
import kotlin.time.Duration
1213
import kotlin.time.Duration.Companion.days
1314
import kotlin.time.Duration.Companion.nanoseconds
1415

core/common/test/DeprecatedInstantTest.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import kotlinx.datetime.format.*
1111
import kotlinx.datetime.internal.*
1212
import kotlin.random.*
1313
import kotlin.test.*
14-
import kotlin.time.*
14+
import kotlin.time.Duration
1515
import kotlin.time.Duration.Companion.days
1616
import kotlin.time.Duration.Companion.hours
1717
import kotlin.time.Duration.Companion.milliseconds

core/common/test/InstantTest.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ import kotlin.time.Duration.Companion.hours
1616
import kotlin.time.Duration.Companion.milliseconds
1717
import kotlin.time.Duration.Companion.nanoseconds
1818
import kotlin.time.Duration.Companion.seconds
19-
import kotlinx.time.Clock
20-
import kotlinx.time.Instant
21-
import kotlinx.time.isDistantFuture
22-
import kotlinx.time.isDistantPast
19+
import kotlin.time.Clock
20+
import kotlin.time.Instant
21+
import kotlin.time.isDistantFuture
22+
import kotlin.time.isDistantPast
2323

2424
class InstantTest {
2525

core/common/test/LocalDateTest.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ package kotlinx.datetime.test
77

88
import kotlinx.datetime.*
99
import kotlinx.datetime.internal.*
10-
import kotlinx.time.Clock
10+
import kotlin.time.Clock
1111
import kotlin.random.*
1212
import kotlin.test.*
1313

core/common/test/LocalDateTimeTest.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
package kotlinx.datetime.test
77

88
import kotlinx.datetime.*
9-
import kotlinx.time.Clock
10-
import kotlinx.time.Instant
9+
import kotlin.time.Clock
10+
import kotlin.time.Instant
1111
import kotlin.test.*
1212
import kotlin.time.*
1313
import kotlin.time.Duration.Companion.hours

core/common/test/ReadmeTest.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import kotlinx.datetime.*
99
import kotlinx.datetime.format.*
1010
import kotlin.test.*
1111
import kotlin.time.*
12-
import kotlinx.time.Clock
13-
import kotlinx.time.Instant
12+
import kotlin.time.Clock
13+
import kotlin.time.Instant
1414

1515
/**
1616
* Tests the code snippets in the README.md file.

core/common/test/TimeZoneTest.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
package kotlinx.datetime.test
1010
import kotlinx.datetime.*
1111
import kotlin.test.*
12-
import kotlinx.time.Clock
13-
import kotlinx.time.Instant
12+
import kotlin.time.Clock
13+
import kotlin.time.Instant
1414

1515
class TimeZoneTest {
1616

core/common/test/format/DateTimeComponentsFormatTest.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import kotlinx.datetime.format.*
1010
import kotlin.reflect.KMutableProperty1
1111
import kotlin.reflect.KProperty
1212
import kotlin.test.*
13-
import kotlinx.time.Instant
13+
import kotlin.time.Instant
1414

1515
class DateTimeComponentsFormatTest {
1616
@Test

core/common/test/format/DateTimeComponentsTest.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ package kotlinx.datetime.test.format
88
import kotlinx.datetime.*
99
import kotlinx.datetime.format.*
1010
import kotlin.test.*
11-
import kotlinx.time.Clock
11+
import kotlin.time.Clock
1212

1313
class DateTimeComponentsTest {
1414
@Test

core/common/test/samples/ClockSamples.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import kotlinx.datetime.*
99
import kotlin.test.*
1010
import kotlin.time.Duration.Companion.seconds
1111
import kotlin.time.TestTimeSource
12-
import kotlinx.time.Clock
13-
import kotlinx.time.Instant
12+
import kotlin.time.Clock
13+
import kotlin.time.Instant
1414

1515
class ClockSamples {
1616
@Test

core/common/test/samples/DayOfWeekSamples.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ package kotlinx.datetime.test.samples
77

88
import kotlinx.datetime.*
99
import kotlin.test.*
10-
import kotlinx.time.Clock
10+
import kotlin.time.Clock
1111

1212
class DayOfWeekSamples {
1313

core/common/test/samples/InstantSamples.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ import kotlinx.datetime.format.*
1010
import kotlin.random.*
1111
import kotlin.test.*
1212
import kotlin.time.Duration.Companion.hours
13-
import kotlinx.time.Clock
14-
import kotlinx.time.Instant
15-
import kotlinx.time.isDistantFuture
16-
import kotlinx.time.isDistantPast
13+
import kotlin.time.Clock
14+
import kotlin.time.Instant
15+
import kotlin.time.isDistantFuture
16+
import kotlin.time.isDistantPast
1717

1818
class InstantSamples {
1919

core/common/test/samples/MonthSamples.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ package kotlinx.datetime.test.samples
77

88
import kotlinx.datetime.*
99
import kotlin.test.*
10-
import kotlinx.time.Clock
10+
import kotlin.time.Clock
1111

1212
class MonthSamples {
1313

0 commit comments

Comments
 (0)