Skip to content

Commit 9e508bd

Browse files
committed
Mark directives as restricted or not
1 parent 69a4545 commit 9e508bd

21 files changed

+34
-3
lines changed

modules/directives/src/main/scala/scala/build/preprocessing/directives/DirectiveHandler.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ trait DirectiveHandler[T] {
2424
def usageMd: String = s"`$usage`"
2525
def examples: Seq[String] = Nil
2626

27+
/** Is this directive an advanved feature, that will not be accessible when running scala-cli as `scala` */
28+
def isRestricted: Boolean
29+
2730
def keys: Seq[String]
2831

2932
def handleValues(

modules/directives/src/main/scala/scala/build/preprocessing/directives/RequireDirectiveHandler.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,6 @@ import scala.build.options.BuildRequirements
44

55
trait RequireDirectiveHandler extends DirectiveHandler[BuildRequirements] {
66
type ProcessedRequireDirective = ProcessedDirective[BuildRequirements]
7+
8+
override def isRestricted = true
79
}

modules/directives/src/main/scala/scala/build/preprocessing/directives/UsingCompilerPluginDirectiveHandler.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ case object UsingCompilerPluginDirectiveHandler extends UsingDirectiveHandler {
1616
override def examples = Seq(
1717
"//> using plugin \"org.typelevel:::kind-projector:0.13.2\""
1818
)
19+
override def isRestricted = true
1920

2021
private def parseDependency(depStr: String): Either[BuildException, AnyDependency] =
2122
DependencyParser.parse(depStr)

modules/directives/src/main/scala/scala/build/preprocessing/directives/UsingCustomJarDirectiveHandler.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ case object UsingCustomJarDirectiveHandler extends UsingDirectiveHandler {
1717
override def examples = Seq(
1818
"//> using jar \"/Users/alexandre/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/com/chuusai/shapeless_2.13/2.3.7/shapeless_2.13-2.3.7.jar\""
1919
)
20+
override def isRestricted = true
2021

2122
def keys = Seq("jar", "jars")
2223
def handleValues(

modules/directives/src/main/scala/scala/build/preprocessing/directives/UsingDependencyDirectiveHandler.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ case object UsingDependencyDirectiveHandler extends UsingDirectiveHandler {
1818
"//> using lib \"org.scalameta::munit:0.7.29\"",
1919
"//> using lib \"tabby:tabby:0.2.3,url=https://github.com/bjornregnell/tabby/releases/download/v0.2.3/tabby_3-0.2.3.jar\""
2020
)
21+
override def isRestricted = true
2122

2223
private def parseDependency(depStr: String): Either[BuildException, AnyDependency] =
2324
DependencyParser.parse(depStr)

modules/directives/src/main/scala/scala/build/preprocessing/directives/UsingJavaHomeDirectiveHandler.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ case object UsingJavaHomeDirectiveHandler extends UsingDirectiveHandler {
1515
override def examples = Seq(
1616
"//> using java-home \"/Users/Me/jdks/11\""
1717
)
18+
override def isRestricted = true
1819

1920
override def getValueNumberBounds(key: String): UsingDirectiveValueNumberBounds =
2021
UsingDirectiveValueNumberBounds(1, 1)

modules/directives/src/main/scala/scala/build/preprocessing/directives/UsingJavaOptionsDirectiveHandler.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ case object UsingJavaOptionsDirectiveHandler extends UsingDirectiveHandler {
1414
override def examples = Seq(
1515
"//> using javaOpt \"-Xmx2g\", \"-Dsomething=a\""
1616
)
17+
override def isRestricted = true
1718

1819
def keys = Seq("javaOpt", "javaOptions", "java-opt", "java-options")
1920
def handleValues(

modules/directives/src/main/scala/scala/build/preprocessing/directives/UsingJavaPropsDirectiveHandler.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ case object UsingJavaPropsDirectiveHandler extends UsingDirectiveHandler {
1313
override def examples = Seq(
1414
"//> using javaProp \"foo1=bar\", \"foo2\""
1515
)
16+
override def isRestricted = true
1617

1718
def keys = Seq("javaProp")
1819
def handleValues(

modules/directives/src/main/scala/scala/build/preprocessing/directives/UsingMainClassDirectiveHandler.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ case object UsingMainClassDirectiveHandler extends UsingDirectiveHandler {
2222

2323
def keys = Seq("main-class", "mainClass")
2424

25+
override def isRestricted = true
26+
2527
override def getValueNumberBounds(key: String) = UsingDirectiveValueNumberBounds(1, 1)
2628

2729
def handleValues(

modules/directives/src/main/scala/scala/build/preprocessing/directives/UsingOptionDirectiveHandler.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ case object UsingOptionDirectiveHandler extends UsingDirectiveHandler {
1515
"//> using option \"-Xasync\"",
1616
"//> using options \"-Xasync\", \"-Xfatal-warnings\""
1717
)
18+
override def isRestricted = true
1819

1920
def keys = Seq("option", "options")
2021
def handleValues(

0 commit comments

Comments
 (0)