build.sbt 4.0 KB
Newer Older
D
Dejan Mijić 已提交
1 2
import BuildHelper._

D
Dejan Mijić 已提交
3 4
Global / onChangedBuildSource := ReloadOnSourceChanges

D
Dejan Mijić 已提交
5 6 7
inThisBuild(
  List(
    developers := List(
D
Dejan Mijić 已提交
8
      Developer("jdegoes", "John De Goes", "john@degoes.net", url("https://degoes.net")),
D
Dejan Mijić 已提交
9
      Developer("mijicd", "Dejan Mijic", "dmijic@acm.org", url("https://github.com/mijicd"))
D
Dejan Mijić 已提交
10 11 12 13 14 15
    ),
    homepage         := Some(url("https://github.com/zio/zio-redis/")),
    licenses         := List("Apache-2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0")),
    organization     := "dev.zio",
    organizationName := "John A. De Goes and the ZIO contributors",
    startYear        := Some(2021)
D
Dejan Mijić 已提交
16 17 18
  )
)

D
Dejan Mijić 已提交
19 20 21
addCommandAlias("check", "fixCheck; fmtCheck")
addCommandAlias("fix", "scalafixAll")
addCommandAlias("fixCheck", "scalafixAll --check")
D
Dejan Mijić 已提交
22 23
addCommandAlias("fmt", "all scalafmtSbt scalafmtAll")
addCommandAlias("fmtCheck", "all scalafmtSbtCheck scalafmtCheckAll")
D
Dejan Mijić 已提交
24
addCommandAlias("prepare", "fix; fmt")
P
Paul Daniels 已提交
25

D
Dejan Mijić 已提交
26
lazy val root =
P
Paul Daniels 已提交
27 28
  project
    .in(file("."))
D
Dejan Mijić 已提交
29
    .settings(publish / skip := true)
30
    .aggregate(redis, benchmarks, example)
D
Dejan Mijić 已提交
31 32 33 34 35

lazy val redis =
  project
    .in(file("redis"))
    .enablePlugins(BuildInfoPlugin)
D
Dejan Mijić 已提交
36 37
    .settings(stdSettings("zio-redis"))
    .settings(buildInfoSettings("zio.redis"))
P
Paul Daniels 已提交
38 39
    .settings(
      libraryDependencies ++= Seq(
梦境迷离's avatar
梦境迷离 已提交
40
        "dev.zio"                %% "zio-streams"             % Zio,
D
Dejan Mijić 已提交
41 42 43
        "dev.zio"                %% "zio-logging"             % "2.1.0",
        "dev.zio"                %% "zio-schema"              % "0.2.1",
        "dev.zio"                %% "zio-schema-protobuf"     % "0.2.1" % Test,
梦境迷离's avatar
梦境迷离 已提交
44 45
        "dev.zio"                %% "zio-test"                % Zio     % Test,
        "dev.zio"                %% "zio-test-sbt"            % Zio     % Test,
D
Dejan Mijić 已提交
46
        "org.scala-lang.modules" %% "scala-collection-compat" % "2.8.1"
P
Paul Daniels 已提交
47
      ),
D
Dejan Mijić 已提交
48
      testFrameworks := Seq(new TestFramework("zio.test.sbt.ZTestFramework"))
P
Paul Daniels 已提交
49
    )
D
Dejan Mijić 已提交
50 51 52 53

lazy val benchmarks =
  project
    .in(file("benchmarks"))
D
Dejan Mijić 已提交
54
    .settings(stdSettings("benchmarks"))
D
Dejan Mijić 已提交
55 56 57
    .dependsOn(redis)
    .enablePlugins(JmhPlugin)
    .settings(
D
Dejan Mijić 已提交
58
      publish / skip := true,
D
Dejan Mijić 已提交
59
      libraryDependencies ++= Seq(
60
        "dev.profunktor"    %% "redis4cats-effects"  % "1.2.0",
61
        "io.chrisdavenport" %% "rediculous"          % "0.4.0",
62
        "io.laserdisc"      %% "laserdisc-fs2"       % "0.5.0",
D
Dejan Mijić 已提交
63
        "dev.zio"           %% "zio-schema-protobuf" % "0.2.1"
D
Dejan Mijić 已提交
64
      )
D
Dejan Mijić 已提交
65
    )
66 67 68 69 70 71 72

lazy val example =
  project
    .in(file("example"))
    .settings(stdSettings("example"))
    .dependsOn(redis)
    .settings(
D
Dejan Mijić 已提交
73
      publish / skip := true,
74
      libraryDependencies ++= Seq(
75 76
        "com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.7.6",
        "com.softwaremill.sttp.client3" %% "zio-json"                      % "3.7.6",
梦境迷离's avatar
梦境迷离 已提交
77
        "dev.zio"                       %% "zio-streams"                   % Zio,
D
Dejan Mijić 已提交
78 79 80 81
        "dev.zio"                       %% "zio-config-magnolia"           % "3.0.2",
        "dev.zio"                       %% "zio-config-typesafe"           % "3.0.2",
        "dev.zio"                       %% "zio-schema-protobuf"           % "0.2.1",
        "dev.zio"                       %% "zio-json"                      % "0.3.0-RC11",
梦境迷离's avatar
梦境迷离 已提交
82
        "io.d11"                        %% "zhttp"                         % "2.0.0-RC10"
D
Dejan Mijić 已提交
83
      )
84
    )
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

lazy val docs = project
  .in(file("zio-redis-docs"))
  .settings(
    publish / skip := true,
    moduleName     := "zio-redis-docs",
    scalacOptions -= "-Yno-imports",
    scalacOptions -= "-Xfatal-warnings",
    ScalaUnidoc / unidoc / unidocProjectFilter := inProjects(redis),
    ScalaUnidoc / unidoc / target              := (LocalRootProject / baseDirectory).value / "website" / "static" / "api",
    cleanFiles += (ScalaUnidoc / unidoc / target).value,
    docusaurusCreateSite     := docusaurusCreateSite.dependsOn(Compile / unidoc).value,
    docusaurusPublishGhpages := docusaurusPublishGhpages.dependsOn(Compile / unidoc).value
  )
  .settings(macroDefinitionSettings)
  .dependsOn(redis)
  .enablePlugins(MdocPlugin, DocusaurusPlugin, ScalaUnidocPlugin)