avro4s/project/Build.scala

90 строки
3.0 KiB
Scala
Исходник Постоянная ссылка Обычный вид История

import sbt.Keys._
2018-05-28 13:17:06 +03:00
import sbt._
2016-11-09 01:05:31 +03:00
/** Adds common settings automatically to all subprojects */
2019-05-16 06:36:38 +03:00
object Build extends AutoPlugin {
2016-11-09 01:05:31 +03:00
object autoImport {
val org = "com.sksamuel.avro4s"
2021-06-13 23:52:51 +03:00
val AvroVersion = "1.10.2"
val Log4jVersion = "1.2.17"
2021-09-21 06:30:21 +03:00
val ScalatestVersion = "3.2.10"
val Slf4jVersion = "1.7.32"
2021-03-02 08:51:05 +03:00
val Json4sVersion = "3.6.11"
2021-06-14 15:34:10 +03:00
val CatsVersion = "2.6.1"
2021-05-26 22:57:30 +03:00
val RefinedVersion = "0.9.26"
2021-05-17 03:52:27 +03:00
val ShapelessVersion = "2.3.7"
val MagnoliaVersion = "2.0.0-M9"
val SbtJmhVersion = "0.3.7"
val JmhVersion = "1.32"
}
2016-11-09 01:05:31 +03:00
import autoImport._
2016-11-09 01:05:31 +03:00
def isGithubActions: Boolean = sys.env.getOrElse("CI", "false") == "true"
def releaseVersion: String = sys.env.getOrElse("RELEASE_VERSION", "")
def isRelease: Boolean = releaseVersion != ""
def githubRunNumber: String = sys.env.getOrElse("GITHUB_RUN_NUMBER", "local")
def ossrhUsername: String = sys.env.getOrElse("OSSRH_USERNAME", "")
def ossrhPassword: String = sys.env.getOrElse("OSSRH_PASSWORD", "")
def publishVersion: String = if (isRelease) releaseVersion else "5.0.0." + githubRunNumber + "-SNAPSHOT"
2019-05-18 00:51:55 +03:00
2016-11-09 01:05:31 +03:00
override def trigger = allRequirements
override def projectSettings = publishingSettings ++ Seq(
organization := org,
scalaVersion := "3.1.0",
2016-11-09 01:05:31 +03:00
resolvers += Resolver.mavenLocal,
parallelExecution in Test := false,
2018-05-28 13:17:06 +03:00
javacOptions := Seq("-source", "1.8", "-target", "1.8"),
2016-11-09 01:05:31 +03:00
libraryDependencies ++= Seq(
2021-06-02 01:07:30 +03:00
"org.scala-lang" % "scala3-compiler_3" % scalaVersion.value,
2016-11-09 01:05:31 +03:00
"org.apache.avro" % "avro" % AvroVersion,
"org.slf4j" % "slf4j-api" % Slf4jVersion % "test",
2016-11-09 01:05:31 +03:00
"log4j" % "log4j" % Log4jVersion % "test",
"org.slf4j" % "log4j-over-slf4j" % Slf4jVersion % "test",
2021-06-02 01:07:30 +03:00
"org.scalatest" % "scalatest_3" % ScalatestVersion % "test"
2016-11-09 01:05:31 +03:00
)
)
val publishingSettings = Seq(
publishMavenStyle := true,
Test / publishArtifact := false,
2020-09-21 16:06:08 +03:00
credentials += Credentials(
"Sonatype Nexus Repository Manager",
"oss.sonatype.org",
ossrhUsername,
ossrhPassword
),
version := publishVersion,
2016-11-09 01:05:31 +03:00
publishTo := {
val nexus = "https://oss.sonatype.org/"
if (isRelease) {
2016-11-09 01:05:31 +03:00
Some("releases" at s"${nexus}service/local/staging/deploy/maven2")
2020-09-21 16:06:08 +03:00
} else {
Some("snapshots" at s"${nexus}content/repositories/snapshots")
2016-11-09 01:05:31 +03:00
}
},
pomExtra := {
<url>https://github.com/sksamuel/avro4s</url>
<licenses>
<license>
<name>The Apache 2.0 License</name>
<url>https://opensource.org/licenses/Apache-2.0</url>
2016-11-09 01:05:31 +03:00
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<url>git@github.com:sksamuel/avro4s.git</url>
<connection>scm:git@github.com:sksamuel/avro4s.git</connection>
</scm>
<developers>
<developer>
<id>sksamuel</id>
<name>sksamuel</name>
<url>http://github.com/sksamuel</url>
</developer>
</developers>
}
)
2019-06-26 12:30:45 +03:00
}