From 0b7170fbceb8b32f064a4a1a29f562fc478a71fd Mon Sep 17 00:00:00 2001 From: Seth Tisue Date: Tue, 4 May 2021 18:22:41 -0700 Subject: [PATCH] add scalaModuleAutomaticModuleName setting fixes #71 --- src/main/scala/ScalaModulePlugin.scala | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/scala/ScalaModulePlugin.scala b/src/main/scala/ScalaModulePlugin.scala index 03fc16b..d9c690a 100644 --- a/src/main/scala/ScalaModulePlugin.scala +++ b/src/main/scala/ScalaModulePlugin.scala @@ -16,6 +16,7 @@ import xerial.sbt.Sonatype.autoImport.{sonatypeProfileName, sonatypeSessionName} object ScalaModulePlugin extends AutoPlugin { object autoImport { val scalaModuleRepoName = settingKey[String]("The name of the repository under github.com/scala/.") + val scalaModuleAutomaticModuleName = settingKey[Option[String]]("Automatic-Module-Name setting for manifest") val scalaModuleMimaPreviousVersion = settingKey[Option[String]]("The version of this module to compare against when running MiMa.") val scalaModuleEnableOptimizerInlineFrom = settingKey[String]("The value passed to -opt-inline-from by `enableOptimizer` on 2.13 and higher.") } @@ -91,6 +92,14 @@ object ScalaModulePlugin extends AutoPlugin { Seq(file) }.taskValue, + // note that scalaModuleAutomaticModuleName has no default value, forcing + // clients of this plugin to explicitly set it + Compile / packageBin / packageOptions ++= + (scalaModuleAutomaticModuleName.value match { + case Some(name) => Seq(Package.ManifestAttributes("Automatic-Module-Name" -> name)) + case None => Seq() + }), + Compile / packageBin / mappings += { (baseDirectory.value / s"${name.value}.properties") -> s"${name.value}.properties" },