Skip to content
This repository was archived by the owner on Jan 13, 2025. It is now read-only.

Commit eff0dc8

Browse files
committed
Macros multiplatform
1 parent 868cfab commit eff0dc8

19 files changed

+45
-40
lines changed

.github/workflows/ci.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
fail-fast: false
3636
matrix:
3737
38-
scala: ['2.12.17', '2.13.10']
38+
scala: ['2.12.*', '2.13.*']
3939
steps:
4040
- name: Checkout current branch
4141
uses: actions/[email protected]

build.sbt

+43-38
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,25 @@ import sbtcrossproject.CrossPlugin.autoImport.crossProject
44

55
inThisBuild(
66
List(
7-
organization := "dev.zio",
8-
homepage := Some(url("https://zio.dev/zio-sql/")),
9-
licenses := List("Apache-2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0")),
10-
developers := List(
7+
organization := "dev.zio",
8+
homepage := Some(url("https://zio.dev/zio-sql/")),
9+
licenses := List("Apache-2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0")),
10+
developers := List(
1111
Developer("jdegoes", "John De Goes", "[email protected]", url("http://degoes.net"))
12-
),
13-
pgpPassphrase := sys.env.get("PGP_PASSWORD").map(_.toArray),
14-
pgpPublicRing := file("/tmp/public.asc"),
15-
pgpSecretRing := file("/tmp/secret.asc"),
16-
scmInfo := Some(
17-
ScmInfo(url("https://github.com/zio/zio-sql/"), "scm:git:[email protected]:zio/zio-sql.git")
1812
)
1913
)
2014
)
2115

2216
addCommandAlias("fmtOnce", "all scalafmtSbt scalafmt test:scalafmt")
2317
addCommandAlias("fmt", "fmtOnce;fmtOnce")
24-
addCommandAlias("check", "all scalafmtSbtCheck scalafmtCheck test:scalafmtCheck")
18+
addCommandAlias("fix", "all scalafmtSbt scalafmtAll")
19+
addCommandAlias(
20+
"check",
21+
"; scalafmtSbtCheck; scalafmtCheckAll; Test/compile"
22+
)
2523

26-
val zioVersion = "2.0.6"
27-
val zioSchemaVersion = "0.4.2"
24+
val zioVersion = "2.0.9"
25+
val zioSchemaVersion = "0.4.8"
2826
val testcontainersVersion = "1.17.6"
2927
val testcontainersScalaVersion = "0.40.11"
3028
val logbackVersion = "1.2.11"
@@ -36,8 +34,8 @@ lazy val root = project
3634
unusedCompileDependenciesFilter -= moduleFilter("org.scala-js", "scalajs-library")
3735
)
3836
.aggregate(
39-
coreJVM,
40-
coreJS,
37+
core.js,
38+
core.jvm,
4139
driver,
4240
examples,
4341
jdbc,
@@ -46,48 +44,50 @@ lazy val root = project
4644
postgres,
4745
sqlserver,
4846
jdbc_hikaricp,
49-
macros,
47+
macros.js,
48+
macros.jvm,
5049
docs
5150
)
5251

5352
lazy val core = crossProject(JSPlatform, JVMPlatform)
5453
.in(file("core"))
54+
.dependsOn(macros)
5555
.settings(stdSettings("zio-sql"))
5656
.settings(crossProjectSettings)
5757
.settings(buildInfoSettings("zio.sql"))
5858
.settings(
5959
libraryDependencies ++= Seq(
60-
"dev.zio" %% "zio" % zioVersion,
61-
"dev.zio" %% "zio-streams" % zioVersion,
62-
"dev.zio" %% "zio-schema" % zioSchemaVersion,
63-
"dev.zio" %% "zio-schema-derivation" % zioSchemaVersion,
64-
"dev.zio" %% "zio-test" % zioVersion % Test,
65-
"dev.zio" %% "zio-test-sbt" % zioVersion % Test
66-
),
67-
dependencyOverrides += "dev.zio" %% "zio" % zioVersion,
68-
resolvers ++= Resolver.sonatypeOssRepos("snapshots")
60+
"dev.zio" %%% "zio-streams" % zioVersion,
61+
"dev.zio" %%% "zio-schema" % zioSchemaVersion,
62+
"dev.zio" %%% "zio-schema-derivation" % zioSchemaVersion,
63+
"dev.zio" %%% "zio-test" % zioVersion % Test,
64+
"dev.zio" %%% "zio-test-sbt" % zioVersion % Test
65+
)
6966
)
7067
.settings(testFrameworks += new TestFramework("zio.test.sbt.ZTestFramework"))
68+
.jsSettings(
69+
scalaJSUseMainModuleInitializer := true
70+
)
71+
.enablePlugins(BuildInfoPlugin)
7172

