pekko/project/JdkOptions.scala

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

44 lines
1.2 KiB
Scala
Raw Permalink Normal View History

/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* license agreements; and to You under the Apache License, version 2.0:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
2023-06-22 14:19:26 +01:00
* This file is part of the Apache Pekko project, which was derived from Akka.
*/
/*
2022-02-04 12:36:44 +01:00
* Copyright (C) 2009-2022 Lightbend Inc. <https://www.lightbend.com>
*/
import java.io.File
import sbt._
import sbt.librarymanagement.SemanticSelector
import sbt.librarymanagement.VersionNumber
object JdkOptions extends AutoPlugin {
object JavaVersion {
val majorVersion: Int = java.lang.Runtime.version().feature()
}
val targetJavaVersion = "17"
2024-01-22 07:15:16 +01:00
lazy val versionSpecificJavaOptions =
// for virtual threads
"--add-opens=java.base/jdk.internal.misc=ALL-UNNAMED" ::
"--add-opens=java.base/java.lang=ALL-UNNAMED" ::
// for aeron
"--add-opens=java.base/sun.nio.ch=ALL-UNNAMED" ::
// for LevelDB
"--add-opens=java.base/java.nio=ALL-UNNAMED" :: Nil
def targetJdkScalacOptions(scalaVersion: String): Seq[String] =
Seq("-release", JdkOptions.targetJavaVersion) ++ {
if (scalaVersion.startsWith("3.")) Seq(s"-Xtarget:${targetJavaVersion}") else Seq.empty
}
val targetJdkJavacOptions = Seq("--release", targetJavaVersion)
}