From 3e06f86735c1c0a4db6530ea971085efce3cafa1 Mon Sep 17 00:00:00 2001 From: davidontop Date: Fri, 20 Sep 2024 22:02:05 +0200 Subject: [PATCH] feat: project seperation --- .gitignore | 2 +- LICENSE | 2 +- build.sbt | 51 ++++++++++++++----- .../src/main/scala/ComplexHtmlKeys.scala | 0 .../src/main/scala/ComplexSvgKeys.scala | 0 .../scala/top/davidon/sfs/dom/Element.scala | 0 .../scala/top/davidon/sfs/dom/Modifier.scala | 2 +- .../scala/top/davidon/sfs/dom/Renderer.scala | 0 .../main/scala/top/davidon/sfs/dom/SFS.scala | 0 .../top/davidon/sfs/dom/ScalaFullStack.scala | 0 .../scala/top/davidon/sfs/dom/Value.scala | 0 .../top/davidon/sfs/dom/codecs/Codecs.scala | 0 .../top/davidon/sfs/dom/codecs/package.scala | 0 .../top/davidon/sfs/dom/keys/AriaAttr.scala | 0 .../top/davidon/sfs/dom/keys/EventProp.scala | 0 .../top/davidon/sfs/dom/keys/HtmlAttr.scala | 0 .../top/davidon/sfs/dom/keys/HtmlProp.scala | 0 .../scala/top/davidon/sfs/dom/keys/Key.scala | 0 .../top/davidon/sfs/dom/keys/SvgAttr.scala | 0 .../top/davidon/sfs/dom/tags/HtmlTag.scala | 0 .../top/davidon/sfs/dom/tags/SvgTag.scala | 0 .../scala/top/davidon/sfs/dom/tags/Tag.scala | 0 project/DomGenerator.scala | 12 +++-- project/plugins.sbt | 1 + 24 files changed, 49 insertions(+), 21 deletions(-) rename {shared => dom}/src/main/scala/ComplexHtmlKeys.scala (100%) rename {shared => dom}/src/main/scala/ComplexSvgKeys.scala (100%) rename {shared => dom}/src/main/scala/top/davidon/sfs/dom/Element.scala (100%) rename {shared => dom}/src/main/scala/top/davidon/sfs/dom/Modifier.scala (100%) rename {shared => dom}/src/main/scala/top/davidon/sfs/dom/Renderer.scala (100%) rename {shared => dom}/src/main/scala/top/davidon/sfs/dom/SFS.scala (100%) rename {shared => dom}/src/main/scala/top/davidon/sfs/dom/ScalaFullStack.scala (100%) rename {shared => dom}/src/main/scala/top/davidon/sfs/dom/Value.scala (100%) rename {shared => dom}/src/main/scala/top/davidon/sfs/dom/codecs/Codecs.scala (100%) rename {shared => dom}/src/main/scala/top/davidon/sfs/dom/codecs/package.scala (100%) rename {shared => dom}/src/main/scala/top/davidon/sfs/dom/keys/AriaAttr.scala (100%) rename {shared => dom}/src/main/scala/top/davidon/sfs/dom/keys/EventProp.scala (100%) rename {shared => dom}/src/main/scala/top/davidon/sfs/dom/keys/HtmlAttr.scala (100%) rename {shared => dom}/src/main/scala/top/davidon/sfs/dom/keys/HtmlProp.scala (100%) rename {shared => dom}/src/main/scala/top/davidon/sfs/dom/keys/Key.scala (100%) rename {shared => dom}/src/main/scala/top/davidon/sfs/dom/keys/SvgAttr.scala (100%) rename {shared => dom}/src/main/scala/top/davidon/sfs/dom/tags/HtmlTag.scala (100%) rename {shared => dom}/src/main/scala/top/davidon/sfs/dom/tags/SvgTag.scala (100%) rename {shared => dom}/src/main/scala/top/davidon/sfs/dom/tags/Tag.scala (100%) diff --git a/.gitignore b/.gitignore index 93aef27..e9759b9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -shared/src/main/scala/top/davidon/sfs/dom/defs +dom/src/main/scala/top/davidon/sfs/dom/defs target/ \ No newline at end of file diff --git a/LICENSE b/LICENSE index 6db395b..2e0996d 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2024 David Kozak +Copyright (c) 2024 Dávid Kozák Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/build.sbt b/build.sbt index 9b108f8..956da4c 100644 --- a/build.sbt +++ b/build.sbt @@ -1,26 +1,51 @@ -ThisBuild / version := "0.1.0" -ThisBuild / organization := "top.davidon" - ThisBuild / scalaVersion := "3.5.0" +ThisBuild / publishMavenStyle := true +ThisBuild / publishTo := Some( + "GitHub Package Registry" at "https://maven.pkg.github.com/davidon-top/sfs" +) +ThisBuild / credentials += Credentials( + "GitHub Package Registry", + "maven.pkg.github.com", + sys.env("THEHUB_USERNAME"), + sys.env("THEHUB_TOKEN") +) +ThisBuild / versionScheme := Some("early-semver") +ThisBuild / licenses += ("MIT", url("https://opensource.org/license/MIT")) +ThisBuild / scmInfo := Some( + ScmInfo( + url("https://github.com/davidon-top/sfs"), + "scm:https://github.com/davidon-top/sfs.git" + ) +) +ThisBuild / organization := "top.davidon.sfs" +ThisBuild / organizationName := "DavidOnTop" +ThisBuild / organizationHomepage := Some(url("https://davidon.top")) -lazy val precompile = taskKey[Unit]("pre compilation tasks") +lazy val generate = taskKey[Unit]("pre compilation codegen task") -precompile := DomGenerator.generate() +generate := DomGenerator.generate() -(Compile / compile) := ((Compile / compile) dependsOn precompile).value +(Compile / compile) := ((Compile / compile) dependsOn generate).value lazy val root = crossProject(JSPlatform, JVMPlatform) - .crossType(CrossType.Full) - .in(file(".")) + .crossType(CrossType.Pure) + .in(file("./dom")) .settings( - name := "sfs", - libraryDependencies ++= Seq( - "de.tu-darmstadt.stg" %%% "reactives" % "0.36.0", - "org.scala-js" % "scalajs-dom" % "2.8.0" % "sjs1_3" - ) + name := "sfs-dom", + version := "0.1.0-SNAPSHOT" ) +// .settings( +// libraryDependencies ++= Seq( +// "org.scala-js" % "scalajs-dom" % "2.8.0" % "sjs1_3" +// ) +// ) .jvmSettings( libraryDependencies ++= Seq( "org.scala-js" % "scalajs-dom_sjs1_3" % "2.8.0" ) ) + .jsSettings( + libraryDependencies ++= Seq( + "org.scala-js" % "scalajs-dom_sjs1_3" % "2.8.0" + ) + ) diff --git a/shared/src/main/scala/ComplexHtmlKeys.scala b/dom/src/main/scala/ComplexHtmlKeys.scala similarity index 100% rename from shared/src/main/scala/ComplexHtmlKeys.scala rename to dom/src/main/scala/ComplexHtmlKeys.scala diff --git a/shared/src/main/scala/ComplexSvgKeys.scala b/dom/src/main/scala/ComplexSvgKeys.scala similarity index 100% rename from shared/src/main/scala/ComplexSvgKeys.scala rename to dom/src/main/scala/ComplexSvgKeys.scala diff --git a/shared/src/main/scala/top/davidon/sfs/dom/Element.scala b/dom/src/main/scala/top/davidon/sfs/dom/Element.scala similarity index 100% rename from shared/src/main/scala/top/davidon/sfs/dom/Element.scala rename to dom/src/main/scala/top/davidon/sfs/dom/Element.scala diff --git a/shared/src/main/scala/top/davidon/sfs/dom/Modifier.scala b/dom/src/main/scala/top/davidon/sfs/dom/Modifier.scala similarity index 100% rename from shared/src/main/scala/top/davidon/sfs/dom/Modifier.scala rename to dom/src/main/scala/top/davidon/sfs/dom/Modifier.scala index 8c9ece2..e794a3b 100644 --- a/shared/src/main/scala/top/davidon/sfs/dom/Modifier.scala +++ b/dom/src/main/scala/top/davidon/sfs/dom/Modifier.scala @@ -1,6 +1,6 @@ package top.davidon.sfs.dom -import top.davidon.sfs.dom.keys.Key import top.davidon.sfs.dom.Value +import top.davidon.sfs.dom.keys.Key class Modifier[F, T](val key: Key, val value: Value[F, T]) {} diff --git a/shared/src/main/scala/top/davidon/sfs/dom/Renderer.scala b/dom/src/main/scala/top/davidon/sfs/dom/Renderer.scala similarity index 100% rename from shared/src/main/scala/top/davidon/sfs/dom/Renderer.scala rename to dom/src/main/scala/top/davidon/sfs/dom/Renderer.scala diff --git a/shared/src/main/scala/top/davidon/sfs/dom/SFS.scala b/dom/src/main/scala/top/davidon/sfs/dom/SFS.scala similarity index 100% rename from shared/src/main/scala/top/davidon/sfs/dom/SFS.scala rename to dom/src/main/scala/top/davidon/sfs/dom/SFS.scala diff --git a/shared/src/main/scala/top/davidon/sfs/dom/ScalaFullStack.scala b/dom/src/main/scala/top/davidon/sfs/dom/ScalaFullStack.scala similarity index 100% rename from shared/src/main/scala/top/davidon/sfs/dom/ScalaFullStack.scala rename to dom/src/main/scala/top/davidon/sfs/dom/ScalaFullStack.scala diff --git a/shared/src/main/scala/top/davidon/sfs/dom/Value.scala b/dom/src/main/scala/top/davidon/sfs/dom/Value.scala similarity index 100% rename from shared/src/main/scala/top/davidon/sfs/dom/Value.scala rename to dom/src/main/scala/top/davidon/sfs/dom/Value.scala diff --git a/shared/src/main/scala/top/davidon/sfs/dom/codecs/Codecs.scala b/dom/src/main/scala/top/davidon/sfs/dom/codecs/Codecs.scala similarity index 100% rename from shared/src/main/scala/top/davidon/sfs/dom/codecs/Codecs.scala rename to dom/src/main/scala/top/davidon/sfs/dom/codecs/Codecs.scala diff --git a/shared/src/main/scala/top/davidon/sfs/dom/codecs/package.scala b/dom/src/main/scala/top/davidon/sfs/dom/codecs/package.scala similarity index 100% rename from shared/src/main/scala/top/davidon/sfs/dom/codecs/package.scala rename to dom/src/main/scala/top/davidon/sfs/dom/codecs/package.scala diff --git a/shared/src/main/scala/top/davidon/sfs/dom/keys/AriaAttr.scala b/dom/src/main/scala/top/davidon/sfs/dom/keys/AriaAttr.scala similarity index 100% rename from shared/src/main/scala/top/davidon/sfs/dom/keys/AriaAttr.scala rename to dom/src/main/scala/top/davidon/sfs/dom/keys/AriaAttr.scala diff --git a/shared/src/main/scala/top/davidon/sfs/dom/keys/EventProp.scala b/dom/src/main/scala/top/davidon/sfs/dom/keys/EventProp.scala similarity index 100% rename from shared/src/main/scala/top/davidon/sfs/dom/keys/EventProp.scala rename to dom/src/main/scala/top/davidon/sfs/dom/keys/EventProp.scala diff --git a/shared/src/main/scala/top/davidon/sfs/dom/keys/HtmlAttr.scala b/dom/src/main/scala/top/davidon/sfs/dom/keys/HtmlAttr.scala similarity index 100% rename from shared/src/main/scala/top/davidon/sfs/dom/keys/HtmlAttr.scala rename to dom/src/main/scala/top/davidon/sfs/dom/keys/HtmlAttr.scala diff --git a/shared/src/main/scala/top/davidon/sfs/dom/keys/HtmlProp.scala b/dom/src/main/scala/top/davidon/sfs/dom/keys/HtmlProp.scala similarity index 100% rename from shared/src/main/scala/top/davidon/sfs/dom/keys/HtmlProp.scala rename to dom/src/main/scala/top/davidon/sfs/dom/keys/HtmlProp.scala diff --git a/shared/src/main/scala/top/davidon/sfs/dom/keys/Key.scala b/dom/src/main/scala/top/davidon/sfs/dom/keys/Key.scala similarity index 100% rename from shared/src/main/scala/top/davidon/sfs/dom/keys/Key.scala rename to dom/src/main/scala/top/davidon/sfs/dom/keys/Key.scala diff --git a/shared/src/main/scala/top/davidon/sfs/dom/keys/SvgAttr.scala b/dom/src/main/scala/top/davidon/sfs/dom/keys/SvgAttr.scala similarity index 100% rename from shared/src/main/scala/top/davidon/sfs/dom/keys/SvgAttr.scala rename to dom/src/main/scala/top/davidon/sfs/dom/keys/SvgAttr.scala diff --git a/shared/src/main/scala/top/davidon/sfs/dom/tags/HtmlTag.scala b/dom/src/main/scala/top/davidon/sfs/dom/tags/HtmlTag.scala similarity index 100% rename from shared/src/main/scala/top/davidon/sfs/dom/tags/HtmlTag.scala rename to dom/src/main/scala/top/davidon/sfs/dom/tags/HtmlTag.scala diff --git a/shared/src/main/scala/top/davidon/sfs/dom/tags/SvgTag.scala b/dom/src/main/scala/top/davidon/sfs/dom/tags/SvgTag.scala similarity index 100% rename from shared/src/main/scala/top/davidon/sfs/dom/tags/SvgTag.scala rename to dom/src/main/scala/top/davidon/sfs/dom/tags/SvgTag.scala diff --git a/shared/src/main/scala/top/davidon/sfs/dom/tags/Tag.scala b/dom/src/main/scala/top/davidon/sfs/dom/tags/Tag.scala similarity index 100% rename from shared/src/main/scala/top/davidon/sfs/dom/tags/Tag.scala rename to dom/src/main/scala/top/davidon/sfs/dom/tags/Tag.scala diff --git a/project/DomGenerator.scala b/project/DomGenerator.scala index d1135be..d59376d 100644 --- a/project/DomGenerator.scala +++ b/project/DomGenerator.scala @@ -347,13 +347,15 @@ object DomGenerator { private object generator extends CanonicalGenerator( - baseOutputDirectoryPath = "shared/src/main/scala/top/davidon/sfs/dom", + baseOutputDirectoryPath = "dom/src/main/scala/top/davidon/sfs/dom", basePackagePath = "top.davidon.sfs.dom", standardTraitCommentLines = List( - "#NOTE: GENERATED CODE", - s" - This file is generated at compile time from the data in Scala DOM Types", - " - See `project/DomDefsGenerator.scala` for code generation params", - " - Contribute to https://github.com/raquo/scala-dom-types to add missing tags / attrs / props / etc." + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!! THIS IS GENERATED CODE !!!", + "!!! DO NOT EDIT DIRECTLY !!!", + "!!! DO NOT COMMIT !!!", + "!!! SEE ./project/DomGenerator !!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" ), format = CodeFormatting() ) { diff --git a/project/plugins.sbt b/project/plugins.sbt index f524850..7366163 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,2 +1,3 @@ addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.3.2") addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.16.0") +addSbtPlugin("com.github.sbt" % "sbt-pgp" % "2.2.1")