@@ -110,6 +110,9 @@ lazy val root = project
110110 zioSchemaAvro,
111111 zioSchemaBson,
112112 zioSchemaMsgPack,
113+ zioSchemaXmlJS,
114+ zioSchemaXmlJVM,
115+ zioSchemaXml.native,
113116 docs
114117 )
115118
@@ -296,6 +299,57 @@ lazy val zioSchemaProtobufJS = zioSchemaProtobuf.js
296299
297300lazy val zioSchemaProtobufJVM = zioSchemaProtobuf.jvm
298301
302+ lazy val zioSchemaXml = crossProject(JSPlatform , JVMPlatform , NativePlatform )
303+ .in(file(" zio-schema-xml" ))
304+ .dependsOn(zioSchema, zioSchemaDerivation, tests % " test->test" )
305+ .settings(stdSettings(" zio-schema-xml" ))
306+ .settings(dottySettings)
307+ .settings(crossProjectSettings)
308+ .settings(buildInfoSettings(" zio.schema.xml" ))
309+ .settings(
310+ libraryDependencies ++= Seq (
311+ " org.scala-lang.modules" %%% " scala-xml" % scalaXmlVersion
312+ )
313+ )
314+ .jvmSettings(
315+ libraryDependencies ++= {
316+ if (scalaVersion.value.startsWith(" 3." )) {
317+ Seq (
318+ " org.scala-lang.modules" %% " scala-parser-combinators" % " 2.4.0" % Test ,
319+ " javax.xml.bind" % " jaxb-api" % " 2.3.1" % Test ,
320+ " org.scala-lang.modules" %% " scala-xml" % scalaXmlVersion % Test
321+ )
322+ } else {
323+ Seq (
324+ " org.scalaxb" %% " scalaxb" % " 1.11.1" % Test ,
325+ " org.scala-lang.modules" %% " scala-parser-combinators" % " 2.4.0" % Test ,
326+ " javax.xml.bind" % " jaxb-api" % " 2.3.1" % Test ,
327+ " org.scala-lang.modules" %% " scala-xml" % scalaXmlVersion % Test
328+ )
329+ }
330+ }
331+ )
332+ .nativeSettings(
333+ Test / fork := false ,
334+ libraryDependencies ++= Seq (
335+ " io.github.cquiroz" %%% " scala-java-time" % scalaJavaTimeVersion
336+ )
337+ )
338+ .jsSettings(
339+ libraryDependencies ++= Seq (
340+ " io.github.cquiroz" %%% " scala-java-time" % scalaJavaTimeVersion,
341+ " io.github.cquiroz" %%% " scala-java-time-tzdb" % scalaJavaTimeVersion
342+ )
343+ )
344+ .settings(testDeps)
345+ .settings(
346+ mimaPreviousArtifacts := Set ()
347+ )
348+
349+ lazy val zioSchemaXmlJS = zioSchemaXml.js
350+ lazy val zioSchemaXmlJVM = zioSchemaXml.jvm
351+ lazy val zioSchemaXmlNative = zioSchemaXml.native
352+
299353lazy val zioSchemaThrift = project
300354 .in(file(" zio-schema-thrift" ))
301355 .dependsOn(zioSchema.jvm, zioSchemaDerivation.jvm, tests.jvm % " test->test" )
@@ -480,7 +534,8 @@ lazy val docs = project
480534 zioSchemaAvro,
481535 zioSchemaBson,
482536 zioSchemaMsgPack,
483- zioSchemaThrift
537+ zioSchemaThrift,
538+ zioSchemaXmlJVM
484539 )
485540 .enablePlugins(WebsitePlugin )
486541
0 commit comments