diff --git a/core/jvm/java9/module-info.java b/core/jvm/java9/module-info.java index 9ab8c5bb8..43124e7c2 100644 --- a/core/jvm/java9/module-info.java +++ b/core/jvm/java9/module-info.java @@ -1,6 +1,6 @@ module kotlinx.datetime { requires transitive kotlin.stdlib; - requires transitive static kotlinx.serialization.core; + requires static kotlinx.serialization.core; exports kotlinx.datetime; exports kotlinx.datetime.serializers; diff --git a/integration-testing/jpms-test/build.gradle.kts b/integration-testing/jpms-test/build.gradle.kts new file mode 100644 index 000000000..29d6acf86 --- /dev/null +++ b/integration-testing/jpms-test/build.gradle.kts @@ -0,0 +1,11 @@ +plugins { + kotlin("jvm") +} + +java { + toolchain { languageVersion.set(JavaLanguageVersion.of(11)) } +} + +dependencies { + api(project(":kotlinx-datetime")) +} diff --git a/integration-testing/jpms-test/src/main/java/module-info.java b/integration-testing/jpms-test/src/main/java/module-info.java new file mode 100644 index 000000000..bca55b70c --- /dev/null +++ b/integration-testing/jpms-test/src/main/java/module-info.java @@ -0,0 +1,4 @@ +module my.jpms.test { + requires transitive kotlin.stdlib; + requires transitive kotlinx.datetime; +} diff --git a/integration-testing/jpms-test/src/main/java/my/jpms/test/InitLocalDate.java b/integration-testing/jpms-test/src/main/java/my/jpms/test/InitLocalDate.java new file mode 100644 index 000000000..dc1bad5e5 --- /dev/null +++ b/integration-testing/jpms-test/src/main/java/my/jpms/test/InitLocalDate.java @@ -0,0 +1,14 @@ +/* + * Copyright 2019-2025 JetBrains s.r.o. and contributors. + * Use of this source code is governed by the Apache 2.0 License that can be found in the LICENSE.txt file. + */ + +package my.jpms.test; + +import kotlinx.datetime.*; + +public class InitLocalDate { + LocalDate newLocalDate() { + return new LocalDate(2025, 3, 31); + } +} diff --git a/js-with-timezones/build.gradle.kts b/integration-testing/js-with-timezones/build.gradle.kts similarity index 100% rename from js-with-timezones/build.gradle.kts rename to integration-testing/js-with-timezones/build.gradle.kts diff --git a/js-with-timezones/src/commonMain/kotlin/Main.kt b/integration-testing/js-with-timezones/src/commonMain/kotlin/Main.kt similarity index 100% rename from js-with-timezones/src/commonMain/kotlin/Main.kt rename to integration-testing/js-with-timezones/src/commonMain/kotlin/Main.kt diff --git a/js-with-timezones/src/jsMain/kotlin/JsJodaTimeZoneModule.kt b/integration-testing/js-with-timezones/src/jsMain/kotlin/JsJodaTimeZoneModule.kt similarity index 100% rename from js-with-timezones/src/jsMain/kotlin/JsJodaTimeZoneModule.kt rename to integration-testing/js-with-timezones/src/jsMain/kotlin/JsJodaTimeZoneModule.kt diff --git a/js-with-timezones/src/wasmJsMain/kotlin/JsJodaTimeZoneModule.kt b/integration-testing/js-with-timezones/src/wasmJsMain/kotlin/JsJodaTimeZoneModule.kt similarity index 100% rename from js-with-timezones/src/wasmJsMain/kotlin/JsJodaTimeZoneModule.kt rename to integration-testing/js-with-timezones/src/wasmJsMain/kotlin/JsJodaTimeZoneModule.kt diff --git a/js-without-timezones/build.gradle.kts b/integration-testing/js-without-timezones/build.gradle.kts similarity index 100% rename from js-without-timezones/build.gradle.kts rename to integration-testing/js-without-timezones/build.gradle.kts diff --git a/js-without-timezones/common/test/TimezonesWithoutDatabaseTest.kt b/integration-testing/js-without-timezones/common/test/TimezonesWithoutDatabaseTest.kt similarity index 100% rename from js-without-timezones/common/test/TimezonesWithoutDatabaseTest.kt rename to integration-testing/js-without-timezones/common/test/TimezonesWithoutDatabaseTest.kt diff --git a/serialization/build.gradle.kts b/integration-testing/serialization/build.gradle.kts similarity index 100% rename from serialization/build.gradle.kts rename to integration-testing/serialization/build.gradle.kts diff --git a/serialization/common/test/DateTimePeriodSerializationTest.kt b/integration-testing/serialization/common/test/DateTimePeriodSerializationTest.kt similarity index 100% rename from serialization/common/test/DateTimePeriodSerializationTest.kt rename to integration-testing/serialization/common/test/DateTimePeriodSerializationTest.kt diff --git a/serialization/common/test/DateTimeUnitSerializationTest.kt b/integration-testing/serialization/common/test/DateTimeUnitSerializationTest.kt similarity index 100% rename from serialization/common/test/DateTimeUnitSerializationTest.kt rename to integration-testing/serialization/common/test/DateTimeUnitSerializationTest.kt diff --git a/serialization/common/test/DayOfWeekSerializationTest.kt b/integration-testing/serialization/common/test/DayOfWeekSerializationTest.kt similarity index 100% rename from serialization/common/test/DayOfWeekSerializationTest.kt rename to integration-testing/serialization/common/test/DayOfWeekSerializationTest.kt diff --git a/serialization/common/test/InstantSerializationTest.kt b/integration-testing/serialization/common/test/InstantSerializationTest.kt similarity index 100% rename from serialization/common/test/InstantSerializationTest.kt rename to integration-testing/serialization/common/test/InstantSerializationTest.kt diff --git a/serialization/common/test/IntegrationTest.kt b/integration-testing/serialization/common/test/IntegrationTest.kt similarity index 100% rename from serialization/common/test/IntegrationTest.kt rename to integration-testing/serialization/common/test/IntegrationTest.kt diff --git a/serialization/common/test/LocalDateSerializationTest.kt b/integration-testing/serialization/common/test/LocalDateSerializationTest.kt similarity index 100% rename from serialization/common/test/LocalDateSerializationTest.kt rename to integration-testing/serialization/common/test/LocalDateSerializationTest.kt diff --git a/serialization/common/test/LocalDateTimeSerializationTest.kt b/integration-testing/serialization/common/test/LocalDateTimeSerializationTest.kt similarity index 100% rename from serialization/common/test/LocalDateTimeSerializationTest.kt rename to integration-testing/serialization/common/test/LocalDateTimeSerializationTest.kt diff --git a/serialization/common/test/LocalTimeSerializationTest.kt b/integration-testing/serialization/common/test/LocalTimeSerializationTest.kt similarity index 100% rename from serialization/common/test/LocalTimeSerializationTest.kt rename to integration-testing/serialization/common/test/LocalTimeSerializationTest.kt diff --git a/serialization/common/test/MonthSerializationTest.kt b/integration-testing/serialization/common/test/MonthSerializationTest.kt similarity index 100% rename from serialization/common/test/MonthSerializationTest.kt rename to integration-testing/serialization/common/test/MonthSerializationTest.kt diff --git a/serialization/common/test/TimeZoneSerializationTest.kt b/integration-testing/serialization/common/test/TimeZoneSerializationTest.kt similarity index 100% rename from serialization/common/test/TimeZoneSerializationTest.kt rename to integration-testing/serialization/common/test/TimeZoneSerializationTest.kt diff --git a/serialization/common/test/UtcOffsetSerializationTest.kt b/integration-testing/serialization/common/test/UtcOffsetSerializationTest.kt similarity index 100% rename from serialization/common/test/UtcOffsetSerializationTest.kt rename to integration-testing/serialization/common/test/UtcOffsetSerializationTest.kt diff --git a/serialization/js/test/JsJodaTimeZoneModule.kt b/integration-testing/serialization/js/test/JsJodaTimeZoneModule.kt similarity index 100% rename from serialization/js/test/JsJodaTimeZoneModule.kt rename to integration-testing/serialization/js/test/JsJodaTimeZoneModule.kt diff --git a/serialization/wasmJs/test/JsJodaTimeZoneModule.kt b/integration-testing/serialization/wasmJs/test/JsJodaTimeZoneModule.kt similarity index 100% rename from serialization/wasmJs/test/JsJodaTimeZoneModule.kt rename to integration-testing/serialization/wasmJs/test/JsJodaTimeZoneModule.kt diff --git a/settings.gradle.kts b/settings.gradle.kts index 28c526f29..bfe4aa188 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -20,10 +20,12 @@ include(":core") project(":core").name = "kotlinx-datetime" include(":timezones/full") project(":timezones/full").name = "kotlinx-datetime-zoneinfo" -include(":serialization") -project(":serialization").name = "kotlinx-datetime-serialization" -include(":js-without-timezones") -project(":js-without-timezones").name = "kotlinx-datetime-js-test-without-timezones" -include(":js-with-timezones") -project(":js-with-timezones").name = "kotlinx-datetime-js-test-with-timezones" +include(":integration-testing/serialization") +project(":integration-testing/serialization").name = "kotlinx-datetime-serialization" +include(":integration-testing/js-without-timezones") +project(":integration-testing/js-without-timezones").name = "kotlinx-datetime-js-test-without-timezones" +include(":integration-testing/js-with-timezones") +project(":integration-testing/js-with-timezones").name = "kotlinx-datetime-js-test-with-timezones" +include(":integration-testing/jpms-test") +project(":integration-testing/jpms-test").name = "kotlinx-datetime-test-with-jpms" include(":benchmarks")