Skip to content

Commit

Permalink
Merge pull request #13 from dwickern/play-3.0
Browse files Browse the repository at this point in the history
Add support for Play 2.9, Play 3.0 and Scala 3
  • Loading branch information
dwickern authored Nov 5, 2023
2 parents c165733 + e752c08 commit 227810a
Show file tree
Hide file tree
Showing 14 changed files with 85 additions and 26 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ jobs:
- name: Checkout
uses: actions/checkout@v2

- name: Set up JDK 1.8
- name: Set up JDK
uses: actions/setup-java@v1
with:
java-version: 1.8
java-version: 11

- name: Cache SBT
uses: actions/cache@v2
Expand Down
39 changes: 36 additions & 3 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,14 @@ ThisBuild / organization := "com.github.dwickern"
lazy val play27 = PlayAxis("2.7.9")
lazy val play28 = PlayAxis("2.8.7")
lazy val play288 = PlayAxis("2.8.8")
lazy val play29 = PlayAxis("2.9.0")
lazy val play30 = PlayAxis("3.0.0")

lazy val scala212 = "2.12.13"
lazy val scala213 = "2.13.4"
lazy val scala3 = "3.3.1"

lazy val swaggerPlayVersion = "3.1.0"
lazy val swaggerPlayVersion = "4.0.0"

