diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ab5c5c841..2fa3a98d0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -80,11 +80,11 @@ jobs: - name: Make target directories if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/scala3') - run: mkdir -p runtime/.js/target spire/.js/target spire/.jvm/target testkit/.native/target units/.jvm/target runtime/.native/target testkit/.js/target parser/.jvm/target unidocs/target parser/.js/target core/.native/target pureconfig/.jvm/target spire/.native/target parser/.native/target core/.js/target units/.native/target runtime/.jvm/target core/.jvm/target refined/.native/target refined/.js/target refined/.jvm/target units/.js/target testkit/.jvm/target project/target + run: mkdir -p runtime/.js/target spire/.js/target spire/.jvm/target testkit/.native/target units/.jvm/target runtime/.native/target testkit/.js/target parser/.jvm/target unidocs/target parser/.js/target core/.native/target ciris/.js/target pureconfig/.jvm/target spire/.native/target parser/.native/target core/.js/target ciris/.jvm/target units/.native/target runtime/.jvm/target core/.jvm/target refined/.native/target refined/.js/target ciris/.native/target refined/.jvm/target units/.js/target testkit/.jvm/target project/target - name: Compress target directories if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/scala3') - run: tar cf targets.tar runtime/.js/target spire/.js/target spire/.jvm/target testkit/.native/target units/.jvm/target runtime/.native/target testkit/.js/target parser/.jvm/target unidocs/target parser/.js/target core/.native/target pureconfig/.jvm/target spire/.native/target parser/.native/target core/.js/target units/.native/target runtime/.jvm/target core/.jvm/target refined/.native/target refined/.js/target refined/.jvm/target units/.js/target testkit/.jvm/target project/target + run: tar cf targets.tar runtime/.js/target spire/.js/target spire/.jvm/target testkit/.native/target units/.jvm/target runtime/.native/target testkit/.js/target parser/.jvm/target unidocs/target parser/.js/target core/.native/target ciris/.js/target pureconfig/.jvm/target spire/.native/target parser/.native/target core/.js/target ciris/.jvm/target units/.native/target runtime/.jvm/target core/.jvm/target refined/.native/target refined/.js/target ciris/.native/target refined/.jvm/target units/.js/target testkit/.jvm/target project/target - name: Upload target directories if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/scala3') diff --git a/build.sbt b/build.sbt index c4251f9d5..60bc32e93 100644 --- a/build.sbt +++ b/build.sbt @@ -46,6 +46,7 @@ lazy val root = tlCrossRootProject runtime, parser, pureconfig, + ciris, spire, refined, testkit, @@ -135,6 +136,28 @@ lazy val pureconfig = crossProject( libraryDependencies += "com.github.pureconfig" %%% "pureconfig-core" % "0.17.4" ) +lazy val ciris = crossProject( + JVMPlatform, + JSPlatform, + NativePlatform +) + .crossType(CrossType.Pure) + .in(file("ciris")) + .settings(name := "coulomb-ciris") + .dependsOn( + core % "compile->compile;test->test", + runtime, + parser, + units % Test + ) + .settings( + tlVersionIntroduced := Map("3" -> "0.8.1") + ) + .settings(commonSettings: _*) + .settings( + libraryDependencies += "is.cir" %%% "ciris" % "3.3.0" + ) + lazy val spire = crossProject(JVMPlatform, JSPlatform, NativePlatform) .crossType(CrossType.Pure) .in(file("spire")) @@ -180,6 +203,7 @@ lazy val all = project runtime.jvm, parser.jvm, pureconfig.jvm, + ciris.jvm, spire.jvm, refined.jvm ) // scala repl only needs JVMPlatform subproj builds @@ -210,6 +234,7 @@ lazy val docs = project runtime.jvm, parser.jvm, pureconfig.jvm, + ciris.jvm, spire.jvm, refined.jvm ) diff --git a/ciris/src/main/scala/coulomb/ciris.scala b/ciris/src/main/scala/coulomb/ciris.scala new file mode 100644 index 000000000..b9a09d76f --- /dev/null +++ b/ciris/src/main/scala/coulomb/ciris.scala @@ -0,0 +1,20 @@ +/* + * Copyright 2022 Erik Erlandson + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package coulomb.ciris + +object test: + val stub = 0