diff --git a/build.mill b/build.mill index 02fb1aa..8e0b46d 100644 --- a/build.mill +++ b/build.mill @@ -4,7 +4,7 @@ package build -import mill.*, scalalib.*, javascriptlib.* +import mill.*, scalalib.*, javascriptlib.TypeScriptModule, publish.* import mill.scalalib.scalafmt.ScalafmtModule import mill.api.Task.Simple import java.net.URI @@ -14,7 +14,7 @@ import java.util import com.goyeau.mill.scalafix.ScalafixModule trait ScalaCommon extends ScalaModule with ScalafmtModule with ScalafixModule: - def scalaVersion = "3.7.2" + def scalaVersion = "3.7.3" def scalacOptions = Seq( "-Wunused:all", "-preview", @@ -24,23 +24,36 @@ trait ScalaCommon extends ScalaModule with ScalafmtModule with ScalafixModule: "-Wnonunit-statement" ) -object core extends ScalaCommon: - def mvnDeps = Seq(mvn"dev.zio::zio-json:0.7.44") +trait PublishCommon extends PublishModule: + def publishVersion = "0.0.1" + def pomSettings = PomSettings( + description = artifactName(), + organization = "phfroidmont", + url = "https://github.com/phfroidmont/scalive", + licenses = Seq(License.MIT), + versionControl = VersionControl.github("phfroidmont", "scalive"), + developers = + Seq(Developer("phfroidmont", "Paul-Henri Froidmont", "https://github.com/phfroidmont")) + ) - def generatedSources = Task { - new DomDefsGenerator((Task.dest / "core/src/scalive").toString).generate() - super.generatedSources() ++ Seq(PathRef(Task.dest)) - } +object scalive extends Module: + object core extends ScalaCommon with PublishCommon: + def mvnDeps = Seq(mvn"dev.zio::zio-json:0.7.44") - object test extends ScalaTests with scalalib.TestModule.Utest: - def utestVersion = "0.9.0" + def generatedSources = Task { + new DomDefsGenerator((Task.dest / "core/src/scalive").toString).generate() + super.generatedSources() ++ Seq(PathRef(Task.dest)) + } -object zio extends ScalaCommon: - def mvnDeps = Seq(mvn"dev.zio::zio-http:3.4.0") - def moduleDeps = Seq(core) + object test extends ScalaTests with scalalib.TestModule.Utest: + def utestVersion = "0.9.0" + + object zio extends ScalaCommon with PublishCommon: + def mvnDeps = Seq(mvn"dev.zio::zio-http:3.4.0") + def moduleDeps = Seq(core) object example extends ScalaCommon: - def moduleDeps = Seq(zio) + def moduleDeps = Seq(scalive.zio) def mvnDeps = Seq(mvn"dev.optics::monocle-core:3.1.0", mvn"dev.zio::zio-logging:2.5.1") def scaliveBundle = Task { diff --git a/core/src/TestLiveView.scala b/scalive/core/src/TestLiveView.scala similarity index 100% rename from core/src/TestLiveView.scala rename to scalive/core/src/TestLiveView.scala diff --git a/core/src/main.scala b/scalive/core/src/main.scala similarity index 100% rename from core/src/main.scala rename to scalive/core/src/main.scala diff --git a/core/src/scalive/Diff.scala b/scalive/core/src/scalive/Diff.scala similarity index 100% rename from core/src/scalive/Diff.scala rename to scalive/core/src/scalive/Diff.scala diff --git a/core/src/scalive/DiffBuilder.scala b/scalive/core/src/scalive/DiffBuilder.scala similarity index 100% rename from core/src/scalive/DiffBuilder.scala rename to scalive/core/src/scalive/DiffBuilder.scala diff --git a/core/src/scalive/Dyn.scala b/scalive/core/src/scalive/Dyn.scala similarity index 100% rename from core/src/scalive/Dyn.scala rename to scalive/core/src/scalive/Dyn.scala diff --git a/core/src/scalive/HtmlBuilder.scala b/scalive/core/src/scalive/HtmlBuilder.scala similarity index 100% rename from core/src/scalive/HtmlBuilder.scala rename to scalive/core/src/scalive/HtmlBuilder.scala diff --git a/core/src/scalive/HtmlElement.scala b/scalive/core/src/scalive/HtmlElement.scala similarity index 100% rename from core/src/scalive/HtmlElement.scala rename to scalive/core/src/scalive/HtmlElement.scala diff --git a/core/src/scalive/JS.scala b/scalive/core/src/scalive/JS.scala similarity index 100% rename from core/src/scalive/JS.scala rename to scalive/core/src/scalive/JS.scala diff --git a/core/src/scalive/LiveView.scala b/scalive/core/src/scalive/LiveView.scala similarity index 100% rename from core/src/scalive/LiveView.scala rename to scalive/core/src/scalive/LiveView.scala diff --git a/core/src/scalive/Scalive.scala b/scalive/core/src/scalive/Scalive.scala similarity index 100% rename from core/src/scalive/Scalive.scala rename to scalive/core/src/scalive/Scalive.scala diff --git a/core/src/scalive/StaticBuilder.scala b/scalive/core/src/scalive/StaticBuilder.scala similarity index 100% rename from core/src/scalive/StaticBuilder.scala rename to scalive/core/src/scalive/StaticBuilder.scala diff --git a/core/src/scalive/Token.scala b/scalive/core/src/scalive/Token.scala similarity index 100% rename from core/src/scalive/Token.scala rename to scalive/core/src/scalive/Token.scala diff --git a/core/src/scalive/codecs/Encoder.scala b/scalive/core/src/scalive/codecs/Encoder.scala similarity index 100% rename from core/src/scalive/codecs/Encoder.scala rename to scalive/core/src/scalive/codecs/Encoder.scala diff --git a/core/src/scalive/defs/complex/ComplexHtmlKeys.scala b/scalive/core/src/scalive/defs/complex/ComplexHtmlKeys.scala similarity index 100% rename from core/src/scalive/defs/complex/ComplexHtmlKeys.scala rename to scalive/core/src/scalive/defs/complex/ComplexHtmlKeys.scala diff --git a/core/test/src/scalive/LiveViewSpec.scala b/scalive/core/test/src/scalive/LiveViewSpec.scala similarity index 100% rename from core/test/src/scalive/LiveViewSpec.scala rename to scalive/core/test/src/scalive/LiveViewSpec.scala diff --git a/zio/src/scalive/LiveRouter.scala b/scalive/zio/src/scalive/LiveRouter.scala similarity index 100% rename from zio/src/scalive/LiveRouter.scala rename to scalive/zio/src/scalive/LiveRouter.scala diff --git a/zio/src/scalive/Socket.scala b/scalive/zio/src/scalive/Socket.scala similarity index 100% rename from zio/src/scalive/Socket.scala rename to scalive/zio/src/scalive/Socket.scala diff --git a/zio/src/scalive/WebSocketMessage.scala b/scalive/zio/src/scalive/WebSocketMessage.scala similarity index 100% rename from zio/src/scalive/WebSocketMessage.scala rename to scalive/zio/src/scalive/WebSocketMessage.scala