From 5bbb6713415c4d37226560c38c516987677d0ba4 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Fri, 9 Dec 2022 03:12:50 -0500 Subject: [PATCH] config macro --- sbt-app/src/main/scala/package.scala | 7 ++++--- sbt-app/src/sbt-test/project/auto-plugins/build.sbt | 4 ++-- sbt-app/src/sbt-test/project/auto-plugins/project/Q.scala | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/sbt-app/src/main/scala/package.scala b/sbt-app/src/main/scala/package.scala index 70da6862e..6bad260d4 100644 --- a/sbt-app/src/main/scala/package.scala +++ b/sbt-app/src/main/scala/package.scala @@ -10,7 +10,7 @@ import sjsonnew.JsonFormat import java.nio.file.{ Path => NioPath } import sbt.internal.FileChangesMacro - +import sbt.librarymanagement.{ Configuration, ConfigurationMacro } import scala.language.experimental.macros package object sbt @@ -59,6 +59,7 @@ package object sbt final val Global = Scope.Global final val GlobalScope = Scope.GlobalScope - // def config(name: String): Configuration = - // macro sbt.librarymanagement.ConfigurationMacro.configMacroImpl + inline def config(name: String): Configuration = ${ + ConfigurationMacro.configMacroImpl('{ name }) + } } diff --git a/sbt-app/src/sbt-test/project/auto-plugins/build.sbt b/sbt-app/src/sbt-test/project/auto-plugins/build.sbt index 60025752b..2e3e445ea 100644 --- a/sbt-app/src/sbt-test/project/auto-plugins/build.sbt +++ b/sbt-app/src/sbt-test/project/auto-plugins/build.sbt @@ -53,9 +53,9 @@ check := { same(globalValue, "global 0", "demo in Global") val projValue = (projC / demo).?.value same(projValue, Some("project projC Q R"), "demo in projC") - val qValue = (Quux / del in projC)(projC / del).?.value + val qValue = (projC / Quux / del).?.value same(qValue, Some(" Q R"), "del in projC in Quux") - val optInValue = (Quux / del in projE)(projE / del).value + val optInValue = (projE / Quux / del).value same(optInValue, " Q S R", "del in projE in Quux") val overrideOrgValue = (projE / organization).value same(overrideOrgValue, "S", "organization in projE") diff --git a/sbt-app/src/sbt-test/project/auto-plugins/project/Q.scala b/sbt-app/src/sbt-test/project/auto-plugins/project/Q.scala index 40bbc3569..d47a71920 100644 --- a/sbt-app/src/sbt-test/project/auto-plugins/project/Q.scala +++ b/sbt-app/src/sbt-test/project/auto-plugins/project/Q.scala @@ -75,7 +75,7 @@ object R extends AutoPlugin { // tests proper ordering: R requires Q, so Q settings should come first Quux / del += " R", // tests that configurations are properly registered, enabling delegation from p to q - demo += (del in Pippy).value + demo += (Pippy / del).value ) }