diff --git a/src/main/scala/com/github/sbt/sbom/PluginConstants.scala b/src/main/scala/com/github/sbt/sbom/PluginConstants.scala index aa01d5a..d7afdc1 100644 --- a/src/main/scala/com/github/sbt/sbom/PluginConstants.scala +++ b/src/main/scala/com/github/sbt/sbom/PluginConstants.scala @@ -3,14 +3,8 @@ package com.github.sbt.sbom import org.cyclonedx.Version object PluginConstants { - val supportedVersions: Seq[Version] = Seq( - Version.VERSION_10, - Version.VERSION_11, - Version.VERSION_12, - Version.VERSION_13, - Version.VERSION_14 - ) - val defaultSupportedVersion = Version.VERSION_10 + val supportedVersions: Seq[Version] = Version.values() + val defaultSupportedVersion: Version = supportedVersions.last val supportedVersionsDescr: String = { supportedVersions .take(supportedVersions.size - 1) diff --git a/src/sbt-test/dependencies/compile/build.sbt b/src/sbt-test/dependencies/compile/build.sbt index 6408e52..9028e03 100644 --- a/src/sbt-test/dependencies/compile/build.sbt +++ b/src/sbt-test/dependencies/compile/build.sbt @@ -20,13 +20,7 @@ lazy val check = taskKey[Unit]("check") lazy val checkTask = Def.task { val s: TaskStreams = streams.value s.log.info("Verifying bom content...") - val bomFile = makeBom.value - val context = thisProject.value - val expected = XML.loadFile(file(s"${context.base}/etc/bom.xml")) - s.log.info(s"${bomFile.getPath}") - val actual = XML.loadFile(bomFile) - val expectedComponents = expected \ "components" - val actualComponents = actual \ "components" - require(expectedComponents == actualComponents, s"${context.id} is failed.") - s.log.info(s"${bomFile.getPath} content verified") + makeBom.value + import scala.sys.process._ + require(Seq("diff", "target/bom.xml", s"${thisProject.value.base}/etc/bom.xml").! == 0) } diff --git a/src/sbt-test/dependencies/compile/etc/bom.xml b/src/sbt-test/dependencies/compile/etc/bom.xml index b1c0cdb..865e36d 100644 --- a/src/sbt-test/dependencies/compile/etc/bom.xml +++ b/src/sbt-test/dependencies/compile/etc/bom.xml @@ -1,5 +1,5 @@ - + org.scala-lang @@ -9,6 +9,7 @@ Apache-2.0 + https://www.apache.org/licenses/LICENSE-2.0 pkg:maven/org.scala-lang/scala-library@2.12.20 @@ -22,6 +23,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-core_2.12@0.10.0 @@ -35,6 +37,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-generic_2.12@0.10.0 @@ -48,6 +51,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-parser_2.12@0.10.0 @@ -61,6 +65,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-numbers_2.12@0.10.0 @@ -74,6 +79,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/cats-core_2.12@1.4.0 @@ -87,6 +93,7 @@ Apache 2 + http://www.apache.org/licenses/LICENSE-2.0.txt pkg:maven/com.chuusai/shapeless_2.12@2.3.3 @@ -100,6 +107,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-jawn_2.12@0.10.0 @@ -113,6 +121,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/cats-macros_2.12@1.4.0 @@ -126,6 +135,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/cats-kernel_2.12@1.4.0 @@ -139,6 +149,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/machinist_2.12@0.6.5 @@ -152,6 +163,7 @@ Apache 2 + http://www.apache.org/licenses/LICENSE-2.0.txt pkg:maven/org.typelevel/macro-compat_2.12@1.1.1 @@ -165,6 +177,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.spire-math/jawn-parser_2.12@0.13.0 @@ -178,6 +191,7 @@ Apache-2.0 + https://www.apache.org/licenses/LICENSE-2.0 pkg:maven/org.scala-lang/scala-reflect@2.12.20 diff --git a/src/sbt-test/dependencies/integrationTest/build.sbt b/src/sbt-test/dependencies/integrationTest/build.sbt index bf34038..6984b16 100644 --- a/src/sbt-test/dependencies/integrationTest/build.sbt +++ b/src/sbt-test/dependencies/integrationTest/build.sbt @@ -21,12 +21,8 @@ lazy val checkTask = Def.task { val s: TaskStreams = streams.value s.log.info("Verifying bom content...") val bomFile = (IntegrationTest / makeBom).value - val context = thisProject.value - val expected = XML.loadFile(file(s"${context.base}/etc/bom.xml")) - s.log.info(s"${bomFile.getPath}") - val actual = XML.loadFile(bomFile) - val expectedComponents = expected \ "components" - val actualComponents = actual \ "components" - require(expectedComponents == actualComponents, s"${context.id} is failed.") + + import scala.sys.process._ + require(Seq("diff", bomFile.getPath, s"${thisProject.value.base}/etc/bom.xml").! == 0) s.log.info(s"${bomFile.getPath} content verified") } diff --git a/src/sbt-test/dependencies/integrationTest/etc/bom.xml b/src/sbt-test/dependencies/integrationTest/etc/bom.xml index e27a3b3..a96ad49 100644 --- a/src/sbt-test/dependencies/integrationTest/etc/bom.xml +++ b/src/sbt-test/dependencies/integrationTest/etc/bom.xml @@ -9,6 +9,7 @@ Apache-2.0 + https://www.apache.org/licenses/LICENSE-2.0 pkg:maven/org.scala-lang/scala-library@2.12.20 @@ -22,6 +23,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-core_2.12@0.10.0 @@ -35,6 +37,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-generic_2.12@0.10.0 @@ -48,6 +51,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-parser_2.12@0.10.0 @@ -61,6 +65,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-numbers_2.12@0.10.0 @@ -74,6 +79,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/cats-core_2.12@1.4.0 @@ -87,6 +93,7 @@ Apache 2 + http://www.apache.org/licenses/LICENSE-2.0.txt pkg:maven/com.chuusai/shapeless_2.12@2.3.3 @@ -100,6 +107,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-jawn_2.12@0.10.0 @@ -113,6 +121,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/cats-macros_2.12@1.4.0 @@ -126,6 +135,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/cats-kernel_2.12@1.4.0 @@ -139,6 +149,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/machinist_2.12@0.6.5 @@ -152,6 +163,7 @@ Apache 2 + http://www.apache.org/licenses/LICENSE-2.0.txt pkg:maven/org.typelevel/macro-compat_2.12@1.1.1 @@ -165,6 +177,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.spire-math/jawn-parser_2.12@0.13.0 @@ -178,6 +191,7 @@ Apache-2.0 + https://www.apache.org/licenses/LICENSE-2.0 pkg:maven/org.scala-lang/scala-reflect@2.12.20 @@ -191,6 +205,7 @@ Apache-2.0 + https://www.apache.org/licenses/LICENSE-2.0 pkg:maven/org.scala-lang/scala-library@2.12.20 @@ -204,6 +219,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-core_2.12@0.10.0 @@ -217,6 +233,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-generic_2.12@0.10.0 @@ -230,6 +247,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-parser_2.12@0.10.0 @@ -243,6 +261,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-numbers_2.12@0.10.0 @@ -256,6 +275,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/cats-core_2.12@1.4.0 @@ -269,6 +289,7 @@ Apache 2 + http://www.apache.org/licenses/LICENSE-2.0.txt pkg:maven/com.chuusai/shapeless_2.12@2.3.3 @@ -282,6 +303,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-jawn_2.12@0.10.0 @@ -295,6 +317,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/cats-macros_2.12@1.4.0 @@ -308,6 +331,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/cats-kernel_2.12@1.4.0 @@ -321,6 +345,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/machinist_2.12@0.6.5 @@ -334,6 +359,7 @@ Apache 2 + http://www.apache.org/licenses/LICENSE-2.0.txt pkg:maven/org.typelevel/macro-compat_2.12@1.1.1 @@ -347,6 +373,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.spire-math/jawn-parser_2.12@0.13.0 @@ -360,6 +387,7 @@ Apache-2.0 + https://www.apache.org/licenses/LICENSE-2.0 pkg:maven/org.scala-lang/scala-reflect@2.12.20 diff --git a/src/sbt-test/dependencies/test/build.sbt b/src/sbt-test/dependencies/test/build.sbt index 060ffa3..9ad1c58 100644 --- a/src/sbt-test/dependencies/test/build.sbt +++ b/src/sbt-test/dependencies/test/build.sbt @@ -21,12 +21,8 @@ lazy val checkTask = Def.task { val s: TaskStreams = streams.value s.log.info("Verifying bom content...") val bomFile = (Test / makeBom).value - val context = thisProject.value - val expected = XML.loadFile(file(s"${context.base}/etc/bom.xml")) - s.log.info(s"${bomFile.getPath}") - val actual = XML.loadFile(bomFile) - val expectedComponents = expected \ "components" - val actualComponents = actual \ "components" - require(expectedComponents == actualComponents, s"${context.id} is failed.") + + import scala.sys.process._ + require(Seq("diff", bomFile.getPath, s"${thisProject.value.base}/etc/bom.xml").! == 0) s.log.info(s"${bomFile.getPath} content verified") } diff --git a/src/sbt-test/dependencies/test/etc/bom.xml b/src/sbt-test/dependencies/test/etc/bom.xml index 86e78ab..617c034 100644 --- a/src/sbt-test/dependencies/test/etc/bom.xml +++ b/src/sbt-test/dependencies/test/etc/bom.xml @@ -1,5 +1,5 @@ - + org.scala-lang @@ -9,6 +9,7 @@ Apache-2.0 + https://www.apache.org/licenses/LICENSE-2.0 pkg:maven/org.scala-lang/scala-library@2.12.20 @@ -22,6 +23,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-core_2.12@0.10.0 @@ -35,6 +37,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-generic_2.12@0.10.0 @@ -48,6 +51,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-parser_2.12@0.10.0 @@ -61,6 +65,7 @@ the Apache License, ASL Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/org.scalatest/scalatest_2.12@3.0.5 @@ -74,6 +79,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-numbers_2.12@0.10.0 @@ -87,6 +93,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/cats-core_2.12@1.4.0 @@ -100,6 +107,7 @@ Apache 2 + http://www.apache.org/licenses/LICENSE-2.0.txt pkg:maven/com.chuusai/shapeless_2.12@2.3.3 @@ -113,6 +121,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-jawn_2.12@0.10.0 @@ -126,6 +135,7 @@ the Apache License, ASL Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/org.scalactic/scalactic_2.12@3.0.5 @@ -139,6 +149,7 @@ Apache-2.0 + https://www.apache.org/licenses/LICENSE-2.0 pkg:maven/org.scala-lang/scala-reflect@2.12.20 @@ -152,6 +163,7 @@ BSD 3-clause + http://opensource.org/licenses/BSD-3-Clause pkg:maven/org.scala-lang.modules/scala-xml_2.12@1.0.6 @@ -165,6 +177,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/cats-macros_2.12@1.4.0 @@ -178,6 +191,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/cats-kernel_2.12@1.4.0 @@ -191,6 +205,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/machinist_2.12@0.6.5 @@ -204,6 +219,7 @@ Apache 2 + http://www.apache.org/licenses/LICENSE-2.0.txt pkg:maven/org.typelevel/macro-compat_2.12@1.1.1 @@ -217,6 +233,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.spire-math/jawn-parser_2.12@0.13.0 @@ -230,6 +247,7 @@ Apache-2.0 + https://www.apache.org/licenses/LICENSE-2.0 pkg:maven/org.scala-lang/scala-library@2.12.20 @@ -243,6 +261,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-core_2.12@0.10.0 @@ -256,6 +275,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-generic_2.12@0.10.0 @@ -269,6 +289,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-parser_2.12@0.10.0 @@ -282,6 +303,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-numbers_2.12@0.10.0 @@ -295,6 +317,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/cats-core_2.12@1.4.0 @@ -308,6 +331,7 @@ Apache 2 + http://www.apache.org/licenses/LICENSE-2.0.txt pkg:maven/com.chuusai/shapeless_2.12@2.3.3 @@ -321,6 +345,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-jawn_2.12@0.10.0 @@ -334,6 +359,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/cats-macros_2.12@1.4.0 @@ -347,6 +373,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/cats-kernel_2.12@1.4.0 @@ -360,6 +387,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/machinist_2.12@0.6.5 @@ -373,6 +401,7 @@ Apache 2 + http://www.apache.org/licenses/LICENSE-2.0.txt pkg:maven/org.typelevel/macro-compat_2.12@1.1.1 @@ -386,6 +415,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.spire-math/jawn-parser_2.12@0.13.0 @@ -399,6 +429,7 @@ Apache-2.0 + https://www.apache.org/licenses/LICENSE-2.0 pkg:maven/org.scala-lang/scala-reflect@2.12.20 @@ -412,6 +443,7 @@ Apache-2.0 + https://www.apache.org/licenses/LICENSE-2.0 pkg:maven/org.scala-lang/scala-library@2.12.20 @@ -425,6 +457,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-core_2.12@0.10.0 @@ -438,6 +471,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-generic_2.12@0.10.0 @@ -451,6 +485,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-parser_2.12@0.10.0 @@ -464,6 +499,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-numbers_2.12@0.10.0 @@ -477,6 +513,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/cats-core_2.12@1.4.0 @@ -490,6 +527,7 @@ Apache 2 + http://www.apache.org/licenses/LICENSE-2.0.txt pkg:maven/com.chuusai/shapeless_2.12@2.3.3 @@ -503,6 +541,7 @@ Apache 2.0 + http://www.apache.org/licenses/LICENSE-2.0 pkg:maven/io.circe/circe-jawn_2.12@0.10.0 @@ -516,6 +555,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/cats-macros_2.12@1.4.0 @@ -529,6 +569,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/cats-kernel_2.12@1.4.0 @@ -542,6 +583,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.typelevel/machinist_2.12@0.6.5 @@ -555,6 +597,7 @@ Apache 2 + http://www.apache.org/licenses/LICENSE-2.0.txt pkg:maven/org.typelevel/macro-compat_2.12@1.1.1 @@ -568,6 +611,7 @@ MIT + http://opensource.org/licenses/MIT pkg:maven/org.spire-math/jawn-parser_2.12@0.13.0 @@ -581,6 +625,7 @@ Apache-2.0 + https://www.apache.org/licenses/LICENSE-2.0 pkg:maven/org.scala-lang/scala-reflect@2.12.20 diff --git a/src/test/scala/com/github/sbt/sbom/PluginConstantsSpec.scala b/src/test/scala/com/github/sbt/sbom/PluginConstantsSpec.scala index eddf3b0..31d2837 100644 --- a/src/test/scala/com/github/sbt/sbom/PluginConstantsSpec.scala +++ b/src/test/scala/com/github/sbt/sbom/PluginConstantsSpec.scala @@ -6,7 +6,7 @@ import org.scalatest.wordspec.AnyWordSpec class PluginConstantsSpec extends AnyWordSpec with Matchers { "PluginConstants" should { "return the description of the supported versions" in { - PluginConstants.supportedVersionsDescr shouldBe """"1.0", "1.1", "1.2", "1.3" or "1.4"""" + PluginConstants.supportedVersionsDescr shouldBe """"1.0", "1.1", "1.2", "1.3", "1.4", "1.5" or "1.6"""" } } }