Skip to content

Commit

Permalink
Extract EnvVars out of EnvsUtil
Browse files Browse the repository at this point in the history
  • Loading branch information
Gedochao committed Aug 1, 2024
1 parent ea6155c commit cbdafbf
Show file tree
Hide file tree
Showing 22 changed files with 186 additions and 189 deletions.
6 changes: 3 additions & 3 deletions modules/build/src/main/scala/scala/build/Directories.scala
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import coursier.cache.shaded.dirs.{GetWinDirs, ProjectDirectories}

import scala.build.errors.ConfigDbException
import scala.build.internal.JniGetWinDirs
import scala.build.internals.EnvsUtil
import scala.build.internals.EnvVar
import scala.cli.config.ConfigDb
import scala.util.Properties

Expand All @@ -20,7 +20,7 @@ trait Directories {
def cacheDir: os.Path

final def dbPath: os.Path =
EnvsUtil.EnvVar.ScalaCli.config.valueOpt
EnvVar.ScalaCli.config.valueOpt
.filter(_.trim.nonEmpty)
.map(os.Path(_, os.pwd))
.getOrElse(secretsDir / Directories.defaultDbFileName)
Expand Down Expand Up @@ -96,7 +96,7 @@ object Directories {
SubDir(dir)

lazy val directories: Directories =
EnvsUtil.EnvVar.ScalaCli.home.valueOpt.filter(_.trim.nonEmpty) match {
EnvVar.ScalaCli.home.valueOpt.filter(_.trim.nonEmpty) match {
case None =>
scala.build.Directories.default()
case Some(homeDir) =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import java.nio.file.{Files, Path, Paths}
import scala.build.EitherCps.{either, value}
import scala.build.Logger
import scala.build.errors._
import scala.build.internals.EnvsUtil
import scala.build.internals.EnvVar
import scala.build.testrunner.{AsmTestRunner, TestRunner}
import scala.util.{Failure, Properties, Success}

Expand Down Expand Up @@ -192,12 +192,12 @@ object Runner {
if (Paths.get(app).getNameCount >= 2) Some(asIs)
else {
def pathEntries =
EnvsUtil.EnvVar.Misc.path.valueOpt
EnvVar.Misc.path.valueOpt
.iterator
.flatMap(_.split(File.pathSeparator).iterator)
def pathSep =
if (Properties.isWin)
EnvsUtil.EnvVar.Misc.pathExt.valueOpt
EnvVar.Misc.pathExt.valueOpt
.iterator
.flatMap(_.split(File.pathSeparator).iterator)
else Iterator("")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package scala.build.internal.zip
import java.io.{Closeable, InputStream}
import java.util.zip.ZipEntry

import scala.build.internals.EnvsUtil
import scala.build.internals.EnvVar

/*
* juz.ZipInputStream is buggy on Arch Linux from native images (CRC32 calculation issues,
Expand Down Expand Up @@ -37,7 +37,7 @@ object WrappedZipInputStream {
case "true" | "1" => true
case _ => false
}
EnvsUtil.EnvVar.ScalaCli.vendoredZipInputStream.valueOpt.map(toBoolean)
EnvVar.ScalaCli.vendoredZipInputStream.valueOpt.map(toBoolean)
.orElse(sys.props.get("scala-cli.zis.vendored").map(toBoolean))
.getOrElse(false)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package scala.build.tests.util
import bloop.rifle.BloopRifleConfig
import coursier.cache.FileCache

import scala.build.internals.EnvsUtil
import scala.build.internals.EnvVar
import scala.build.{Bloop, Logger}
import scala.util.Properties

Expand Down Expand Up @@ -31,7 +31,7 @@ object BloopServer {
// which can have issues with the directory of "java" in the PATH,
// if it contains '+' or '%' IIRC.
// So we hardcode the path to "java" here.
EnvsUtil.EnvVar.Java.javaHome.valueOpt
EnvVar.Java.javaHome.valueOpt
.map(os.Path(_, os.pwd))
.map(_ / "bin" / "java")
.map(_.toString)
Expand Down
14 changes: 7 additions & 7 deletions modules/cli/src/main/scala/scala/cli/ScalaCli.scala
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import java.util.Locale

import scala.build.Directories
import scala.build.internal.Constants
import scala.build.internals.EnvsUtil
import scala.build.internals.EnvVar
import scala.cli.config.{ConfigDb, Keys}
import scala.cli.internal.Argv0
import scala.cli.javaLauncher.JavaLauncherCli
Expand Down Expand Up @@ -46,7 +46,7 @@ object ScalaCli {
powerEntry <- configDb.get(Keys.power).toOption
power <- powerEntry
} yield power
val isPowerEnv = EnvsUtil.EnvVar.ScalaCli.power.valueOpt.flatMap(_.toBooleanOption)
val isPowerEnv = EnvVar.ScalaCli.power.valueOpt.flatMap(_.toBooleanOption)
val isPower = isPowerEnv.orElse(isPowerConfigDb).getOrElse(false)
!isPower
}
Expand Down Expand Up @@ -95,8 +95,8 @@ object ScalaCli {
baos.toByteArray
}

private def isCI = EnvsUtil.EnvVar.Internal.ci.valueOpt.nonEmpty
private def printStackTraces = EnvsUtil.EnvVar.ScalaCli.printStackTraces.valueOpt
private def isCI = EnvVar.Internal.ci.valueOpt.nonEmpty
private def printStackTraces = EnvVar.ScalaCli.printStackTraces.valueOpt
.map(_.toLowerCase(Locale.ROOT))
.exists {
case "true" | "1" => true
Expand Down Expand Up @@ -158,7 +158,7 @@ object ScalaCli {
// for https://github.com/VirtusLab/scala-cli/issues/828
System.err.println(
s"""Running
| export ${EnvsUtil.EnvVar.ScalaCli.vendoredZipInputStream.name}=true
| export ${EnvVar.ScalaCli.vendoredZipInputStream.name}=true
|before running $fullRunnerName might fix the issue.
|""".stripMargin
)
Expand Down Expand Up @@ -211,7 +211,7 @@ object ScalaCli {

// load java properties from JAVA_OPTS and JDK_JAVA_OPTIONS environment variables
val javaOpts: Seq[String] =
EnvsUtil.EnvVar.Java.javaOpts.valueOpt.toSeq ++ EnvsUtil.EnvVar.Java.jdkJavaOpts.valueOpt.toSeq
EnvVar.Java.javaOpts.valueOpt.toSeq ++ EnvVar.Java.jdkJavaOpts.valueOpt.toSeq

val ignoredJavaOpts =
javaOpts
Expand All @@ -226,7 +226,7 @@ object ScalaCli {
}.flatten
if ignoredJavaOpts.nonEmpty then
System.err.println(
s"Warning: Only java properties are supported in ${EnvsUtil.EnvVar.Java.javaOpts.name} and ${EnvsUtil.EnvVar
s"Warning: Only java properties are supported in ${EnvVar.Java.javaOpts.name} and ${EnvVar
.Java.jdkJavaOpts.name} environment variables. Other options are ignored: ${ignoredJavaOpts.mkString(", ")}"
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import scala.build.errors.BuildException
import scala.build.input.{ScalaCliInvokeData, SubCommand}
import scala.build.internal.util.WarningMessages
import scala.build.internal.{Constants, Runner}
import scala.build.internals.{EnvsUtil, FeatureType}
import scala.build.internals.{EnvVar, FeatureType}
import scala.build.options.{BuildOptions, ScalacOpt, Scope}
import scala.build.{Artifacts, Directories, Logger, Positioned, ReplArtifacts}
import scala.cli.commands.default.LegacyScalaOptions
Expand Down Expand Up @@ -286,7 +286,7 @@ abstract class ScalaCommand[T <: HasGlobalOptions](implicit myParser: Parser[T],

private def maybePrintEnvsHelp(options: T): Unit =
if sharedOptions(options).exists(_.helpGroups.helpEnvs) then
println(EnvsUtil.helpMessage(isPower = allowRestrictedFeatures))
println(EnvVar.helpMessage(isPower = allowRestrictedFeatures))
sys.exit(0)

override def helpFormat: HelpFormat = ScalaCliHelp.helpFormat
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import coursier.env.{EnvironmentUpdate, ProfileUpdater}
import java.io.File

import scala.build.Logger
import scala.build.internals.EnvsUtil
import scala.build.internals.EnvVar
import scala.cli.CurrentParams
import scala.cli.commands.{CustomWindowsEnvVarUpdater, ScalaCommand}
import scala.util.Properties
Expand All @@ -19,7 +19,7 @@ object AddPath extends ScalaCommand[AddPathOptions] {
else {
val update = EnvironmentUpdate(
Nil,
Seq(EnvsUtil.EnvVar.Misc.path.name -> args.all.mkString(File.pathSeparator))
Seq(EnvVar.Misc.path.name -> args.all.mkString(File.pathSeparator))
)
val didUpdate =
if (Properties.isWin) {
Expand Down
6 changes: 3 additions & 3 deletions modules/cli/src/main/scala/scala/cli/commands/bsp/Bsp.scala
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import scala.build.*
import scala.build.bsp.{BspReloadableOptions, BspThreads}
import scala.build.errors.BuildException
import scala.build.input.Inputs
import scala.build.internals.EnvsUtil
import scala.build.internals.EnvVar
import scala.build.options.{BuildOptions, Scope}
import scala.cli.commands.ScalaCommand
import scala.cli.commands.publish.ConfigUtil.*
Expand Down Expand Up @@ -64,7 +64,7 @@ object Bsp extends ScalaCommand[BspOptions] {
.flatMap(_.get(Keys.power).toOption)
.flatten
.getOrElse(false)
val envPowerMode = latestEnvs.get(EnvsUtil.EnvVar.ScalaCli.power.name).exists(_.toBoolean)
val envPowerMode = latestEnvs.get(EnvVar.ScalaCli.power.name).exists(_.toBoolean)
val launcherPowerArg = latestLauncherOptions.powerOptions.power
val subCommandPowerArg = latestSharedOptions.powerOptions.power
val latestPowerMode = configPowerMode || launcherPowerArg || subCommandPowerArg || envPowerMode
Expand Down Expand Up @@ -209,7 +209,7 @@ object Bsp extends ScalaCommand[BspOptions] {
baseOptions.notForBloopOptions.addRunnerDependencyOpt.orElse(Some(false))
)
)
val withEnvs = envs.get(EnvsUtil.EnvVar.Java.javaHome.name)
val withEnvs = envs.get(EnvVar.Java.javaHome.name)
.filter(_ => withDefaults.javaOptions.javaHomeOpt.isEmpty)
.map(javaHome =>
withDefaults.copy(javaOptions =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import scala.build.EitherCps.{either, value}
import scala.build.Logger
import scala.build.errors.BuildException
import scala.build.internal.{Constants, FetchExternalBinary}
import scala.build.internals.EnvsUtil
import scala.build.internals.EnvVar
import scala.cli.internal.Constants as CliConstants
import scala.util.Properties
import scala.util.control.NonFatal
Expand Down Expand Up @@ -136,7 +136,7 @@ object LibSodiumJni {
case Some(sodiumLib) =>
System.load(sodiumLib.toString)
case None =>
val allow = EnvsUtil.EnvVar.ScalaCli.allowSodiumJni.valueOpt
val allow = EnvVar.ScalaCli.allowSodiumJni.valueOpt
.map(_.toLowerCase(Locale.ROOT))
.forall {
case "false" | "0" => false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import java.nio.charset.Charset
import java.nio.file.Paths
import java.util

import scala.build.internals.EnvsUtil
import scala.build.internals.EnvVar
import scala.build.{Directories, Logger}
import scala.cli.commands.shared.HelpGroup
import scala.cli.commands.{ScalaCommand, SpecificationLevel}
Expand Down Expand Up @@ -58,7 +58,7 @@ object InstallCompletions extends ScalaCommand[InstallCompletionsOptions] {
(script, defaultRcFile)
case Zsh.id | "zsh" =>
val completionScript = Zsh.script(name)
val zDotDir = EnvsUtil.EnvVar.Misc.zDotDir.valueOpt
val zDotDir = EnvVar.Misc.zDotDir.valueOpt
.map(os.Path(_, os.pwd))
.getOrElse(os.home)
val defaultRcFile = zDotDir / ".zshrc"
Expand Down Expand Up @@ -115,7 +115,7 @@ object InstallCompletions extends ScalaCommand[InstallCompletionsOptions] {
def getFormat(format: Option[String]): Option[String] =
format.map(_.trim).filter(_.nonEmpty)
.orElse {
EnvsUtil.EnvVar.Misc.shell.valueOpt.map(_.split("[\\/]+").last).map {
EnvVar.Misc.shell.valueOpt.map(_.split("[\\/]+").last).map {
case "bash" => Bash.id
case "zsh" => Zsh.id
case other => other
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package scala.cli.commands.publish

import caseapp.*

import scala.build.internals.EnvsUtil
import scala.build.internals.EnvVar
import scala.cli.commands.shared.{HelpGroup, SharedVersionOptions}
import scala.cli.commands.tags
import scala.cli.signing.shared.PasswordOption
Expand Down Expand Up @@ -79,7 +79,7 @@ final case class PublishParamsOptions(
// format: on

def setupCi: Boolean = ci.getOrElse(false)
def isCi: Boolean = ci.getOrElse(EnvsUtil.EnvVar.Internal.ci.valueOpt.nonEmpty)
def isCi: Boolean = ci.getOrElse(EnvVar.Internal.ci.valueOpt.nonEmpty)
}

object PublishParamsOptions {
Expand Down
8 changes: 4 additions & 4 deletions modules/cli/src/main/scala/scala/cli/commands/run/Run.scala
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import scala.build.errors.BuildException
import scala.build.input.{Inputs, ScalaCliInvokeData, SubCommand}
import scala.build.internal.{Constants, Runner, ScalaJsLinkerConfig}
import scala.build.internals.ConsoleUtils.ScalaCliConsole
import scala.build.internals.EnvsUtil
import scala.build.internals.EnvVar
import scala.build.options.{BuildOptions, JavaOpt, PackageType, Platform, ScalacOpt}
import scala.cli.CurrentParams
import scala.cli.commands.package0.Package
Expand Down Expand Up @@ -499,9 +499,9 @@ object Run extends ScalaCommand[RunOptions] with BuildCommandHelpers {
if (pythonLibraryPaths.isEmpty) Map.empty
else {
val prependTo =
if (Properties.isWin) EnvsUtil.EnvVar.Misc.path.name
else if (Properties.isMac) EnvsUtil.EnvVar.Misc.dyldLibraryPath.name
else EnvsUtil.EnvVar.Misc.ldLibraryPath.name
if (Properties.isWin) EnvVar.Misc.path.name
else if (Properties.isMac) EnvVar.Misc.dyldLibraryPath.name
else EnvVar.Misc.ldLibraryPath.name
val currentOpt = Option(System.getenv(prependTo))
val currentEntries = currentOpt
.map(_.split(File.pathSeparator).toSet)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import scala.build.bsp.IdeInputs
import scala.build.errors.{BuildException, WorkspaceError}
import scala.build.input.{Inputs, OnDisk, Virtual, WorkspaceOrigin}
import scala.build.internal.Constants
import scala.build.internals.EnvsUtil.EnvVar
import scala.build.internals.EnvVar
import scala.build.options.{BuildOptions, Scope}
import scala.cli.CurrentParams
import scala.cli.commands.shared.{SharedBspFileOptions, SharedOptions}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import com.github.plokhotnyuk.jsoniter_scala.core.*
import com.github.plokhotnyuk.jsoniter_scala.macros.*
import coursier.cache.{CacheLogger, CachePolicy, FileCache}

import scala.build.internals.EnvsUtil
import scala.build.internals.EnvVar
import scala.cli.commands.tags
import scala.concurrent.duration.Duration

Expand Down Expand Up @@ -55,7 +55,7 @@ final case class CoursierOptions(
}

def getOffline(): Option[Boolean] = offline
.orElse(EnvsUtil.EnvVar.Coursier.coursierMode.valueOpt.map(_ == "offline"))
.orElse(EnvVar.Coursier.coursierMode.valueOpt.map(_ == "offline"))
.orElse(Option(System.getProperty("coursier.mode")).map(_ == "offline"))
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import caseapp.core.help.HelpFormat
import java.nio.charset.Charset

import scala.build.Logger
import scala.build.internals.EnvsUtil
import scala.build.internals.EnvVar
import scala.cli.CurrentParams
import scala.cli.commands.installcompletions.InstallCompletions
import scala.cli.commands.shared.HelpGroup
Expand All @@ -32,7 +32,7 @@ object UninstallCompletions extends ScalaCommand[UninstallCompletionsOptions] {
): Unit = {
val name = InstallCompletions.getName(options.shared.name)

val zDotDir = EnvsUtil.EnvVar.Misc.zDotDir.valueOpt
val zDotDir = EnvVar.Misc.zDotDir.valueOpt
.map(os.Path(_, os.pwd))
.getOrElse(os.home)
val rcFiles = options.shared.rcFile.map(file => Seq(os.Path(file, os.pwd))).getOrElse(Seq(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package scala.cli.commands.util
import scala.build.EitherCps.{either, value}
import scala.build.errors.BuildException
import scala.build.internal.Runner
import scala.build.internals.EnvsUtil
import scala.build.internals.EnvVar
import scala.build.{Build, Logger}
import scala.cli.commands.package0.Package as PackageCmd
import scala.cli.commands.packaging.Spark
Expand Down Expand Up @@ -33,7 +33,7 @@ object RunSpark {
val javaOpts = build.options.javaOptions.javaOpts.toSeq.map(_.value.value)
val ext = if (Properties.isWin) ".cmd" else ""
val submitCommand: String =
EnvsUtil.EnvVar.Spark.sparkHome.valueOpt
EnvVar.Spark.sparkHome.valueOpt
.map(os.Path(_, os.pwd))
.map(_ / "bin" / s"spark-submit$ext")
.filter(os.exists(_))
Expand Down
6 changes: 3 additions & 3 deletions modules/cli/src/main/scala/scala/cli/internal/ProcUtil.scala
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import java.nio.charset.StandardCharsets
import java.util.concurrent.{CancellationException, CompletableFuture, CompletionException}

import scala.build.Logger
import scala.build.internals.EnvsUtil
import scala.build.internals.EnvVar
import scala.util.control.NonFatal
import scala.util.{Properties, Try}

Expand Down Expand Up @@ -74,7 +74,7 @@ object ProcUtil {
def findApplicationPathsOnPATH(appName: String): List[String] = {
import java.io.File.pathSeparator, java.io.File.pathSeparatorChar

var path: String = EnvsUtil.EnvVar.Misc.path.valueOpt.getOrElse("")
var path: String = EnvVar.Misc.path.valueOpt.getOrElse("")
val pwd: String = os.pwd.toString

// on unix & macs, an empty PATH counts as ".", the working directory
Expand Down Expand Up @@ -114,7 +114,7 @@ object ProcUtil {
"/bin/fish"
)

def isShebangCapableShell = EnvsUtil.EnvVar.Misc.shell.valueOpt match
def isShebangCapableShell = EnvVar.Misc.shell.valueOpt match
case Some(currentShell) if shebangCapableShells.exists(sh => currentShell.contains(sh)) => true
case _ => false
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import java.io.File

import scala.annotation.tailrec
import scala.build.internal.{ManifestJar, Runner}
import scala.build.internals.EnvsUtil
import scala.build.internals.EnvVar
import scala.build.{Build, Logger, Positioned}
import scala.cli.errors.GraalVMNativeImageError
import scala.cli.graal.{BytecodeProcessor, TempCache}
Expand Down Expand Up @@ -39,7 +39,7 @@ object NativeImage {
private def vcVersions = Seq("2022", "2019", "2017")
private def vcEditions = Seq("Enterprise", "Community", "BuildTools")
private lazy val vcVarsCandidates: Iterable[String] =
EnvsUtil.EnvVar.Misc.vcVarsAll.valueOpt ++ {
EnvVar.Misc.vcVarsAll.valueOpt ++ {
for {
isX86 <- Seq(false, true)
version <- vcVersions
Expand Down
Loading

0 comments on commit cbdafbf

Please sign in to comment.