From 7cfa3ff4f2a463c4948f5f4de5fdd5946c861ff9 Mon Sep 17 00:00:00 2001 From: Neo Date: Wed, 7 Apr 2021 17:59:23 +0800 Subject: [PATCH 1/6] upgrade gradle version : Android Studio 4.2.X default use --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e398161..0d563e8 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ #Sun May 03 03:53:49 BST 2020 -distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.2-bin.zip distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStorePath=wrapper/dists From d93461e932af91b7537595c7106ea02c73991a20 Mon Sep 17 00:00:00 2001 From: Neo Date: Wed, 7 Apr 2021 18:04:41 +0800 Subject: [PATCH 2/6] try modify use JB Compose - Compose for Desktop, by JetBrains https://github.com/JetBrains/compose-jb --- build.gradle | 16 +++++++++++++++- settings.gradle | 18 ++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 7503f0d..c526198 100644 --- a/build.gradle +++ b/build.gradle @@ -19,8 +19,22 @@ allprojects { google() mavenCentral() jcenter() + gradlePluginPortal() + maven { url "https://dl.bintray.com/kotlin/kotlin-eap" } + //JB_Kotlin_Multiplatform maven { - url "https://dl.bintray.com/kotlin/kotlin-eap/" + url "https://plugins.gradle.org/m2/" + } + + maven { + url = "https://dl.bintray.com/kotlin/kotlin-eap" + } + maven { + url = "https://dl.bintray.com/kotlin/kotlin-dev" + } + //JB_Compose + maven { + url = "https://maven.pkg.jetbrains.space/public/p/compose/dev" } } diff --git a/settings.gradle b/settings.gradle index d64f047..73e19d2 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,7 +1,25 @@ pluginManagement { repositories { + google() + mavenCentral() + jcenter() gradlePluginPortal() maven { url "https://dl.bintray.com/kotlin/kotlin-eap" } + //JB_Kotlin_Multiplatform + maven { + url "https://plugins.gradle.org/m2/" + } + + maven { + url = "https://dl.bintray.com/kotlin/kotlin-eap" + } + maven { + url = "https://dl.bintray.com/kotlin/kotlin-dev" + } + //JB_Compose + maven { + url = "https://maven.pkg.jetbrains.space/public/p/compose/dev" + } } } From f64f96676466716a1d03c4b92fbe9349da30c876 Mon Sep 17 00:00:00 2001 From: Neo Date: Wed, 7 Apr 2021 18:14:00 +0800 Subject: [PATCH 3/6] re-location folder like JB Compose Todo Demo https://github.com/JetBrains/compose-jb/tree/master/examples/todoapp --- .../compose-wrapper}/build.gradle | 0 .../compose-wrapper}/built/compose-wrapper-jvm.jar | Bin .../jvmMain/kotlin/androidx/compose/ActualServer.kt | 0 .../kotlin/androidx/compose/dispatch/ActualClock.kt | 0 {integration => common/integration}/build.gradle | 6 +++--- .../integration}/src/clientMain/kotlin/main.kt | 0 .../src/clientMain/resources/index.html | 0 .../integration}/src/clientMain/resources/style.css | 0 .../src/serverMain/kotlin/MainServer.kt | 0 .../src/serverMain/kotlin/compose/ComposeApp.kt | 0 .../src/serverMain/kotlin/compose/Theme.kt | 0 .../kotlin/compose/components/InputState.kt | 0 .../serverMain/kotlin/compose/components/Sidebar.kt | 0 .../kotlin/compose/components/ThemeSwitcher.kt | 0 .../src/serverMain/kotlin/compose/screens/Chat.kt | 0 .../src/serverMain/kotlin/compose/screens/Main.kt | 0 .../src/serverMain/kotlin/compose/screens/Todos.kt | 0 {protocol => common/protocol}/build.gradle | 0 .../src/commonMain/kotlin/me/shika/ClientEvent.kt | 0 .../src/commonMain/kotlin/me/shika/RenderCommand.kt | 0 settings.gradle | 10 +++++----- {client => web/client}/build.gradle | 2 +- .../src/jsMain/kotlin/me.shika/ComposeContent.kt | 0 .../src/jsMain/kotlin/me.shika/EventDispatcher.kt | 0 .../src/jsMain/kotlin/me.shika/EventRegistry.kt | 0 .../src/jsMain/kotlin/me.shika/NodeUpdater.kt | 0 .../src/jsMain/kotlin/me.shika/UpdateHandler.kt | 0 {server => web/server}/build.gradle | 2 +- .../server}/src/main/kotlin/me/shika/KtorFeature.kt | 0 .../src/main/kotlin/me/shika/compose/Composables.kt | 0 .../src/main/kotlin/me/shika/compose/Flex.kt | 0 .../me/shika/compose/RenderCommandDispatcher.kt | 0 .../main/kotlin/me/shika/compose/core/HtmlNode.kt | 0 .../main/kotlin/me/shika/compose/core/Modifier.kt | 0 .../kotlin/me/shika/compose/core/NodeComposables.kt | 0 .../me/shika/compose/core/ServerApplyAdapter.kt | 0 .../src/main/kotlin/me/shika/compose/event/Event.kt | 0 .../kotlin/me/shika/compose/event/EventProcessor.kt | 0 .../kotlin/me/shika/compose/values/Attribute.kt | 0 .../main/kotlin/me/shika/compose/values/Property.kt | 0 .../main/kotlin/me/shika/compose/values/Style.kt | 0 41 files changed, 10 insertions(+), 10 deletions(-) rename {compose-wrapper => common/compose-wrapper}/build.gradle (100%) rename {compose-wrapper => common/compose-wrapper}/built/compose-wrapper-jvm.jar (100%) rename {compose-wrapper => common/compose-wrapper}/src/jvmMain/kotlin/androidx/compose/ActualServer.kt (100%) rename {compose-wrapper => common/compose-wrapper}/src/jvmMain/kotlin/androidx/compose/dispatch/ActualClock.kt (100%) rename {integration => common/integration}/build.gradle (91%) rename {integration => common/integration}/src/clientMain/kotlin/main.kt (100%) rename {integration => common/integration}/src/clientMain/resources/index.html (100%) rename {integration => common/integration}/src/clientMain/resources/style.css (100%) rename {integration => common/integration}/src/serverMain/kotlin/MainServer.kt (100%) rename {integration => common/integration}/src/serverMain/kotlin/compose/ComposeApp.kt (100%) rename {integration => common/integration}/src/serverMain/kotlin/compose/Theme.kt (100%) rename {integration => common/integration}/src/serverMain/kotlin/compose/components/InputState.kt (100%) rename {integration => common/integration}/src/serverMain/kotlin/compose/components/Sidebar.kt (100%) rename {integration => common/integration}/src/serverMain/kotlin/compose/components/ThemeSwitcher.kt (100%) rename {integration => common/integration}/src/serverMain/kotlin/compose/screens/Chat.kt (100%) rename {integration => common/integration}/src/serverMain/kotlin/compose/screens/Main.kt (100%) rename {integration => common/integration}/src/serverMain/kotlin/compose/screens/Todos.kt (100%) rename {protocol => common/protocol}/build.gradle (100%) rename {protocol => common/protocol}/src/commonMain/kotlin/me/shika/ClientEvent.kt (100%) rename {protocol => common/protocol}/src/commonMain/kotlin/me/shika/RenderCommand.kt (100%) rename {client => web/client}/build.gradle (87%) rename {client => web/client}/src/jsMain/kotlin/me.shika/ComposeContent.kt (100%) rename {client => web/client}/src/jsMain/kotlin/me.shika/EventDispatcher.kt (100%) rename {client => web/client}/src/jsMain/kotlin/me.shika/EventRegistry.kt (100%) rename {client => web/client}/src/jsMain/kotlin/me.shika/NodeUpdater.kt (100%) rename {client => web/client}/src/jsMain/kotlin/me.shika/UpdateHandler.kt (100%) rename {server => web/server}/build.gradle (95%) rename {server => web/server}/src/main/kotlin/me/shika/KtorFeature.kt (100%) rename {server => web/server}/src/main/kotlin/me/shika/compose/Composables.kt (100%) rename {server => web/server}/src/main/kotlin/me/shika/compose/Flex.kt (100%) rename {server => web/server}/src/main/kotlin/me/shika/compose/RenderCommandDispatcher.kt (100%) rename {server => web/server}/src/main/kotlin/me/shika/compose/core/HtmlNode.kt (100%) rename {server => web/server}/src/main/kotlin/me/shika/compose/core/Modifier.kt (100%) rename {server => web/server}/src/main/kotlin/me/shika/compose/core/NodeComposables.kt (100%) rename {server => web/server}/src/main/kotlin/me/shika/compose/core/ServerApplyAdapter.kt (100%) rename {server => web/server}/src/main/kotlin/me/shika/compose/event/Event.kt (100%) rename {server => web/server}/src/main/kotlin/me/shika/compose/event/EventProcessor.kt (100%) rename {server => web/server}/src/main/kotlin/me/shika/compose/values/Attribute.kt (100%) rename {server => web/server}/src/main/kotlin/me/shika/compose/values/Property.kt (100%) rename {server => web/server}/src/main/kotlin/me/shika/compose/values/Style.kt (100%) diff --git a/compose-wrapper/build.gradle b/common/compose-wrapper/build.gradle similarity index 100% rename from compose-wrapper/build.gradle rename to common/compose-wrapper/build.gradle diff --git a/compose-wrapper/built/compose-wrapper-jvm.jar b/common/compose-wrapper/built/compose-wrapper-jvm.jar similarity index 100% rename from compose-wrapper/built/compose-wrapper-jvm.jar rename to common/compose-wrapper/built/compose-wrapper-jvm.jar diff --git a/compose-wrapper/src/jvmMain/kotlin/androidx/compose/ActualServer.kt b/common/compose-wrapper/src/jvmMain/kotlin/androidx/compose/ActualServer.kt similarity index 100% rename from compose-wrapper/src/jvmMain/kotlin/androidx/compose/ActualServer.kt rename to common/compose-wrapper/src/jvmMain/kotlin/androidx/compose/ActualServer.kt diff --git a/compose-wrapper/src/jvmMain/kotlin/androidx/compose/dispatch/ActualClock.kt b/common/compose-wrapper/src/jvmMain/kotlin/androidx/compose/dispatch/ActualClock.kt similarity index 100% rename from compose-wrapper/src/jvmMain/kotlin/androidx/compose/dispatch/ActualClock.kt rename to common/compose-wrapper/src/jvmMain/kotlin/androidx/compose/dispatch/ActualClock.kt diff --git a/integration/build.gradle b/common/integration/build.gradle similarity index 91% rename from integration/build.gradle rename to common/integration/build.gradle index ed7407f..45edf2f 100644 --- a/integration/build.gradle +++ b/common/integration/build.gradle @@ -41,13 +41,13 @@ kotlin { clientMain { dependencies { implementation kotlin('stdlib-js') - implementation project(':client') + implementation project(':web:client') } } serverMain { dependencies { implementation kotlin('stdlib-jdk8') - implementation project(':server') + implementation project(':web:server') implementation fileTree("../compose-wrapper/built/") implementation "org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:0.3" @@ -64,7 +64,7 @@ kotlin { task copyServerLibs(type: Copy) { into "$buildDir/server" from(configurations.serverRuntimeClasspath) - from(project(':compose-wrapper').configurations.jvmRuntimeClasspath) + from(project(':common:compose-wrapper').configurations.jvmRuntimeClasspath) } task stage(dependsOn: ['assemble', 'clean', 'copyServerLibs']) diff --git a/integration/src/clientMain/kotlin/main.kt b/common/integration/src/clientMain/kotlin/main.kt similarity index 100% rename from integration/src/clientMain/kotlin/main.kt rename to common/integration/src/clientMain/kotlin/main.kt diff --git a/integration/src/clientMain/resources/index.html b/common/integration/src/clientMain/resources/index.html similarity index 100% rename from integration/src/clientMain/resources/index.html rename to common/integration/src/clientMain/resources/index.html diff --git a/integration/src/clientMain/resources/style.css b/common/integration/src/clientMain/resources/style.css similarity index 100% rename from integration/src/clientMain/resources/style.css rename to common/integration/src/clientMain/resources/style.css diff --git a/integration/src/serverMain/kotlin/MainServer.kt b/common/integration/src/serverMain/kotlin/MainServer.kt similarity index 100% rename from integration/src/serverMain/kotlin/MainServer.kt rename to common/integration/src/serverMain/kotlin/MainServer.kt diff --git a/integration/src/serverMain/kotlin/compose/ComposeApp.kt b/common/integration/src/serverMain/kotlin/compose/ComposeApp.kt similarity index 100% rename from integration/src/serverMain/kotlin/compose/ComposeApp.kt rename to common/integration/src/serverMain/kotlin/compose/ComposeApp.kt diff --git a/integration/src/serverMain/kotlin/compose/Theme.kt b/common/integration/src/serverMain/kotlin/compose/Theme.kt similarity index 100% rename from integration/src/serverMain/kotlin/compose/Theme.kt rename to common/integration/src/serverMain/kotlin/compose/Theme.kt diff --git a/integration/src/serverMain/kotlin/compose/components/InputState.kt b/common/integration/src/serverMain/kotlin/compose/components/InputState.kt similarity index 100% rename from integration/src/serverMain/kotlin/compose/components/InputState.kt rename to common/integration/src/serverMain/kotlin/compose/components/InputState.kt diff --git a/integration/src/serverMain/kotlin/compose/components/Sidebar.kt b/common/integration/src/serverMain/kotlin/compose/components/Sidebar.kt similarity index 100% rename from integration/src/serverMain/kotlin/compose/components/Sidebar.kt rename to common/integration/src/serverMain/kotlin/compose/components/Sidebar.kt diff --git a/integration/src/serverMain/kotlin/compose/components/ThemeSwitcher.kt b/common/integration/src/serverMain/kotlin/compose/components/ThemeSwitcher.kt similarity index 100% rename from integration/src/serverMain/kotlin/compose/components/ThemeSwitcher.kt rename to common/integration/src/serverMain/kotlin/compose/components/ThemeSwitcher.kt diff --git a/integration/src/serverMain/kotlin/compose/screens/Chat.kt b/common/integration/src/serverMain/kotlin/compose/screens/Chat.kt similarity index 100% rename from integration/src/serverMain/kotlin/compose/screens/Chat.kt rename to common/integration/src/serverMain/kotlin/compose/screens/Chat.kt diff --git a/integration/src/serverMain/kotlin/compose/screens/Main.kt b/common/integration/src/serverMain/kotlin/compose/screens/Main.kt similarity index 100% rename from integration/src/serverMain/kotlin/compose/screens/Main.kt rename to common/integration/src/serverMain/kotlin/compose/screens/Main.kt diff --git a/integration/src/serverMain/kotlin/compose/screens/Todos.kt b/common/integration/src/serverMain/kotlin/compose/screens/Todos.kt similarity index 100% rename from integration/src/serverMain/kotlin/compose/screens/Todos.kt rename to common/integration/src/serverMain/kotlin/compose/screens/Todos.kt diff --git a/protocol/build.gradle b/common/protocol/build.gradle similarity index 100% rename from protocol/build.gradle rename to common/protocol/build.gradle diff --git a/protocol/src/commonMain/kotlin/me/shika/ClientEvent.kt b/common/protocol/src/commonMain/kotlin/me/shika/ClientEvent.kt similarity index 100% rename from protocol/src/commonMain/kotlin/me/shika/ClientEvent.kt rename to common/protocol/src/commonMain/kotlin/me/shika/ClientEvent.kt diff --git a/protocol/src/commonMain/kotlin/me/shika/RenderCommand.kt b/common/protocol/src/commonMain/kotlin/me/shika/RenderCommand.kt similarity index 100% rename from protocol/src/commonMain/kotlin/me/shika/RenderCommand.kt rename to common/protocol/src/commonMain/kotlin/me/shika/RenderCommand.kt diff --git a/settings.gradle b/settings.gradle index 73e19d2..158a871 100644 --- a/settings.gradle +++ b/settings.gradle @@ -25,8 +25,8 @@ pluginManagement { rootProject.name = 'compose-html-server' -include ':server' -include ':client' -include ':compose-wrapper' -include ':protocol' -include ':integration' +include ':web:server' +include ':web:client' +include ':common:compose-wrapper' +include ':common:protocol' +include ':common:integration' diff --git a/client/build.gradle b/web/client/build.gradle similarity index 87% rename from client/build.gradle rename to web/client/build.gradle index 7ad8947..1a8a0fa 100644 --- a/client/build.gradle +++ b/web/client/build.gradle @@ -9,7 +9,7 @@ kotlin { jsMain { dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-js" - implementation project(':protocol') + implementation project(':common:protocol') implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-js:0.20.0-1.4-M3" } } diff --git a/client/src/jsMain/kotlin/me.shika/ComposeContent.kt b/web/client/src/jsMain/kotlin/me.shika/ComposeContent.kt similarity index 100% rename from client/src/jsMain/kotlin/me.shika/ComposeContent.kt rename to web/client/src/jsMain/kotlin/me.shika/ComposeContent.kt diff --git a/client/src/jsMain/kotlin/me.shika/EventDispatcher.kt b/web/client/src/jsMain/kotlin/me.shika/EventDispatcher.kt similarity index 100% rename from client/src/jsMain/kotlin/me.shika/EventDispatcher.kt rename to web/client/src/jsMain/kotlin/me.shika/EventDispatcher.kt diff --git a/client/src/jsMain/kotlin/me.shika/EventRegistry.kt b/web/client/src/jsMain/kotlin/me.shika/EventRegistry.kt similarity index 100% rename from client/src/jsMain/kotlin/me.shika/EventRegistry.kt rename to web/client/src/jsMain/kotlin/me.shika/EventRegistry.kt diff --git a/client/src/jsMain/kotlin/me.shika/NodeUpdater.kt b/web/client/src/jsMain/kotlin/me.shika/NodeUpdater.kt similarity index 100% rename from client/src/jsMain/kotlin/me.shika/NodeUpdater.kt rename to web/client/src/jsMain/kotlin/me.shika/NodeUpdater.kt diff --git a/client/src/jsMain/kotlin/me.shika/UpdateHandler.kt b/web/client/src/jsMain/kotlin/me.shika/UpdateHandler.kt similarity index 100% rename from client/src/jsMain/kotlin/me.shika/UpdateHandler.kt rename to web/client/src/jsMain/kotlin/me.shika/UpdateHandler.kt diff --git a/server/build.gradle b/web/server/build.gradle similarity index 95% rename from server/build.gradle rename to web/server/build.gradle index ce07c2f..3c86a00 100644 --- a/server/build.gradle +++ b/web/server/build.gradle @@ -17,7 +17,7 @@ configurations.kotlinCompilerClasspath { configuration -> dependencies { implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8' implementation fileTree("../compose-wrapper/built/") - implementation project(':protocol') + implementation project(':common:protocol') implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.7-1.4-M3" implementation "io.ktor:ktor-server-core:1.3.2-1.4-M3" implementation "io.ktor:ktor-websockets:1.3.2-1.4-M3" diff --git a/server/src/main/kotlin/me/shika/KtorFeature.kt b/web/server/src/main/kotlin/me/shika/KtorFeature.kt similarity index 100% rename from server/src/main/kotlin/me/shika/KtorFeature.kt rename to web/server/src/main/kotlin/me/shika/KtorFeature.kt diff --git a/server/src/main/kotlin/me/shika/compose/Composables.kt b/web/server/src/main/kotlin/me/shika/compose/Composables.kt similarity index 100% rename from server/src/main/kotlin/me/shika/compose/Composables.kt rename to web/server/src/main/kotlin/me/shika/compose/Composables.kt diff --git a/server/src/main/kotlin/me/shika/compose/Flex.kt b/web/server/src/main/kotlin/me/shika/compose/Flex.kt similarity index 100% rename from server/src/main/kotlin/me/shika/compose/Flex.kt rename to web/server/src/main/kotlin/me/shika/compose/Flex.kt diff --git a/server/src/main/kotlin/me/shika/compose/RenderCommandDispatcher.kt b/web/server/src/main/kotlin/me/shika/compose/RenderCommandDispatcher.kt similarity index 100% rename from server/src/main/kotlin/me/shika/compose/RenderCommandDispatcher.kt rename to web/server/src/main/kotlin/me/shika/compose/RenderCommandDispatcher.kt diff --git a/server/src/main/kotlin/me/shika/compose/core/HtmlNode.kt b/web/server/src/main/kotlin/me/shika/compose/core/HtmlNode.kt similarity index 100% rename from server/src/main/kotlin/me/shika/compose/core/HtmlNode.kt rename to web/server/src/main/kotlin/me/shika/compose/core/HtmlNode.kt diff --git a/server/src/main/kotlin/me/shika/compose/core/Modifier.kt b/web/server/src/main/kotlin/me/shika/compose/core/Modifier.kt similarity index 100% rename from server/src/main/kotlin/me/shika/compose/core/Modifier.kt rename to web/server/src/main/kotlin/me/shika/compose/core/Modifier.kt diff --git a/server/src/main/kotlin/me/shika/compose/core/NodeComposables.kt b/web/server/src/main/kotlin/me/shika/compose/core/NodeComposables.kt similarity index 100% rename from server/src/main/kotlin/me/shika/compose/core/NodeComposables.kt rename to web/server/src/main/kotlin/me/shika/compose/core/NodeComposables.kt diff --git a/server/src/main/kotlin/me/shika/compose/core/ServerApplyAdapter.kt b/web/server/src/main/kotlin/me/shika/compose/core/ServerApplyAdapter.kt similarity index 100% rename from server/src/main/kotlin/me/shika/compose/core/ServerApplyAdapter.kt rename to web/server/src/main/kotlin/me/shika/compose/core/ServerApplyAdapter.kt diff --git a/server/src/main/kotlin/me/shika/compose/event/Event.kt b/web/server/src/main/kotlin/me/shika/compose/event/Event.kt similarity index 100% rename from server/src/main/kotlin/me/shika/compose/event/Event.kt rename to web/server/src/main/kotlin/me/shika/compose/event/Event.kt diff --git a/server/src/main/kotlin/me/shika/compose/event/EventProcessor.kt b/web/server/src/main/kotlin/me/shika/compose/event/EventProcessor.kt similarity index 100% rename from server/src/main/kotlin/me/shika/compose/event/EventProcessor.kt rename to web/server/src/main/kotlin/me/shika/compose/event/EventProcessor.kt diff --git a/server/src/main/kotlin/me/shika/compose/values/Attribute.kt b/web/server/src/main/kotlin/me/shika/compose/values/Attribute.kt similarity index 100% rename from server/src/main/kotlin/me/shika/compose/values/Attribute.kt rename to web/server/src/main/kotlin/me/shika/compose/values/Attribute.kt diff --git a/server/src/main/kotlin/me/shika/compose/values/Property.kt b/web/server/src/main/kotlin/me/shika/compose/values/Property.kt similarity index 100% rename from server/src/main/kotlin/me/shika/compose/values/Property.kt rename to web/server/src/main/kotlin/me/shika/compose/values/Property.kt diff --git a/server/src/main/kotlin/me/shika/compose/values/Style.kt b/web/server/src/main/kotlin/me/shika/compose/values/Style.kt similarity index 100% rename from server/src/main/kotlin/me/shika/compose/values/Style.kt rename to web/server/src/main/kotlin/me/shika/compose/values/Style.kt From 3a1a5f573f65ce35d1019f8512b223e90955e667 Mon Sep 17 00:00:00 2001 From: Neo Date: Wed, 7 Apr 2021 18:28:13 +0800 Subject: [PATCH 4/6] modify build.gradle like android project --- build.gradle | 77 +++++++++++++++++++++++++++-- common/compose-wrapper/build.gradle | 6 --- common/integration/build.gradle | 8 --- common/protocol/build.gradle | 2 +- web/client/build.gradle | 2 +- web/server/build.gradle | 9 +--- 6 files changed, 75 insertions(+), 29 deletions(-) diff --git a/build.gradle b/build.gradle index c526198..9bd71fb 100644 --- a/build.gradle +++ b/build.gradle @@ -1,10 +1,71 @@ buildscript { - Properties properties = new Properties() - def propertiesFile = project.rootProject.file('local.properties') - if (propertiesFile.exists()) { - properties.load(propertiesFile.newDataInputStream()) + ext { + Properties properties = new Properties() + def propertiesFile = project.rootProject.file('local.properties') + if (propertiesFile.exists()) { + properties.load(propertiesFile.newDataInputStream()) + } + aosp_location = properties.getProperty('aosp.location') + android_build_tool_version = '4.0.1' + kotlin_version = "1.4-M3" +// - Android Compose + android_compose_appcompat_version = '1.3.0-beta01' + android_compose_activity_version = '1.3.0-alpha02' +// - Jetpack Compose - shared UI + jb_compose_version = '0.3.2' + + //collections-immutable + coroutines_core_version = '1.3.7-1.4-M3' + collections_immutable_version = '0.3' + ktor_version = '1.3.2-1.4-M3' + kotlin_serialization_version = '1.4-M3' + serialization_runtime= '0.20.0-1.4-M3' + } + + repositories { + google() + mavenCentral() + jcenter() + gradlePluginPortal() + maven { + url = 'file://' + new File(System.getProperty('user.home'), '.m2/repository').absolutePath + } + //JB_Kotlin_Multiplatform + maven { + url "https://plugins.gradle.org/m2/" + } + + maven { + url = "https://dl.bintray.com/kotlin/kotlin-eap" + } + maven { + url = "https://dl.bintray.com/kotlin/kotlin-dev" + } + //JB_Compose + maven { + url = "https://maven.pkg.jetbrains.space/public/p/compose/dev" + } +// // kotlin-DSL +// maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") + } + dependencies { + classpath "com.android.tools.build:gradle:${android_build_tool_version}" + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + //JB_Kotlin_Multiplatform +// classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.0-M2" + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_serialization_version" + + //Test + classpath "org.jetbrains.kotlin:kotlin-test-common:$kotlin_version" + classpath "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version" + classpath "org.jetbrains.kotlin:kotlin-test-annotations-common:$kotlin_version" + + //JB_Compose + classpath "org.jetbrains.compose:compose-gradle-plugin:$jb_compose_version" + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files } - ext.aosp_location = properties.getProperty('aosp.location') } plugins { @@ -43,4 +104,10 @@ allprojects { freeCompilerArgs += ["-Xskip-prerelease-check"] } } + + tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) { + kotlinOptions { + useIR = true + } + } } diff --git a/common/compose-wrapper/build.gradle b/common/compose-wrapper/build.gradle index d7ebb4c..50d73b0 100644 --- a/common/compose-wrapper/build.gradle +++ b/common/compose-wrapper/build.gradle @@ -1,5 +1,3 @@ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { id 'org.jetbrains.kotlin.multiplatform' } @@ -15,10 +13,6 @@ dependencies { kotlinCompilerPluginClasspath "androidx.compose:compose-compiler:0.1.0-dev15" } -project.tasks.withType(KotlinCompile.class).configureEach { compile -> - compile.kotlinOptions.useIR = true -} - kotlin { jvm() diff --git a/common/integration/build.gradle b/common/integration/build.gradle index 45edf2f..ebcc239 100644 --- a/common/integration/build.gradle +++ b/common/integration/build.gradle @@ -1,5 +1,3 @@ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { id 'org.jetbrains.kotlin.multiplatform' } @@ -13,12 +11,6 @@ configurations.kotlinCompilerClasspath { configuration -> .force(dep) } -tasks.withType(KotlinCompile) { - kotlinOptions { - useIR = true - } -} - kotlin { js('client') { browser() diff --git a/common/protocol/build.gradle b/common/protocol/build.gradle index ca44124..347fdf5 100644 --- a/common/protocol/build.gradle +++ b/common/protocol/build.gradle @@ -1,6 +1,6 @@ plugins { id 'org.jetbrains.kotlin.multiplatform' - id 'org.jetbrains.kotlin.plugin.serialization' version '1.4-M3' + id 'org.jetbrains.kotlin.plugin.serialization' } kotlin { diff --git a/web/client/build.gradle b/web/client/build.gradle index 1a8a0fa..89a18df 100644 --- a/web/client/build.gradle +++ b/web/client/build.gradle @@ -1,6 +1,6 @@ plugins { id 'org.jetbrains.kotlin.multiplatform' - id 'org.jetbrains.kotlin.plugin.serialization' version '1.4-M3' + id 'org.jetbrains.kotlin.plugin.serialization' } kotlin { diff --git a/web/server/build.gradle b/web/server/build.gradle index 3c86a00..a9a01e0 100644 --- a/web/server/build.gradle +++ b/web/server/build.gradle @@ -1,5 +1,3 @@ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { id 'org.jetbrains.kotlin.jvm' id 'application' @@ -16,7 +14,7 @@ configurations.kotlinCompilerClasspath { configuration -> dependencies { implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8' - implementation fileTree("../compose-wrapper/built/") + implementation fileTree("../../common/compose-wrapper/built/") implementation project(':common:protocol') implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.7-1.4-M3" implementation "io.ktor:ktor-server-core:1.3.2-1.4-M3" @@ -26,8 +24,3 @@ dependencies { kotlinCompilerPluginClasspath "androidx.compose:compose-compiler:0.1.0-dev15" } -tasks.withType(KotlinCompile) { - kotlinOptions { - useIR = true - } -} From 22f5a1745d9ab68844db1e53543b78ca2f33679c Mon Sep 17 00:00:00 2001 From: Neo Date: Thu, 8 Apr 2021 11:13:04 +0800 Subject: [PATCH 5/6] modify library version at ext section --- build.gradle | 2 ++ common/compose-wrapper/build.gradle | 4 ++-- common/integration/build.gradle | 7 ++++--- common/protocol/build.gradle | 6 +++--- web/client/build.gradle | 4 +++- web/server/build.gradle | 14 +++++++++----- 6 files changed, 23 insertions(+), 14 deletions(-) diff --git a/build.gradle b/build.gradle index 9bd71fb..89b42c5 100644 --- a/build.gradle +++ b/build.gradle @@ -19,6 +19,8 @@ buildscript { collections_immutable_version = '0.3' ktor_version = '1.3.2-1.4-M3' kotlin_serialization_version = '1.4-M3' + //Ref : https://blog.csdn.net/vitaviva/article/details/104779479 + //Ref : https://blog.csdn.net/weixin_44761758/article/details/89536909?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&dist_request_id=1329187.9314.16178509973458491&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control serialization_runtime= '0.20.0-1.4-M3' } diff --git a/common/compose-wrapper/build.gradle b/common/compose-wrapper/build.gradle index 50d73b0..6afb459 100644 --- a/common/compose-wrapper/build.gradle +++ b/common/compose-wrapper/build.gradle @@ -22,7 +22,7 @@ kotlin { kotlin.srcDirs += file("$aosp_location/frameworks/support/compose/compose-dispatch/src/commonMain/kotlin") dependencies { implementation kotlin('stdlib-common') - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.7-1.4-M3" + implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_core_version" implementation "org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:0.3" } } @@ -31,7 +31,7 @@ kotlin { kotlin.srcDirs += file("$aosp_location/frameworks/support/compose/compose-dispatch/src/jvmMain/kotlin") dependencies { implementation kotlin('stdlib-jdk8') - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.7-1.4-M3" + implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_core_version" } } } diff --git a/common/integration/build.gradle b/common/integration/build.gradle index ebcc239..ca0cf08 100644 --- a/common/integration/build.gradle +++ b/common/integration/build.gradle @@ -43,9 +43,10 @@ kotlin { implementation fileTree("../compose-wrapper/built/") implementation "org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:0.3" - implementation "io.ktor:ktor-server-core:1.3.2-1.4-M3" - implementation "io.ktor:ktor-server-netty:1.3.2-1.4-M3" - implementation "io.ktor:ktor-websockets:1.3.2-1.4-M3" + implementation "io.ktor:ktor-server-core:$ktor_version" + implementation "io.ktor:ktor-server-netty:$ktor_version" + implementation "io.ktor:ktor-websockets:$ktor_version" + //Log implementation "ch.qos.logback:logback-classic:1.2.3" } } diff --git a/common/protocol/build.gradle b/common/protocol/build.gradle index 347fdf5..0bcf4f1 100644 --- a/common/protocol/build.gradle +++ b/common/protocol/build.gradle @@ -11,21 +11,21 @@ kotlin { commonMain { dependencies { implementation kotlin('stdlib-common') - implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0-1.4-M3" + implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:$serialization_runtime" } } jsMain { dependencies { implementation kotlin('stdlib-js') - implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-js:0.20.0-1.4-M3" + implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-js:$serialization_runtime" } } jvmMain { dependencies { implementation kotlin('stdlib-jdk8') - implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0-1.4-M3" + implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:$serialization_runtime" } } } diff --git a/web/client/build.gradle b/web/client/build.gradle index 89a18df..2c2bad2 100644 --- a/web/client/build.gradle +++ b/web/client/build.gradle @@ -9,8 +9,10 @@ kotlin { jsMain { dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-js" + implementation project(':common:protocol') - implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-js:0.20.0-1.4-M3" + + implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-js:$serialization_runtime" } } } diff --git a/web/server/build.gradle b/web/server/build.gradle index a9a01e0..33e66ed 100644 --- a/web/server/build.gradle +++ b/web/server/build.gradle @@ -13,14 +13,18 @@ configurations.kotlinCompilerClasspath { configuration -> } dependencies { - implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8' implementation fileTree("../../common/compose-wrapper/built/") implementation project(':common:protocol') - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.7-1.4-M3" - implementation "io.ktor:ktor-server-core:1.3.2-1.4-M3" - implementation "io.ktor:ktor-websockets:1.3.2-1.4-M3" - implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0-1.4-M3" kotlinCompilerPluginClasspath "androidx.compose:compose-compiler:0.1.0-dev15" + + implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8' + + implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_core_version" + + implementation "io.ktor:ktor-server-core:$ktor_version" + implementation "io.ktor:ktor-websockets:$ktor_version" + + implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:$serialization_runtime" } From c941d7b935aeeff7cf68ace679f36133961712ae Mon Sep 17 00:00:00 2001 From: Neo Date: Mon, 12 Apr 2021 20:08:03 +0800 Subject: [PATCH 6/6] temp save --- build.gradle | 30 ++++++++++++++++++++++++------ common/integration/build.gradle | 4 +++- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/build.gradle b/build.gradle index 89b42c5..e6b4626 100644 --- a/build.gradle +++ b/build.gradle @@ -8,6 +8,8 @@ buildscript { aosp_location = properties.getProperty('aosp.location') android_build_tool_version = '4.0.1' kotlin_version = "1.4-M3" + //FIXME if use 1.4.31 kotlinx.serialization must over 1.0 +// kotlin_version = "1.4.31" // - Android Compose android_compose_appcompat_version = '1.3.0-beta01' android_compose_activity_version = '1.3.0-alpha02' @@ -18,10 +20,15 @@ buildscript { coroutines_core_version = '1.3.7-1.4-M3' collections_immutable_version = '0.3' ktor_version = '1.3.2-1.4-M3' +// 1.5.0-M2 kotlin_serialization_version = '1.4-M3' +// kotlin_serialization_version = '1.4.31' //Ref : https://blog.csdn.net/vitaviva/article/details/104779479 //Ref : https://blog.csdn.net/weixin_44761758/article/details/89536909?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&dist_request_id=1329187.9314.16178509973458491&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control - serialization_runtime= '0.20.0-1.4-M3' + serialization_runtime= '0.20.0-1.4-M3' +// serialization_runtime= '1.0-M1-1.4.0-rc-218' +// 1.0.0-alpha13 + compose_version = '1.0.0-beta01' } repositories { @@ -71,7 +78,9 @@ buildscript { } plugins { + id 'org.jetbrains.kotlin.jvm' version '1.4-M3' +// id 'org.jetbrains.kotlin.jvm' version '1.4.31' } group 'me.shika' @@ -101,15 +110,24 @@ allprojects { } } - tasks.withType(org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile) { - kotlinOptions { - freeCompilerArgs += ["-Xskip-prerelease-check"] - } - } +// tasks.withType(org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile) { +// kotlinOptions { +// freeCompilerArgs += ["-Xskip-prerelease-check"] +// } +// } tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) { kotlinOptions { + freeCompilerArgs += ["-Xskip-prerelease-check"] + +// freeCompilerArgs = [ +// "-Xjsr305=strict", +// "-progressive", +//// "-Xopt-in=kotlin.RequiresOptIn" +// ] + jvmTarget = "1.8" useIR = true + allWarningsAsErrors = false } } } diff --git a/common/integration/build.gradle b/common/integration/build.gradle index ca0cf08..a418c0b 100644 --- a/common/integration/build.gradle +++ b/common/integration/build.gradle @@ -26,7 +26,9 @@ kotlin { } dependencies { - kotlinCompilerPluginClasspath "androidx.compose:compose-compiler:0.1.0-dev15" +// kotlinCompilerPluginClasspath "androidx.compose:compose-compiler:0.1.0-dev15" +// kotlinCompilerPluginClasspath "androidx.compose:compose-compiler:1.0.0-beta03" + add("kotlinCompilerPluginClasspath", "androidx.compose.compiler:compiler:$compose_version") } sourceSets {