Skip to content

Commit

Permalink
Align with common settings
Browse files Browse the repository at this point in the history
  • Loading branch information
geirolz committed Aug 10, 2022
1 parent d0d6b87 commit 4177ac1
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 25 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/cicd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
include:
- scala: 2.13.8
name: Scala2
test-tasks: coverage test coverageReport
test-tasks: coverage test coverageReport generate-docs
- scala: 3.1.3
name: Scala3
test-tasks: test # scoverage doesn’t support Scala 3
Expand All @@ -40,7 +40,7 @@ jobs:

#----------- JDK -----------
- name: Setup JDK
uses: actions/setup-java@v3.4.1
uses: actions/setup-java@v3
with:
distribution: "liberica"
java-version: 17
Expand Down Expand Up @@ -73,7 +73,7 @@ jobs:

#----------- JDK -----------
- name: Setup JDK
uses: actions/setup-java@v3.4.1
uses: actions/setup-java@v3
with:
distribution: "liberica"
java-version: 17
Expand Down
32 changes: 17 additions & 15 deletions build.sbt
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
import sbt.project
import ModuleMdocPlugin.autoImport.mdocScalacOptions

val prjName = "scope"
val org = "com.github.geirolz"
val prjName = "scope"
val org = "com.github.geirolz"
lazy val scala213 = "2.13.8"
lazy val scala31 = "3.1.3"
lazy val supportedScalaVersions = List(scala213, scala31)

//## global project to no publish ##
val copyReadMe = taskKey[Unit]("Copy generated README to main folder.")
Expand Down Expand Up @@ -31,12 +34,10 @@ lazy val scope: Project = project
name := prjName,
description := "A functional and type safe models layer separator",
organization := org,

// docs
copyReadMe := IO.copyFile(file("docs/compiled/README.md"), file("README.md")),
(Compile / compile) := (Compile / compile)
.dependsOn(copyReadMe.toTask.dependsOn((docs / mdoc).toTask("")))
.value
crossScalaVersions := Nil
)
.settings(
copyReadMe := IO.copyFile(file("docs/compiled/README.md"), file("README.md"))
)
.aggregate(core, docs, generic)

Expand Down Expand Up @@ -105,20 +106,19 @@ def buildModule(prjModuleName: String, toPublish: Boolean, folder: String): Proj
}

//=============================== SETTINGS ===============================
lazy val allSettings = baseSettings

lazy val noPublishSettings = Seq(
lazy val noPublishSettings: Seq[Def.Setting[_]] = Seq(
publish := {},
publishLocal := {},
publishArtifact := false,
publish / skip := true
)

lazy val baseSettings = Seq(
lazy val baseSettings: Seq[Def.Setting[_]] = Seq(
// scala
crossScalaVersions := List("2.13.8", "3.1.3"),
scalaVersion := crossScalaVersions.value.head,
crossScalaVersions := supportedScalaVersions,
scalaVersion := supportedScalaVersions.head,
scalacOptions ++= scalacSettings(scalaVersion.value),
versionScheme := Some("early-semver"),
// dependencies
resolvers ++= ProjectResolvers.all,
libraryDependencies ++= ProjectDependencies.common ++ {
Expand All @@ -142,7 +142,8 @@ def scalacSettings(scalaVersion: String): Seq[String] =
"-language:existentials", // Existential types (besides wildcard types) can be written and inferred
"-language:experimental.macros", // Allow macro definition (besides implementation and application)
"-language:higherKinds", // Allow higher-kinded types
"-language:implicitConversions" // Allow definition of implicit functions called views
"-language:implicitConversions", // Allow definition of implicit functions called views
"-language:dynamics"
) ++ {
CrossVersion.partialVersion(scalaVersion) match {
case Some((3, _)) =>
Expand Down Expand Up @@ -194,3 +195,4 @@ def scalacSettings(scalaVersion: String): Seq[String] =

//=============================== ALIASES ===============================
addCommandAlias("check", ";clean;test")
addCommandAlias("generate-docs", "mdoc;copyReadMe;")
17 changes: 10 additions & 7 deletions project/ProjectResolvers.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,14 @@ import sbt.librarymanagement.MavenRepository

object ProjectResolvers {

lazy val all: Seq[MavenRepository] = Seq(
Resolver.sonatypeRepo("public"),
Resolver.sonatypeRepo("snapshots"),
Resolver.sonatypeRepo("releases"),
"Maven repo1" at "https://repo1.maven.org/",
"Maven repo2" at "https://mvnrepository.com/artifact"
)
lazy val all: Seq[MavenRepository] =
Seq(
Resolver.sonatypeOssRepos("public"),
Resolver.sonatypeOssRepos("snapshots"),
Resolver.sonatypeOssRepos("releases"),
Seq(
"Maven repo1" at "https://repo1.maven.org/",
"Maven repo2" at "https://mvnrepository.com/artifact"
)
).flatten
}

0 comments on commit 4177ac1

Please sign in to comment.