From 018547cb5a10d16bfdf71c6f79dde105bf14fa32 Mon Sep 17 00:00:00 2001 From: James Earl Douglas Date: Sun, 17 Nov 2024 13:17:34 -0700 Subject: [PATCH] Move Servlet spec in front of the version suffix (#1001) --- build.sbt | 27 ++++++++++++++++--- .../com/earldouglas/sbt/war/SbtWar.scala | 12 ++++++++- 2 files changed, 34 insertions(+), 5 deletions(-) diff --git a/build.sbt b/build.sbt index b0e8a27d..c71779d4 100644 --- a/build.sbt +++ b/build.sbt @@ -11,12 +11,23 @@ ThisBuild / scalacOptions += s"-P:semanticdb:sourceroot:${baseDirectory.value}" ThisBuild / libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.19" % "test" ThisBuild / Test / fork := true +def warRunnerVersion(servletSpec: String) = + Def.setting { + version.value + .split("-") + .toList match { + case v :: Nil => s"""${v}_${servletSpec}""" + case v :: t => s"""${v}_${servletSpec}-${t.mkString("-")}""" + case _ => throw new Exception("wat") + } + } + lazy val warRunner_3_0 = project .in(file("runners/3.0")) .settings( name := "war-runner", - version := version.value + "_3.0", + version := warRunnerVersion("3.0").value, Compile / compile / javacOptions ++= Seq( "-source", @@ -35,7 +46,7 @@ lazy val warRunner_3_1 = .in(file("runners/3.1")) .settings( name := "war-runner", - version := version.value + "_3.1", + version := warRunnerVersion("3.1").value, Compile / compile / javacOptions ++= Seq( "-source", @@ -54,7 +65,7 @@ lazy val warRunner_4_0 = .in(file("runners/4.0")) .settings( name := "war-runner", - version := version.value + "_4.0", + version := warRunnerVersion("4.0").value, Compile / compile / javacOptions ++= Seq( "-source", @@ -73,7 +84,7 @@ lazy val warRunner_6_0 = .in(file("runners/6.0")) .settings( name := "war-runner", - version := version.value + "_6.0", + version := warRunnerVersion("6.0").value, Compile / compile / javacOptions ++= Seq( "-source", @@ -144,6 +155,14 @@ ThisBuild / publishMavenStyle := true ThisBuild / publishTo := Some( "releases" at "https://oss.sonatype.org/service/local/staging/deploy/maven2" ) +ThisBuild / publishTo := { + val nexus = "https://oss.sonatype.org/" + if (isSnapshot.value) { + Some("snapshots" at nexus + "content/repositories/snapshots") + } else { + Some("releases" at nexus + "service/local/staging/deploy/maven2") + } +} ThisBuild / scmInfo := Some( ScmInfo( url("https://github.com/earldouglas/sbt-war"), diff --git a/src/main/scala/com/earldouglas/sbt/war/SbtWar.scala b/src/main/scala/com/earldouglas/sbt/war/SbtWar.scala index 24948367..cb37682a 100644 --- a/src/main/scala/com/earldouglas/sbt/war/SbtWar.scala +++ b/src/main/scala/com/earldouglas/sbt/war/SbtWar.scala @@ -127,8 +127,18 @@ object SbtWar extends AutoPlugin { val runnerLibrary: Initialize[ModuleID] = Def.setting { + val warRunnerVersion: String = - s"${BuildInfo.version}_${servletSpec.value}" + BuildInfo.version + .split("-") + .toList match { + case v :: Nil => + s"""${v}_${servletSpec.value}""" + case v :: t => + s"""${v}_${servletSpec.value}-${t.mkString("-")}""" + case _ => throw new Exception("wat") + } + "com.earldouglas" % s"war-runner" % warRunnerVersion % War }