Newer
Older
iw-project-support / build.sbt
Global / semanticdbEnabled := true
Global / semanticdbVersion := scalafixSemanticdb.revision

ThisBuild / organization := "works.iterative"
ThisBuild / versionScheme := Some("strict")

inThisBuild(
    List(
        publishTo := {
            val base = "https://dig.iterative.works/maven/"
            if (version.value.endsWith("SNAPSHOT"))
                Some("snapshots" at base + "snapshots")
            else Some("releases" at base + "releases")
        },
        credentials += {
            val username = sys.env.getOrElse("IW_USERNAME", "")
            val password = sys.env.getOrElse("IW_PASSWORD", "")
            Credentials(
                "GitBucket Maven Repository",
                "dig.iterative.works",
                username,
                password
            )
        }
    )
)

lazy val `sbt-iw-plugin-presets` = (project in file("sbt-iw-plugin-presets"))
    .enablePlugins(SbtPlugin, BuildInfoPlugin)
    .disablePlugins(Giter8Plugin)
    .settings(
        organization := "works.iterative.sbt",
        name := "sbt-iw-plugin-presets",
        description := "Iterative Works SBT project plugin presets",
        scriptedLaunchOpts := {
            scriptedLaunchOpts.value ++
                Seq("-Xmx1024M", "-Dplugin.version=" + version.value)
        },
        scriptedBufferLog := false,
        buildInfoKeys := Seq[BuildInfoKey](name, version),
        buildInfoPackage := "works.iterative.sbt"
    )

lazy val `sbt-iw-projects` = (project in file("sbt-iw-projects"))
    .enablePlugins(SbtPlugin)
    .disablePlugins(Giter8Plugin)
    .settings(
        organization := "works.iterative.sbt",
        name := "sbt-iw-projects",
        description := "Iterative Works SBT project support",
        scriptedLaunchOpts := {
            scriptedLaunchOpts.value ++
                Seq("-Xmx1024M", "-Dplugin.version=" + version.value)
        },
        scriptedBufferLog := false,
        addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.5.2"),
        addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.12.1"),
        addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.3.2"),
        addSbtPlugin("io.github.cquiroz" % "sbt-tzdb" % "4.3.0"),
        addSbtPlugin("io.github.cquiroz" % "sbt-locales" % "4.4.0"),
        addSbtPlugin("org.typelevel" % "sbt-tpolecat" % "0.5.1")
    )

lazy val `iw-project-support` = (project in file("."))
    .enablePlugins(ScriptedPlugin)
    .settings(
        name := "iw-project-support",
        Test / test := {
            val _ = (Test / g8Test).toTask("").value
        },
        scriptedLaunchOpts ++= List(
            "-Xms1024m",
            "-Xmx1024m",
            "-XX:ReservedCodeCacheSize=128m",
            "-Xss2m",
            "-Dfile.encoding=UTF-8"
        ),
        resolvers += Resolver.url(
            "typesafe",
            url("https://repo.typesafe.com/typesafe/ivy-releases/")
        )(Resolver.ivyStylePatterns),
        publish / skip := true
    )
    .aggregate(`sbt-iw-plugin-presets`, `sbt-iw-projects`)