diff --git a/build.gradle b/build.gradle index 7503f0d..e6b4626 100644 --- a/build.gradle +++ b/build.gradle @@ -1,14 +1,86 @@ 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" + //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' +// - 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' +// 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= '1.0-M1-1.4.0-rc-218' +// 1.0.0-alpha13 + compose_version = '1.0.0-beta01' + } + + 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 { + id 'org.jetbrains.kotlin.jvm' version '1.4-M3' +// id 'org.jetbrains.kotlin.jvm' version '1.4.31' } group 'me.shika' @@ -19,14 +91,43 @@ allprojects { 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-eap/" + url = "https://dl.bintray.com/kotlin/kotlin-dev" + } + //JB_Compose + maven { + url = "https://maven.pkg.jetbrains.space/public/p/compose/dev" } } - tasks.withType(org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile) { +// 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/compose-wrapper/build.gradle b/common/compose-wrapper/build.gradle similarity index 86% rename from compose-wrapper/build.gradle rename to common/compose-wrapper/build.gradle index d7ebb4c..6afb459 100644 --- a/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() @@ -28,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" } } @@ -37,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/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 67% rename from integration/build.gradle rename to common/integration/build.gradle index ed7407f..a418c0b 100644 --- a/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() @@ -34,26 +26,29 @@ 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 { 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" - 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" } } @@ -64,7 +59,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 78% rename from protocol/build.gradle rename to common/protocol/build.gradle index ca44124..0bcf4f1 100644 --- a/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 { @@ -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/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/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 diff --git a/settings.gradle b/settings.gradle index d64f047..158a871 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,14 +1,32 @@ 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" + } } } 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 66% rename from client/build.gradle rename to web/client/build.gradle index 7ad8947..2c2bad2 100644 --- a/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 { @@ -9,8 +9,10 @@ kotlin { jsMain { dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-js" - implementation project(':protocol') - implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-js:0.20.0-1.4-M3" + + implementation project(':common:protocol') + + implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-js:$serialization_runtime" } } } 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 62% rename from server/build.gradle rename to web/server/build.gradle index ce07c2f..33e66ed 100644 --- a/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' @@ -15,19 +13,18 @@ configurations.kotlinCompilerClasspath { configuration -> } dependencies { - implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8' - implementation fileTree("../compose-wrapper/built/") - implementation project(':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" + implementation fileTree("../../common/compose-wrapper/built/") + implementation project(':common:protocol') kotlinCompilerPluginClasspath "androidx.compose:compose-compiler:0.1.0-dev15" -} -tasks.withType(KotlinCompile) { - kotlinOptions { - useIR = true - } + 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" } + 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