From dfa20f853090c64d7ce4f157a4fa3b574077c483 Mon Sep 17 00:00:00 2001 From: Pat Garrity Date: Sun, 27 Jul 2025 21:14:50 -0500 Subject: [PATCH] Version 0.6.0 --- README.md | 6 ++++++ src/main/scala/gs/GsKeys.scala | 4 ++++ src/main/scala/gs/GsPlugin.scala | 17 ++++++++++++++++- 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b2850a2..ffcc6e2 100644 --- a/README.md +++ b/README.md @@ -16,3 +16,9 @@ addSbtPlugin("gs" % "sbt-garrity-software" % "0.4.0") ```scala ThisBuild / gsProjectName := "project-name" ``` + +## Publishing + +``` +sbt -Dversion=$VERSION -Drelease=true publish +``` diff --git a/src/main/scala/gs/GsKeys.scala b/src/main/scala/gs/GsKeys.scala index 1543ebd..2e76ad1 100644 --- a/src/main/scala/gs/GsKeys.scala +++ b/src/main/scala/gs/GsKeys.scala @@ -14,4 +14,8 @@ object GsKeys { "Name of the project and Git repository." ) + lazy val writeScalaVersionToFile = taskKey[Unit]( + "Task to emit the Scala version used to build this project to a file." + ) + } diff --git a/src/main/scala/gs/GsPlugin.scala b/src/main/scala/gs/GsPlugin.scala index 44b2dc5..1970634 100644 --- a/src/main/scala/gs/GsPlugin.scala +++ b/src/main/scala/gs/GsPlugin.scala @@ -1,5 +1,8 @@ package gs +import java.nio.charset.StandardCharsets +import java.nio.file.Files +import java.nio.file.Paths import sbt._ import sbt.Keys._ @@ -10,6 +13,8 @@ object GsPlugin extends AutoPlugin { import autoImport._ + val ScalaVersionFile: String = ".scala-version" + override def projectSettings: Seq[Setting[_]] = Seq( publishMavenStyle := true, Test / Keys.publishArtifact := false, @@ -33,7 +38,17 @@ object GsPlugin extends AutoPlugin { }, scalacOptions := { val prev = Keys.scalacOptions.value - prev ++ Gs.CompilerOptions + (prev ++ Gs.CompilerOptions).distinct + } + ) + + override lazy val buildSettings: Seq[Setting[_]] = Seq( + writeScalaVersionToFile := { + val outputFile = ScalaVersionFile + Files.write( + Paths.get(outputFile), + scalaVersion.value.getBytes(StandardCharsets.UTF_8) + ) } )