Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ class PackagingUsingDirectiveTests extends TestUtil.ScalaCliBuildSuite {
}
}

test("graalvm packaging") {
test("graalvm packaging jvmId") {
val inputs = TestInputs(
os.rel / "p.sc" ->
"""//> using packaging.packageType graalvm
Expand All @@ -51,6 +51,22 @@ class PackagingUsingDirectiveTests extends TestUtil.ScalaCliBuildSuite {
}
}

test("graalvm packaging javaVersion") {
Comment thread
Gedochao marked this conversation as resolved.
Outdated
val inputs = TestInputs(
os.rel / "p.sc" ->
"""//> using packaging.packageType graalvm
|//> using packaging.graalvmJavaVersion 23
|//> using packaging.graalvmVersion 23.0.2
|
|def foo() = println("hello foo")
|""".stripMargin
)
inputs.withLoadedBuild(buildOptions, buildThreads, bloopConfig) { (_, _, maybeBuild) =>
val nativeImageOpt = maybeBuild.options.notForBloopOptions.packageOptions.nativeImageOptions
expect(nativeImageOpt.jvmId == "graalvm-java23:23.0.2")
}
}

test("output") {
val output = "foo"
val inputs = TestInputs(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@ import scala.util.Try
@DirectiveExamples("//> using packaging.output foo")
@DirectiveExamples("//> using packaging.provided org.apache.spark::spark-sql")
@DirectiveExamples("//> using packaging.graalvmArgs --no-fallback")
@DirectiveExamples("//> using packaging.graalvmJvmId graalvm-community:23.0.2")
@DirectiveExamples("//> using packaging.graalvmVersion 17.0.9")
@DirectiveExamples("//> using packaging.graalvmJavaVersion 17")
@DirectiveExamples("//> using packaging.graalvmJvmId graalvm-java17:17.0.9")
@DirectiveExamples("//> using packaging.dockerFrom openjdk:11")
@DirectiveExamples("//> using packaging.dockerImageTag 1.0.0")
@DirectiveExamples("//> using packaging.dockerImageRegistry virtuslab")
Expand All @@ -39,6 +41,9 @@ import scala.util.Try
"""using packaging.packageType [package type]
|using packaging.output [destination path]
|using packaging.provided [module]
|using packaging.graalvmVersion [graalvm version]
|using packaging.graalvmJavaVersion [graalvm java version]
|using packaging.graalvmJvmId [graalvm jvm id]
|using packaging.graalvmArgs [args]
|using packaging.dockerFrom [base docker image]
|using packaging.dockerImageTag [image tag]
Expand All @@ -55,6 +60,10 @@ import scala.util.Try
|
|`//> using packaging.graalvmArgs` _args_
|
|`//> using packaging.graalvmVersion` _graalvm-version_
|
|`//> using packaging.graalvmJavaVersion` _graalvm-java-version_
|
|`//> using packaging.graalvmJvmId` _graalvm-jvm-id_
|
|`//> using packaging.dockerFrom` _base-docker-image_
Expand All @@ -79,6 +88,8 @@ final case class Packaging(
output: Option[String] = None,
provided: List[Positioned[String]] = Nil,
graalvmArgs: List[Positioned[String]] = Nil,
graalvmVersion: Option[String] = None,
graalvmJavaVersion: Option[Positioned[String]] = None,
graalvmJvmId: Option[String] = None,
dockerFrom: Option[String] = None,
dockerImageTag: Option[String] = None,
Expand Down Expand Up @@ -120,9 +131,23 @@ final case class Packaging(
}
.sequence
.left.map(CompositeBuildException(_))
val maybeGraalVMJavaVersion = graalvmJavaVersion
.map { version =>
version.value.toIntOption
.filter(_ > 0)
Comment thread
Gedochao marked this conversation as resolved.
Outdated
.toRight {
new MalformedInputError(
"graalvm-java-version",
version.value,
"a positive integer",
positions = version.positions
)
}
}
.sequence

val (packageTypeOpt, output0, provided0) = value {
(maybePackageTypeOpt, maybeOutput, maybeProvided)
val (packageTypeOpt, output0, provided0, graalVMJavaVersion0) = value {
(maybePackageTypeOpt, maybeOutput, maybeProvided, maybeGraalVMJavaVersion)
.traverseN
.left.map(CompositeBuildException(_))
}
Expand Down Expand Up @@ -162,6 +187,8 @@ final case class Packaging(
extraDirectories = extraDirectories
),
nativeImageOptions = NativeImageOptions(
graalvmVersion = graalvmVersion,
graalvmJavaVersion = graalVMJavaVersion0,
graalvmJvmId = graalvmJvmId,
graalvmArgs = graalvmArgs
)
Expand Down
10 changes: 9 additions & 1 deletion website/docs/reference/directives.md
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,10 @@ Set parameters for packaging

`//> using packaging.graalvmArgs` _args_

`//> using packaging.graalvmVersion` _graalvm-version_

`//> using packaging.graalvmJavaVersion` _graalvm-java-version_

`//> using packaging.graalvmJvmId` _graalvm-jvm-id_

`//> using packaging.dockerFrom` _base-docker-image_
Expand All @@ -316,7 +320,11 @@ Set parameters for packaging

`//> using packaging.graalvmArgs --no-fallback`

`//> using packaging.graalvmJvmId graalvm-community:23.0.2`
`//> using packaging.graalvmVersion 17.0.9`

`//> using packaging.graalvmJavaVersion 17`

`//> using packaging.graalvmJvmId graalvm-java17:17.0.9`

`//> using packaging.dockerFrom openjdk:11`

Expand Down
Loading