From dfc2824d7accd07bbf37d7863e2ebabf2d44569a Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Tue, 5 Nov 2019 11:26:42 +0600 Subject: [PATCH] now poject is multiplatform --- build.gradle | 2 +- core/build.gradle | 30 ++++++++++++------- .../postssystem/core/content/Content.kt | 0 .../core/content/api/ContentAPI.kt | 0 .../core/content/api/ReadContentAPI.kt | 0 .../core/content/api/WriteContentAPI.kt | 0 .../postssystem/core/post/Post.kt | 2 +- .../postssystem/core/post/api/PostsAPI.kt | 0 .../postssystem/core/post/api/ReadPostsAPI.kt | 2 +- .../core/post/api/WritePostsAPI.kt | 0 .../postssystem/core/utils/DateTimeUtils.kt | 2 +- .../postssystem/core/utils/IdUtils.kt | 3 +- .../core/utils/pagination/Pagination.kt | 0 .../core/utils/pagination/PaginationResult.kt | 0 .../core/utils/pagination/SimplePagination.kt | 0 .../core/api/InMemoryContentAPI.kt | 0 .../postssystem/core/api/InMemoryPostsAPI.kt | 0 .../postssystem/core/utils/generateId.kt | 5 ++++ gradle.properties | 2 +- 19 files changed, 30 insertions(+), 18 deletions(-) rename core/src/{main => commonMain}/kotlin/com/insanusmokrassar/postssystem/core/content/Content.kt (100%) rename core/src/{main => commonMain}/kotlin/com/insanusmokrassar/postssystem/core/content/api/ContentAPI.kt (100%) rename core/src/{main => commonMain}/kotlin/com/insanusmokrassar/postssystem/core/content/api/ReadContentAPI.kt (100%) rename core/src/{main => commonMain}/kotlin/com/insanusmokrassar/postssystem/core/content/api/WriteContentAPI.kt (100%) rename core/src/{main => commonMain}/kotlin/com/insanusmokrassar/postssystem/core/post/Post.kt (97%) rename core/src/{main => commonMain}/kotlin/com/insanusmokrassar/postssystem/core/post/api/PostsAPI.kt (100%) rename core/src/{main => commonMain}/kotlin/com/insanusmokrassar/postssystem/core/post/api/ReadPostsAPI.kt (97%) rename core/src/{main => commonMain}/kotlin/com/insanusmokrassar/postssystem/core/post/api/WritePostsAPI.kt (100%) rename core/src/{main => commonMain}/kotlin/com/insanusmokrassar/postssystem/core/utils/DateTimeUtils.kt (80%) rename core/src/{main => commonMain}/kotlin/com/insanusmokrassar/postssystem/core/utils/IdUtils.kt (79%) rename core/src/{main => commonMain}/kotlin/com/insanusmokrassar/postssystem/core/utils/pagination/Pagination.kt (100%) rename core/src/{main => commonMain}/kotlin/com/insanusmokrassar/postssystem/core/utils/pagination/PaginationResult.kt (100%) rename core/src/{main => commonMain}/kotlin/com/insanusmokrassar/postssystem/core/utils/pagination/SimplePagination.kt (100%) rename core/src/{test => commonMainTest}/kotlin/com/insanusmokrassar/postssystem/core/api/InMemoryContentAPI.kt (100%) rename core/src/{test => commonMainTest}/kotlin/com/insanusmokrassar/postssystem/core/api/InMemoryPostsAPI.kt (100%) create mode 100644 core/src/jvm8Main/kotlin/com/insanusmokrassar/postssystem/core/utils/generateId.kt diff --git a/build.gradle b/build.gradle index e03c8e22..ef4052ef 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,4 @@ -project.group = "com.insanusmokrassar" +project.group = "$project_public_group" buildscript { repositories { diff --git a/core/build.gradle b/core/build.gradle index 31910f9d..2c4cf230 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -15,9 +15,8 @@ buildscript { } } -apply plugin: 'java-library' -apply plugin: 'kotlin' apply plugin: 'kotlinx-serialization' +apply plugin: 'kotlin-multiplatform' repositories { mavenLocal() @@ -26,15 +25,24 @@ repositories { maven { url "https://kotlin.bintray.com/kotlinx" } } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" - api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version" - api "org.jetbrains.kotlinx:kotlinx-serialization-runtime:$kotlin_serialisation_runtime_version" - api "joda-time:joda-time:$joda_time_version" -} +kotlin { + jvm("jvm8") -compileKotlin { - kotlinOptions { - freeCompilerArgs = [ disableImplicitReflectionSerializerAnnotation ] + sourceSets { + commonMain { + dependencies { + implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" + api "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:$kotlin_coroutines_version" + api "org.jetbrains.kotlinx:kotlinx-serialization-runtime-common:$kotlin_serialisation_runtime_version" + + api "com.soywiz.korlibs.klock:klock:$klockVersion" + } + } + jvm8Main { + dependencies { + api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version" + api "org.jetbrains.kotlinx:kotlinx-serialization-runtime:$kotlin_serialisation_runtime_version" + } + } } } diff --git a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/content/Content.kt b/core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/content/Content.kt similarity index 100% rename from core/src/main/kotlin/com/insanusmokrassar/postssystem/core/content/Content.kt rename to core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/content/Content.kt diff --git a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/content/api/ContentAPI.kt b/core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/content/api/ContentAPI.kt similarity index 100% rename from core/src/main/kotlin/com/insanusmokrassar/postssystem/core/content/api/ContentAPI.kt rename to core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/content/api/ContentAPI.kt diff --git a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/content/api/ReadContentAPI.kt b/core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/content/api/ReadContentAPI.kt similarity index 100% rename from core/src/main/kotlin/com/insanusmokrassar/postssystem/core/content/api/ReadContentAPI.kt rename to core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/content/api/ReadContentAPI.kt diff --git a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/content/api/WriteContentAPI.kt b/core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/content/api/WriteContentAPI.kt similarity index 100% rename from core/src/main/kotlin/com/insanusmokrassar/postssystem/core/content/api/WriteContentAPI.kt rename to core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/content/api/WriteContentAPI.kt diff --git a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/post/Post.kt b/core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/post/Post.kt similarity index 97% rename from core/src/main/kotlin/com/insanusmokrassar/postssystem/core/post/Post.kt rename to core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/post/Post.kt index ad880f87..4a508f20 100644 --- a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/post/Post.kt +++ b/core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/post/Post.kt @@ -1,7 +1,7 @@ package com.insanusmokrassar.postssystem.core.post import com.insanusmokrassar.postssystem.core.content.ContentId -import org.joda.time.DateTime +import com.soywiz.klock.DateTime typealias PostId = String typealias ContentIds = List diff --git a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/post/api/PostsAPI.kt b/core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/post/api/PostsAPI.kt similarity index 100% rename from core/src/main/kotlin/com/insanusmokrassar/postssystem/core/post/api/PostsAPI.kt rename to core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/post/api/PostsAPI.kt diff --git a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/post/api/ReadPostsAPI.kt b/core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/post/api/ReadPostsAPI.kt similarity index 97% rename from core/src/main/kotlin/com/insanusmokrassar/postssystem/core/post/api/ReadPostsAPI.kt rename to core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/post/api/ReadPostsAPI.kt index e3b8fb2f..edf4ba76 100644 --- a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/post/api/ReadPostsAPI.kt +++ b/core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/post/api/ReadPostsAPI.kt @@ -7,7 +7,7 @@ import com.insanusmokrassar.postssystem.core.utils.MAX_DATE import com.insanusmokrassar.postssystem.core.utils.MIN_DATE import com.insanusmokrassar.postssystem.core.utils.pagination.Pagination import com.insanusmokrassar.postssystem.core.utils.pagination.PaginationResult -import org.joda.time.DateTime +import com.soywiz.klock.DateTime /** * Simple read API by different properties diff --git a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/post/api/WritePostsAPI.kt b/core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/post/api/WritePostsAPI.kt similarity index 100% rename from core/src/main/kotlin/com/insanusmokrassar/postssystem/core/post/api/WritePostsAPI.kt rename to core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/post/api/WritePostsAPI.kt diff --git a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/utils/DateTimeUtils.kt b/core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/utils/DateTimeUtils.kt similarity index 80% rename from core/src/main/kotlin/com/insanusmokrassar/postssystem/core/utils/DateTimeUtils.kt rename to core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/utils/DateTimeUtils.kt index ef04ada1..7a888a9e 100644 --- a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/utils/DateTimeUtils.kt +++ b/core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/utils/DateTimeUtils.kt @@ -1,6 +1,6 @@ package com.insanusmokrassar.postssystem.core.utils -import org.joda.time.DateTime +import com.soywiz.klock.DateTime internal val MIN_DATE = DateTime(0) internal val MAX_DATE = DateTime(Long.MAX_VALUE) diff --git a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/utils/IdUtils.kt b/core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/utils/IdUtils.kt similarity index 79% rename from core/src/main/kotlin/com/insanusmokrassar/postssystem/core/utils/IdUtils.kt rename to core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/utils/IdUtils.kt index 68c970ba..71d8f087 100644 --- a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/utils/IdUtils.kt +++ b/core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/utils/IdUtils.kt @@ -2,9 +2,8 @@ package com.insanusmokrassar.postssystem.core.utils import com.insanusmokrassar.postssystem.core.content.ContentId import com.insanusmokrassar.postssystem.core.post.PostId -import java.util.* -private fun generateId() = UUID.randomUUID().toString() +internal expect fun generateId(): String internal fun generatePostId(): PostId = generateId() internal fun generateContentId(): ContentId = generateId() diff --git a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/utils/pagination/Pagination.kt b/core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/utils/pagination/Pagination.kt similarity index 100% rename from core/src/main/kotlin/com/insanusmokrassar/postssystem/core/utils/pagination/Pagination.kt rename to core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/utils/pagination/Pagination.kt diff --git a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/utils/pagination/PaginationResult.kt b/core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/utils/pagination/PaginationResult.kt similarity index 100% rename from core/src/main/kotlin/com/insanusmokrassar/postssystem/core/utils/pagination/PaginationResult.kt rename to core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/utils/pagination/PaginationResult.kt diff --git a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/utils/pagination/SimplePagination.kt b/core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/utils/pagination/SimplePagination.kt similarity index 100% rename from core/src/main/kotlin/com/insanusmokrassar/postssystem/core/utils/pagination/SimplePagination.kt rename to core/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/utils/pagination/SimplePagination.kt diff --git a/core/src/test/kotlin/com/insanusmokrassar/postssystem/core/api/InMemoryContentAPI.kt b/core/src/commonMainTest/kotlin/com/insanusmokrassar/postssystem/core/api/InMemoryContentAPI.kt similarity index 100% rename from core/src/test/kotlin/com/insanusmokrassar/postssystem/core/api/InMemoryContentAPI.kt rename to core/src/commonMainTest/kotlin/com/insanusmokrassar/postssystem/core/api/InMemoryContentAPI.kt diff --git a/core/src/test/kotlin/com/insanusmokrassar/postssystem/core/api/InMemoryPostsAPI.kt b/core/src/commonMainTest/kotlin/com/insanusmokrassar/postssystem/core/api/InMemoryPostsAPI.kt similarity index 100% rename from core/src/test/kotlin/com/insanusmokrassar/postssystem/core/api/InMemoryPostsAPI.kt rename to core/src/commonMainTest/kotlin/com/insanusmokrassar/postssystem/core/api/InMemoryPostsAPI.kt diff --git a/core/src/jvm8Main/kotlin/com/insanusmokrassar/postssystem/core/utils/generateId.kt b/core/src/jvm8Main/kotlin/com/insanusmokrassar/postssystem/core/utils/generateId.kt new file mode 100644 index 00000000..31083323 --- /dev/null +++ b/core/src/jvm8Main/kotlin/com/insanusmokrassar/postssystem/core/utils/generateId.kt @@ -0,0 +1,5 @@ +package com.insanusmokrassar.postssystem.core.utils + +import java.util.* + +internal actual fun generateId(): String = UUID.randomUUID().toString() \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 77f0e982..9591bb70 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ kotlin_version=1.3.50 kotlin_coroutines_version=1.3.1 kotlin_serialisation_runtime_version=0.13.0 -joda_time_version=2.10.3 +klockVersion=1.7.3 gradle_bintray_plugin_version=1.8.4