72-
lazy val coreJS = core.js
73-
.settings(scalaJSUseMainModuleInitializer := true)
74-
75-
lazy val coreJVM = core.jvm.dependsOn(macros)
76-
77-
lazy val macros = project
73+
lazy val macros = crossProject(JSPlatform, JVMPlatform)
7874
.in(file("macros"))
7975
.settings(stdSettings("zio-sql-macros"))
76+
.settings(buildInfoSettings("zio.sql.macros"))
8077
.settings(
78+
libraryDependencies ++= Seq(
79+
"dev.zio" %%% "zio" % zioVersion
80+
),
8181
libraryDependencies ++= {
8282
if (scalaVersion.value == ScalaDotty) {
8383
Seq()
8484
} else
8585
Seq(
86-
"org.scala-lang" % "scala-reflect" % scalaVersion.value,
87-
"dev.zio" %% "zio" % zioVersion
86+
"org.scala-lang" % "scala-reflect" % scalaVersion.value
8887
)
8988
}
9089
)
90+
.enablePlugins(BuildInfoPlugin)
9191

9292
lazy val docs = project
9393
.in(file("zio-sql-docs"))
@@ -97,7 +97,7 @@ lazy val docs = project
9797
scalacOptions -= "-Xfatal-warnings",
9898
crossScalaVersions := Seq(Scala213, Scala212, ScalaDotty),
9999
projectName := "ZIO SQL",
100-
mainModuleName := (coreJVM / moduleName).value,
100+
mainModuleName := (core.jvm / moduleName).value,
101101
projectStage := ProjectStage.ProductionReady,
102102
ScalaUnidoc / unidoc / unidocProjectFilter := inProjects(),
103103
docsPublishBranch := "master",
@@ -142,11 +142,10 @@ lazy val driver = project
142142
"dev.zio" %% "zio-schema-derivation" % zioSchemaVersion,
143143
"dev.zio" %% "zio-test" % zioVersion % Test,
144144
"dev.zio" %% "zio-test-sbt" % zioVersion % Test
145-
),
146-
dependencyOverrides += "dev.zio" %% "zio" % zioVersion,
147-
resolvers ++= Resolver.sonatypeOssRepos("snapshots")
145+
)
148146
)
149147
.settings(testFrameworks += new TestFramework("zio.test.sbt.ZTestFramework"))
148+
.enablePlugins(BuildInfoPlugin)
150149

151150
lazy val jdbc = project
152151
.in(file("jdbc"))
@@ -169,11 +168,12 @@ lazy val jdbc = project
169168
)
170169
.settings(testFrameworks += new TestFramework("zio.test.sbt.ZTestFramework"))
171170
.dependsOn(core.jvm)
171+
.enablePlugins(BuildInfoPlugin)
172172

173173
lazy val jdbc_hikaricp = project
174174
.in(file("jdbc-hikaricp"))
175175
.settings(stdSettings("zio-sql-jdbc-hickaricp"))
176-
.settings(buildInfoSettings("zio.sql.jdbc-hickaricp"))
176+
.settings(buildInfoSettings("zio.sql.jdbc.hickaricp"))
177177
.settings(
178178
libraryDependencies ++= Seq(
179179
"com.zaxxer" % "HikariCP" % "4.0.3", // 5.x doesn't support Java 1.8
@@ -186,6 +186,7 @@ lazy val jdbc_hikaricp = project
186186
)
187187
.settings(testFrameworks += new TestFramework("zio.test.sbt.ZTestFramework"))
188188
.dependsOn(jdbc)
189+
.enablePlugins(BuildInfoPlugin)
189190

190191
lazy val mysql = project
191192
.in(file("mysql"))
@@ -205,6 +206,7 @@ lazy val mysql = project
205206
)
206207
)
207208
.settings(testFrameworks += new TestFramework("zio.test.sbt.ZTestFramework"))
209+
.enablePlugins(BuildInfoPlugin)
208210

209211
lazy val oracle = project
210212
.in(file("oracle"))
@@ -224,6 +226,7 @@ lazy val oracle = project
224226
)
225227
)
226228
.settings(testFrameworks += new TestFramework("zio.test.sbt.ZTestFramework"))
229+
.enablePlugins(BuildInfoPlugin)
227230

228231
lazy val postgres = project
229232
.in(file("postgres"))
@@ -243,6 +246,7 @@ lazy val postgres = project
243246
)
244247
)
245248
.settings(testFrameworks += new TestFramework("zio.test.sbt.ZTestFramework"))
249+
.enablePlugins(BuildInfoPlugin)
246250

247251
lazy val sqlserver = project
248252
.in(file("sqlserver"))
@@ -262,3 +266,4 @@ lazy val sqlserver = project
262266
)
263267
)
264268
.settings(testFrameworks += new TestFramework("zio.test.sbt.ZTestFramework"))
269+
.enablePlugins(BuildInfoPlugin)

project/plugins.sbt

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.0.6"
77
addSbtPlugin("ch.epfl.scala" % "sbt-bloop" % "1.5.3")
88
addSbtPlugin("com.github.sbt" % "sbt-ci-release" % "1.5.9")
99
addSbtPlugin("com.github.cb372" % "sbt-explicit-dependencies" % "0.2.16")
10-
addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.10.1")
10+
addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.10.4")
1111
addSbtPlugin("io.github.davidgregory084" % "sbt-tpolecat" % "0.4.2")
1212
addSbtPlugin("dev.zio" % "zio-sbt-website" % "0.3.10")

0 commit comments

Comments
 (0)