Skip to content

Commit

Permalink
Fixes after review
Browse files Browse the repository at this point in the history
  • Loading branch information
lwronski committed Feb 14, 2022
1 parent e48f8c8 commit 7d27fc5
Show file tree
Hide file tree
Showing 11 changed files with 41 additions and 32 deletions.
32 changes: 17 additions & 15 deletions modules/build/src/main/scala/scala/build/Build.scala
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ object Build {
buildClient: BloopBuildClient,
bloopServer: bloop.BloopServer,
crossBuilds: Boolean,
isTest: Boolean
buildTests: Boolean
): Either[BuildException, Builds] = either {

val crossSources = value {
Expand Down Expand Up @@ -214,7 +214,7 @@ object Build {
logger,
buildClient,
bloopServer,
isTest
buildTests
)

value(res)
Expand All @@ -223,7 +223,7 @@ object Build {
val mainBuild = value(doBuildScope(mainOptions, mainSources, Scope.Main))

val testBuildOpt =
if (isTest) {
if (buildTests) {
val testBuild = value {
mainBuild match {
case s: Build.Successful =>
Expand All @@ -248,7 +248,8 @@ object Build {
else None

doPostProcess(mainBuild, inputs0, Scope.Main)
if (testBuildOpt.nonEmpty) doPostProcess(testBuildOpt.get, inputs0, Scope.Test)
for (testBuild <- testBuildOpt)
doPostProcess(testBuild, inputs0, Scope.Test)

(mainBuild, testBuildOpt)
}
Expand Down Expand Up @@ -277,7 +278,8 @@ object Build {
val (mainBuild, extraBuilds, testBuildOpt, extraTestBuilds) = value(buildScopes())

copyResourceToClassesDir(mainBuild)
if (testBuildOpt.nonEmpty) copyResourceToClassesDir(testBuildOpt.get)
for (testBuild <- testBuildOpt)
copyResourceToClassesDir(testBuild)

Builds(Seq(mainBuild) ++ testBuildOpt.toSeq, Seq(extraBuilds, extraTestBuilds))
}
Expand Down Expand Up @@ -311,7 +313,7 @@ object Build {
logger: Logger,
buildClient: BloopBuildClient,
bloopServer: bloop.BloopServer,
isTest: Boolean
buildTests: Boolean
): Either[BuildException, Build] = either {

val build0 = value {
Expand All @@ -338,7 +340,7 @@ object Build {
successful.options.javaHome().value.javaCommand,
buildClient,
bloopServer,
isTest
buildTests
)
res.flatMap {
case Some(b) => Right(b)
Expand Down Expand Up @@ -398,7 +400,7 @@ object Build {
bloopConfig: BloopRifleConfig,
logger: Logger,
crossBuilds: Boolean,
isTest: Boolean
buildTests: Boolean
): Either[BuildException, Builds] = {
val buildClient = BloopBuildClient.create(
logger,
Expand All @@ -423,7 +425,7 @@ object Build {
buildClient = buildClient,
bloopServer = bloopServer,
crossBuilds = crossBuilds,
isTest
buildTests
)
}
}
Expand All @@ -434,15 +436,15 @@ object Build {
bloopConfig: BloopRifleConfig,
logger: Logger,
crossBuilds: Boolean,
isTest: Boolean
buildTests: Boolean
): Either[BuildException, Builds] =
build(
inputs,
options, /*scope,*/ BuildThreads.create(),
bloopConfig,
logger,
crossBuilds = crossBuilds,
isTest
buildTests
)

def validate(
Expand All @@ -464,7 +466,7 @@ object Build {
logger: Logger,
crossBuilds: Boolean,
postAction: () => Unit = () => (),
isTest: Boolean
buildTests: Boolean
)(action: Either[BuildException, Builds] => Unit): Watcher = {

val buildClient = BloopBuildClient.create(
Expand Down Expand Up @@ -493,7 +495,7 @@ object Build {
buildClient,
bloopServer,
crossBuilds = crossBuilds,
isTest
buildTests
)
action(res)
}
Expand Down Expand Up @@ -924,7 +926,7 @@ object Build {
javaCommand: String,
buildClient: BloopBuildClient,
bloopServer: bloop.BloopServer,
isTest: Boolean
buildTests: Boolean
): Either[BuildException, Option[Build]] = either {
val jmhProjectName = inputs.projectName + "_jmh"
val jmhOutputDir = inputs.workspace / Constants.workspaceDirName / jmhProjectName
Expand Down Expand Up @@ -971,7 +973,7 @@ object Build {
buildClient,
bloopServer,
crossBuilds = false,
isTest
buildTests
)
}
Some(jmhBuilds.main)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ final case class TestInputs(
bloopConfig,
TestLogger(),
crossBuilds = false,
isTest = true
buildTests = true
)
f(root, inputs, res.map(_.main))
}
Expand Down
5 changes: 3 additions & 2 deletions modules/cli/src/main/scala/scala/cli/commands/Compile.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package scala.cli.commands
import caseapp._

import java.io.File

import scala.build.options.Scope
import scala.build.{Build, Builds}
import scala.cli.CurrentParams
Expand Down Expand Up @@ -74,7 +75,7 @@ object Compile extends ScalaCommand[CompileOptions] {
logger,
crossBuilds = cross,
postAction = () => WatchUtil.printWatchMessage(),
isTest = buildOptions.testOptions.shouldCompileTest.getOrElse(false)
buildTests = buildOptions.testOptions.shouldCompileTest.getOrElse(false)
) { res =>
for (builds <- res.orReport(logger))
postBuild(builds, allowExit = false)
Expand All @@ -89,7 +90,7 @@ object Compile extends ScalaCommand[CompileOptions] {
bloopRifleConfig,
logger,
crossBuilds = cross,
isTest = buildOptions.testOptions.shouldCompileTest.getOrElse(false)
buildTests = buildOptions.testOptions.shouldCompileTest.getOrElse(false)
)
val builds = res.orExit(logger)
postBuild(builds, allowExit = true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ final case class CompileOptions(
// format: on

def buildOptions: BuildOptions =
shared.buildOptions(enableJmh = false, jmhVersion = None, shouldCompileTest = test)
shared.buildOptions(enableJmh = false, jmhVersion = None, shouldCompileTest = Some(test))

}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ object Metabrowse extends ScalaCommand[MetabrowseOptions] {
bloopRifleConfig,
logger,
crossBuilds = false,
isTest = false
buildTests = false
)
.orExit(logger)

Expand Down
4 changes: 2 additions & 2 deletions modules/cli/src/main/scala/scala/cli/commands/Package.scala
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ object Package extends ScalaCommand[PackageOptions] {
logger,
crossBuilds = cross,
postAction = () => WatchUtil.printWatchMessage(),
isTest = false
buildTests = false
) { res =>
res.orReport(logger).map(_.main).foreach {
case s: Build.Successful =>
Expand All @@ -74,7 +74,7 @@ object Package extends ScalaCommand[PackageOptions] {
bloopRifleConfig,
logger,
crossBuilds = cross,
isTest = false
buildTests = false
)
.orExit(logger)
builds.main match {
Expand Down
4 changes: 2 additions & 2 deletions modules/cli/src/main/scala/scala/cli/commands/Repl.scala
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ object Repl extends ScalaCommand[ReplOptions] {
logger,
crossBuilds = cross,
postAction = () => WatchUtil.printWatchMessage(),
isTest = false
buildTests = false
) { res =>
for (builds <- res.orReport(logger))
builds.main match {
Expand All @@ -105,7 +105,7 @@ object Repl extends ScalaCommand[ReplOptions] {
bloopRifleConfig,
logger,
crossBuilds = cross,
isTest = false
buildTests = false
)
.orExit(logger)
builds.main match {
Expand Down
4 changes: 2 additions & 2 deletions modules/cli/src/main/scala/scala/cli/commands/Run.scala
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ object Run extends ScalaCommand[RunOptions] {
logger,
crossBuilds = cross,
postAction = () => WatchUtil.printWatchMessage(),
isTest = false
buildTests = false
) { res =>
res.orReport(logger).map(_.main).foreach {
case s: Build.Successful =>
Expand All @@ -91,7 +91,7 @@ object Run extends ScalaCommand[RunOptions] {
bloopRifleConfig,
logger,
crossBuilds = cross,
isTest = false
buildTests = false
)
.orExit(logger)
builds.main match {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ final case class SharedOptions(
enableJmh: Boolean,
jmhVersion: Option[String],
ignoreErrors: Boolean = false,
shouldCompileTest: Boolean = false
shouldCompileTest: Option[Boolean] = None
): BuildOptions = {
val platformOpt =
if (js.js) Some(Platform.JS)
Expand Down Expand Up @@ -174,7 +174,7 @@ final case class SharedOptions(
localRepository = LocalRepo.localRepo(directories.directories.localRepoDir),
verbosity = Some(logging.verbosity)
),
testOptions = scala.build.options.TestOptions(shouldCompileTest = Some(shouldCompileTest))
testOptions = scala.build.options.TestOptions(shouldCompileTest = shouldCompileTest)
)
}

Expand Down
4 changes: 2 additions & 2 deletions modules/cli/src/main/scala/scala/cli/commands/Test.scala
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ object Test extends ScalaCommand[TestOptions] {
logger,
crossBuilds = cross,
postAction = () => WatchUtil.printWatchMessage(),
isTest = true
buildTests = true
) { res =>
for (builds <- res.orReport(logger))
maybeTest(builds, allowExit = false)
Expand All @@ -117,7 +117,7 @@ object Test extends ScalaCommand[TestOptions] {
bloopRifleConfig,
logger,
crossBuilds = cross,
isTest = true
buildTests = true
)
.orExit(logger)
maybeTest(builds, allowExit = true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package scala.cli.integration
import com.eed3si9n.expecty.Expecty.expect

import scala.cli.integration.util.BloopUtil
import scala.util.Properties

abstract class CompileTestDefinitions(val scalaVersionOpt: Option[String])
extends munit.FunSuite with TestScalaVersionArgs {
Expand Down Expand Up @@ -90,8 +91,13 @@ abstract class CompileTestDefinitions(val scalaVersionOpt: Option[String])
val output =
os.proc(TestUtil.cli, "compile", "--test", "--class-path", extraOptions, ".").call(cwd =
root).out.text().trim
val classTestPathRegex = s":$root/${Constants.workspaceDirName}/project_.*?/classes/test".r
val isDefinedTestPathInClassPath = classTestPathRegex.findFirstMatchIn(output).isDefined
val escapeBackslash = if (Properties.isWin) "\\\\/" else "\\/"
val testPathRegex =
s":$root/${Constants.workspaceDirName}/project_.*?/classes/test".replace(
"/",
escapeBackslash
).r
val isDefinedTestPathInClassPath = testPathRegex.findFirstMatchIn(output).isDefined
expect(isDefinedTestPathInClassPath)
}
}
Expand Down

0 comments on commit 7d27fc5

Please sign in to comment.