lazy val root = (project in file("."))
.aggregate(plugin.projectRefs: _*)
Expand Down Expand Up @@ -52,6 +55,10 @@ lazy val pluginTests = plugin
.dependsOn(runner.projectRefs.map(_ / publishLocal).join)
.value
)
.scriptedTests(play30, scala3)
.scriptedTests(play30, scala213)
.scriptedTests(play29, scala3)
.scriptedTests(play29, scala213)
.scriptedTests(play288, scala213)
.scriptedTests(play288, scala212)
.scriptedTests(play28, scala213)
Expand All @@ -74,10 +81,36 @@ lazy val runner = (projectMatrix in file("runner"))
publishSettings,
name := "sbt-swagger-play-runner",
libraryDependencies ++= Seq(
"org.scalatest" %% "scalatest" % "3.2.2" % Test,
"ch.qos.logback" % "logback-classic" % "1.2.3" % Test,
"org.scalatest" %% "scalatest" % "3.2.17" % Test,
"ch.qos.logback" % "logback-classic" % "1.2.12" % Test,
),
)
.customRow(
scalaVersions = Seq(scala3, scala213),
axisValues = Seq(play30, VirtualAxis.jvm),
_.settings(
moduleName := "sbt-swagger-play3.0-runner",
libraryDependencies ++= Seq(
"com.github.dwickern" %% "swagger-play3.0" % swaggerPlayVersion,
"com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.14.3",
"io.swagger" % "swagger-core" % "1.6.11",
"io.swagger" % "swagger-parser" % "1.0.67",
),
)
)
.customRow(
scalaVersions = Seq(scala3, scala213),
axisValues = Seq(play29, VirtualAxis.jvm),
_.settings(
moduleName := "sbt-swagger-play2.9-runner",
libraryDependencies ++= Seq(
"com.github.dwickern" %% "swagger-play2.9" % swaggerPlayVersion,
"com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.14.3",
"io.swagger" % "swagger-core" % "1.6.11",
"io.swagger" % "swagger-parser" % "1.0.67",
),
)
)
.customRow(
scalaVersions = Seq(scala213, scala212),
axisValues = Seq(play288, VirtualAxis.jvm),
Expand Down
2 changes: 1 addition & 1 deletion project/build.properties
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sbt.version=1.4.7
sbt.version=1.9.7
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ trait ValidationWarning {
class ValidationModelConverter(warn: ValidationWarning => Unit) extends ModelConverter {
def resolveProperty(propertyType: Type, context: ModelConverterContext, annotations: Array[Annotation], chain: util.Iterator[ModelConverter]): Property = {
val hasHiddenAnnotation = Option(annotations)
.getOrElse(Array.empty)
.getOrElse(Array.empty[Annotation])
.exists {
case p: ApiModelProperty if p.hidden => true
case _ => false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,11 @@ object SwaggerPlayPlugin extends AutoPlugin {
swaggerPlayConfiguration := None,
swaggerPlayRunnerArtifact := {
val runnerVersions = Map(
SemanticSelector(">=3.0.0") -> "sbt-swagger-play3.0-runner",
SemanticSelector(">=2.9.0 <3.0.0") -> "sbt-swagger-play2.9-runner",
SemanticSelector(">=2.8.8 <2.9.0") -> "sbt-swagger-play2.8.8-runner",
SemanticSelector(">=2.8.0 <2.8.8") -> "sbt-swagger-play2.8-runner",
SemanticSelector("=2.7") -> "sbt-swagger-play2.7-runner",
SemanticSelector("=2.7") -> "sbt-swagger-play2.7-runner",
)
val playVersion = VersionNumber(PlayVersion.current)
val runner = runnerVersions.collectFirst { case (semver, runner) if playVersion.matchesSemVer(semver) => runner }
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sbt.version=1.4.7
sbt.version=1.9.7
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
addSbtPlugin("com.github.dwickern" % "sbt-swagger-play" % sys.props("plugin.version"))
addSbtPlugin("com.github.dwickern" % "sbt-swagger-play-testkit" % sys.props("plugin.version"))
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % sys.props("play.version"))
ThisBuild / libraryDependencySchemes += "org.scala-lang.modules" %% "scala-xml" % VersionScheme.Always

val pluginVersion = sys.props("plugin.version")
val playVersion = sys.props("play.version")
val playOrg = if (playVersion.startsWith("2.")) "com.typesafe.play" else "org.playframework"

addSbtPlugin("com.github.dwickern" % "sbt-swagger-play" % pluginVersion)
addSbtPlugin("com.github.dwickern" % "sbt-swagger-play-testkit" % pluginVersion)
addSbtPlugin(playOrg % "sbt-plugin" % playVersion)
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sbt.version=1.4.7
sbt.version=1.9.7
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
addSbtPlugin("com.github.dwickern" % "sbt-swagger-play" % sys.props("plugin.version"))
addSbtPlugin("com.github.dwickern" % "sbt-swagger-play-testkit" % sys.props("plugin.version"))
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % sys.props("play.version"))
ThisBuild / libraryDependencySchemes += "org.scala-lang.modules" %% "scala-xml" % VersionScheme.Always

val pluginVersion = sys.props("plugin.version")
val playVersion = sys.props("play.version")
val playOrg = if (playVersion.startsWith("2.")) "com.typesafe.play" else "org.playframework"

addSbtPlugin("com.github.dwickern" % "sbt-swagger-play" % pluginVersion)
addSbtPlugin("com.github.dwickern" % "sbt-swagger-play-testkit" % pluginVersion)
addSbtPlugin(playOrg % "sbt-plugin" % playVersion)
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sbt.version=1.4.7
sbt.version=1.9.7
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
addSbtPlugin("com.github.dwickern" % "sbt-swagger-play" % sys.props("plugin.version"))
addSbtPlugin("com.github.dwickern" % "sbt-swagger-play-testkit" % sys.props("plugin.version"))
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % sys.props("play.version"))
ThisBuild / libraryDependencySchemes += "org.scala-lang.modules" %% "scala-xml" % VersionScheme.Always

val pluginVersion = sys.props("plugin.version")
val playVersion = sys.props("play.version")
val playOrg = if (playVersion.startsWith("2.")) "com.typesafe.play" else "org.playframework"

addSbtPlugin("com.github.dwickern" % "sbt-swagger-play" % pluginVersion)
addSbtPlugin("com.github.dwickern" % "sbt-swagger-play-testkit" % pluginVersion)
addSbtPlugin(playOrg % "sbt-plugin" % playVersion)
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sbt.version=1.4.7
sbt.version=1.9.7
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
addSbtPlugin("com.github.dwickern" % "sbt-swagger-play" % sys.props("plugin.version"))
addSbtPlugin("com.github.dwickern" % "sbt-swagger-play-testkit" % sys.props("plugin.version"))
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % sys.props("play.version"))
ThisBuild / libraryDependencySchemes += "org.scala-lang.modules" %% "scala-xml" % VersionScheme.Always

val pluginVersion = sys.props("plugin.version")
val playVersion = sys.props("play.version")
val playOrg = if (playVersion.startsWith("2.")) "com.typesafe.play" else "org.playframework"

addSbtPlugin("com.github.dwickern" % "sbt-swagger-play" % pluginVersion)
addSbtPlugin("com.github.dwickern" % "sbt-swagger-play-testkit" % pluginVersion)
addSbtPlugin(playOrg % "sbt-plugin" % playVersion)
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@ object SwaggerPlayTestPlugin extends AutoPlugin {
},
)

def toJson(path: String): JsValue = {
private def toJson(path: String): JsValue = {
Json.parse(IO.readBytes(file(path)))
}

def httpRequest(requestUrl: URL): Unit = {
private def httpRequest(requestUrl: URL): Unit = {
@tailrec def read(attempts: Int): String = {
try {
val conn = requestUrl.openConnection().asInstanceOf[java.net.HttpURLConnection]
Expand Down

0 comments on commit 227810a

Please sign in to comment.