Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
129 commits
Select commit Hold shift + click to select a range
c41d0aa
refactor(ci): migrate to sbt-ci-release
ckipp01 Dec 22, 2022
11b4197
chore(deps): update sbt to 1.8.0 and sbt-native-packager to 1.9.11
ckipp01 Dec 22, 2022
99501df
chore(ci): more cleanup and set the versionScheme
ckipp01 Dec 22, 2022
a94f8ce
revert: remove versionScheme
ckipp01 Dec 22, 2022
2b4ee8a
Merge pull request #1962 from scalacenter/sbt-ci-release
ckipp01 Dec 27, 2022
d3a5541
fix(ci): ensure release sbt version is the same as the build
ckipp01 Dec 27, 2022
cfc902d
Merge pull request #1965 from scalacenter/sbtFix
ckipp01 Dec 27, 2022
a087b68
refactor(ci): update graal release infrastructure
ckipp01 Dec 27, 2022
d696bed
fix: ensure we don't run githubRelease on merge
ckipp01 Dec 27, 2022
7608a82
Merge pull request #1966 from ckipp01/fixWindows
ckipp01 Dec 27, 2022
bcc91c0
chore: remove the gitter icon in the readme
ckipp01 Dec 28, 2022
e7ddb3d
Merge branch 'main' into readmeGitter
ckipp01 Dec 28, 2022
d93a1d4
Merge branch 'main' into update/org.eclipse.jgit-6.4.0.202211300538-r
ckipp01 Dec 28, 2022
01a87b0
refactor(build): get rid of build warnings and unused things
ckipp01 Dec 28, 2022
4386cf2
Merge branch 'main' into buildWarnings
ckipp01 Dec 28, 2022
1ea1d1f
Merge pull request #1912 from scalacenter/update/org.eclipse.jgit-6.4…
ckipp01 Dec 28, 2022
12aee00
Merge pull request #1967 from ckipp01/readmeGitter
ckipp01 Dec 28, 2022
6a447be
Merge pull request #1968 from ckipp01/buildWarnings
ckipp01 Dec 28, 2022
11b8e54
chore(ci): try to bump node to lts
ckipp01 Dec 28, 2022
509f7c5
Merge pull request #1972 from ckipp01/npm
ckipp01 Dec 28, 2022
9dc9482
build(deps): Update zt-zip from 1.13 to 1.15
scala-center-steward[bot] Dec 30, 2022
38018d2
Merge pull request #1974 from scalacenter/update/zt-zip-1.15
ckipp01 Dec 30, 2022
608be35
refactor(build): clean up the plugins file
ckipp01 Dec 30, 2022
560b008
Merge pull request #1975 from ckipp01/plugins
ckipp01 Dec 30, 2022
11d3455
build(deps): Update sbt, test-agent from 1.8.0 to 1.8.1
scala-center-steward[bot] Jan 4, 2023
255fc63
Merge pull request #1976 from scalacenter/update/sbt-1.8.1
ckipp01 Jan 4, 2023
6644f95
build(deps): bump json5 from 1.0.1 to 1.0.2 in /website
dependabot[bot] Jan 4, 2023
f840fbb
Merge pull request #1977 from scalacenter/dependabot/npm_and_yarn/web…
ckipp01 Jan 4, 2023
3f22e7b
build(deps): Update sbt, test-agent from 1.8.1 to 1.8.2
scala-center-steward[bot] Jan 6, 2023
05d1b58
Merge pull request #1978 from scalacenter/update/sbt-1.8.2
ckipp01 Jan 6, 2023
86b3074
chore: remove twitterIntegrationProjects
ckipp01 Jan 6, 2023
9d92924
Merge pull request #1979 from ckipp01/byeTwitter
ckipp01 Jan 6, 2023
569f856
refactor: use a safer way to get a threaddump
ckipp01 Jan 6, 2023
6d89740
refactor: use latest versions of Scala in tests
ckipp01 Jan 6, 2023
1d52064
Sbt task bloopGenerate should throw occurred errors to indicate failu…
G1ng3r Dec 29, 2022
097725c
Merge pull request #1980 from ckipp01/variousImprovements
ckipp01 Jan 9, 2023
7f15a3c
Merge pull request #1973 from G1ng3r/feature/generate-task-errors
tgodzik Jan 9, 2023
a38256d
build(deps): Update interface, interface-svm-subs from 1.0.12 to 1.0.13
scala-center-steward[bot] Jan 11, 2023
5a08c3b
Merge pull request #1982 from scalacenter/update/interface-1.0.13
ckipp01 Jan 11, 2023
0b01238
build(deps): Update jna, jna-platform from 5.12.1 to 5.13.0
scala-center-steward[bot] Jan 15, 2023
2e89ddb
Merge pull request #1984 from scalacenter/update/jna-5.13.0
ckipp01 Jan 16, 2023
a96a05e
build(deps): Update sbt-native-packager from 1.9.11 to 1.9.12
scala-center-steward[bot] Jan 17, 2023
fe8786e
Merge pull request #1985 from scalacenter/update/sbt-native-packager-…
ckipp01 Jan 17, 2023
cbfd15f
improvement: Use diagnostic related information from the compiler
tgodzik Jan 17, 2023
abee501
Merge pull request #1986 from tgodzik/use-diagns-related-info
ckipp01 Jan 17, 2023
1f5df46
build(deps): Update sbt-native-packager from 1.9.12 to 1.9.13
scala-center-steward[bot] Jan 18, 2023
5abae0d
Merge pull request #1987 from scalacenter/update/sbt-native-packager-…
ckipp01 Jan 18, 2023
b7b7f70
build(deps): Update scalafmt-core from 3.6.1 to 3.7.0
scala-center-steward[bot] Jan 19, 2023
938cf56
Reformat with scalafmt 3.7.0
scala-center-steward[bot] Jan 19, 2023
860b30c
Add 'Reformat with scalafmt 3.7.0' to .git-blame-ignore-revs
scala-center-steward[bot] Jan 19, 2023
063268c
Merge pull request #1988 from scalacenter/update/scalafmt-core-3.7.0
tgodzik Jan 19, 2023
beae6c7
build(deps): Update scalafmt-core from 3.7.0 to 3.7.1
scala-center-steward[bot] Jan 24, 2023
054d0ed
Merge pull request #1993 from scalacenter/update/scalafmt-core-3.7.1
ckipp01 Jan 24, 2023
c7be7bd
fix: ensure valid scalajs-logging version in ScalaJsToolchain
ckipp01 Jan 26, 2023
e4e8a4c
refactor: take care of a bunch of warnings
ckipp01 Jan 26, 2023
03cd9ee
Merge pull request #1994 from ckipp01/scalajsFlaky
ckipp01 Jan 26, 2023
7205a41
Merge branch 'main' into deprecations
ckipp01 Jan 26, 2023
88cb849
build(deps): Update sbt-scalajs, scalajs-linker, ... from 1.12.0 to 1…
scala-center-steward[bot] Jan 27, 2023
07b4a1c
Merge pull request #1995 from ckipp01/deprecations
ckipp01 Jan 27, 2023
5a9f1d7
Merge branch 'main' into update/sbt-scalajs-1.13.0
ckipp01 Jan 27, 2023
873f2bf
Merge pull request #1997 from scalacenter/update/sbt-scalajs-1.13.0
ckipp01 Jan 27, 2023
459821e
build(deps): Update scalajs-linker, ... from 1.12.0 to 1.13.0
scala-center-steward[bot] Jan 28, 2023
fb531f1
Merge pull request #1998 from scalacenter/update/scalajs-linker-1.13.0
ckipp01 Jan 28, 2023
0357633
build(deps): Update tools from 0.4.9 to 0.4.10
scala-center-steward[bot] Jan 29, 2023
58a982d
build(deps): Update sbt-mdoc from 2.3.6 to 2.3.7
scala-center-steward[bot] Jan 29, 2023
c02ed8a
Merge pull request #2000 from scalacenter/update/sbt-mdoc-2.3.7
ckipp01 Jan 29, 2023
4645209
Merge pull request #1999 from scalacenter/update/tools-0.4.10
ckipp01 Jan 29, 2023
bb6f2c8
bugfix: Catch and log StackOverflowError
tgodzik Jan 30, 2023
f81aa46
Apply suggestion to the log about StackOverflowError
tgodzik Feb 1, 2023
8d7b712
build(deps): Update brave from 5.14.1 to 5.15.0
scala-center-steward[bot] Feb 2, 2023
de56679
Merge pull request #2003 from scalacenter/update/brave-5.15.0
tgodzik Feb 2, 2023
a249e0a
Merge pull request #2001 from tgodzik/catch-and-log-stackoverflow
tgodzik Feb 2, 2023
af133e3
build(deps): Update sbt-native-packager from 1.9.13 to 1.9.14
scala-center-steward[bot] Feb 10, 2023
71cfaa6
Merge pull request #2004 from scalacenter/update/sbt-native-packager-…
ckipp01 Feb 10, 2023
ab3074b
build(deps): Update sbt-native-packager from 1.9.14 to 1.9.15
scala-center-steward[bot] Feb 14, 2023
5e98bea
Merge pull request #2005 from scalacenter/update/sbt-native-packager-…
ckipp01 Feb 14, 2023
93b4c96
build(deps): bump actions/checkout from 2 to 3
dependabot[bot] Mar 1, 2023
600f355
Merge pull request #2010 from scalacenter/dependabot/github_actions/a…
ckipp01 Mar 2, 2023
e6b7dd5
build(deps): Update scala-debug-adapter from 3.0.5 to 3.0.7
scala-center-steward[bot] Feb 2, 2023
9099ed6
build(deps): Update sbt-native-packager from 1.9.15 to 1.9.16
scala-center-steward[bot] Mar 9, 2023
64f8cd3
build(deps): Update log4j-core from 2.19.0 to 2.20.0
scala-center-steward[bot] Mar 9, 2023
fc96bc9
build(deps): Update org.eclipse.jgit, ... from 6.4.0.202211300538-r t…
scala-center-steward[bot] Mar 9, 2023
60dd25f
build(deps): Update scalafmt-core from 3.7.1 to 3.7.2
scala-center-steward[bot] Mar 9, 2023
b4b7b67
Merge pull request #2015 from scalacenter/update/scalafmt-core-3.7.2
ckipp01 Mar 9, 2023
0d7601f
Merge pull request #2014 from scalacenter/update/org.eclipse.jgit-6.5…
ckipp01 Mar 9, 2023
af73ff1
Merge pull request #2002 from scalacenter/update/scala-debug-adapter-…
ckipp01 Mar 9, 2023
2108044
Merge pull request #2013 from scalacenter/update/log4j-core-2.20.0
ckipp01 Mar 9, 2023
3b76970
Merge pull request #2012 from scalacenter/update/sbt-native-packager-…
ckipp01 Mar 9, 2023
3d9d785
fix: do not expose mutable env properties in State (#2016)
kpodsiad Mar 10, 2023
e48e516
build(deps): Update tools from 0.4.10 to 0.4.11
scala-center-steward[bot] Mar 17, 2023
7eb2920
Merge pull request #2020 from scalacenter/update/tools-0.4.11
ckipp01 Mar 17, 2023
ab0f338
build(deps): Update slf4j-nop from 2.0.6 to 2.0.7
scala-center-steward[bot] Mar 18, 2023
1b18e0a
Merge pull request #2021 from scalacenter/update/slf4j-nop-2.0.7
ckipp01 Mar 18, 2023
a3d0594
build(deps): Update asm, asm-util from 9.4 to 9.5
scala-center-steward[bot] Mar 26, 2023
18c4677
Merge pull request #2025 from scalacenter/update/asm-9.5
ckipp01 Mar 26, 2023
dbcf46e
Merge commit '2b4ee8a3c' into merge-upstream
alexarchambault Mar 27, 2023
980c479
Merge commit 'cfc902d6d' into merge-upstream
alexarchambault Mar 27, 2023
1e8d225
Merge commit '7608a823d' into merge-upstream
alexarchambault Mar 27, 2023
eae785d
Merge commit '1ea1d1ff0' into merge-upstream
alexarchambault Mar 27, 2023
c0dd15e
Merge commit '12aee00cc' into merge-upstream
alexarchambault Mar 27, 2023
199213e
Merge commit '6a447be5c' into merge-upstream
alexarchambault Mar 27, 2023
78f245c
Merge commit '509f7c5c7' into merge-upstream
alexarchambault Mar 27, 2023
7da80c2
Merge commit '38018d2d1' into merge-upstream
alexarchambault Mar 27, 2023
505ec89
Merge commit '560b008ce' into merge-upstream
alexarchambault Mar 27, 2023
2e4b408
Merge commit '255fc632d' into merge-upstream
alexarchambault Mar 27, 2023
53e410a
Merge commit '05d1b5825' into merge-upstream
alexarchambault Mar 27, 2023
5798726
Merge commit '9d929249d' into merge-upstream
alexarchambault Mar 27, 2023
bcc70b9
Merge commit '097725c8e' into merge-upstream
alexarchambault Mar 27, 2023
b115bff
Merge commit '7f15a3cc7' into merge-upstream
alexarchambault Mar 27, 2023
88c8950
Merge commit '5a08c3bda' into merge-upstream
alexarchambault Mar 27, 2023
49bd702
Merge commit '2e89ddb20' into merge-upstream
alexarchambault Mar 27, 2023
45033e9
Merge commit 'fe8786ef5' into merge-upstream
alexarchambault Mar 27, 2023
efb3582
Merge commit 'abee50152' into merge-upstream
alexarchambault Mar 27, 2023
2d0ca28
Merge commit '5abae0d97' into merge-upstream
alexarchambault Mar 27, 2023
84d8e7e
Merge commit '063268cc3' into merge-upstream
alexarchambault Mar 27, 2023
04efc70
Merge commit '054d0edf8' into merge-upstream
alexarchambault Mar 27, 2023
e9615a1
Merge commit '03cd9ee2d' into merge-upstream
alexarchambault Mar 27, 2023
9b20b6d
Merge commit '07b4a1c23' into merge-upstream
alexarchambault Mar 27, 2023
24d523c
Merge commit '873f2bf04' into merge-upstream
alexarchambault Mar 27, 2023
88d41f8
Merge commit 'c02ed8a80' into merge-upstream
alexarchambault Mar 27, 2023
68f42df
Merge commit '46452098a' into merge-upstream
alexarchambault Mar 27, 2023
85ebd52
Merge commit 'de5667947' into merge-upstream
alexarchambault Mar 27, 2023
3ead964
Merge commit 'a249e0a71' into merge-upstream
alexarchambault Mar 27, 2023
bced736
Merge commit '5e98bea4c' into merge-upstream
alexarchambault Mar 27, 2023
f20f8c6
Merge commit '600f355bd' into merge-upstream
alexarchambault Mar 27, 2023
6b460e6
Merge commit 'b4b7b6715' into merge-upstream
alexarchambault Mar 27, 2023
21449f8
Merge commit '3b76970c1' into merge-upstream
alexarchambault Mar 27, 2023
2c01373
Merge commit '3d9d78524' into merge-upstream
alexarchambault Mar 27, 2023
ad6a65a
Merge remote-tracking branch 'upstream/main' into merge-upstream
alexarchambault Mar 27, 2023
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
3 changes: 3 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,6 @@

# Scala Steward: Reformat with scalafmt 3.6.1
77bc6a5845189a9659476d29fd7c02be5327ab8a

# Scala Steward: Reformat with scalafmt 3.7.0
938cf56606b4900cbd7679725441fbbbe979bcaf
2 changes: 1 addition & 1 deletion .scalafmt.conf
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version = "3.6.1"
version = "3.7.2"
runner.dialect = scala213
maxColumn = 100
docstrings.style = Asterisk
Expand Down
4 changes: 2 additions & 2 deletions backend/src/main/scala/bloop/task/Task.scala
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ sealed trait Task[+A] { self =>

final def transform[R](fa: A => R, fe: Throwable => R): Task[R] =
Task.Transform(
(t: MonixTask[A]) => t.transform(fa, fe),
(t: MonixTask[A]) => t.redeem(fe, fa),
self,
List.empty
)
Expand Down Expand Up @@ -639,7 +639,7 @@ object Task {

def liftMonixTask[A](t: MonixTask[A], cancel: () => Unit): Task[A] =
Task.create { (sh, cb) =>
t.runAsync(sh)
t.runToFuture(sh)
.onComplete {
case Success(v) => cb.onSuccess(v)
case Failure(e) => cb.onError(e)
Expand Down
4 changes: 2 additions & 2 deletions backend/src/main/scala/bloop/util/Java8Compat.scala
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import scala.util.control.NonFatal

import monix.execution.Cancelable
import monix.execution.CancelableFuture
import monix.execution.cancelables.SingleAssignmentCancelable
import monix.execution.cancelables.SingleAssignCancelable
import monix.execution.schedulers.TrampolinedRunnable

/**
Expand Down Expand Up @@ -58,7 +58,7 @@ object Java8Compat {
)(implicit ec: ExecutionContext): CancelableFuture[A] = {

val p = Promise[A]()
val cRef = SingleAssignmentCancelable()
val cRef = SingleAssignCancelable()

// Light async boundary to guard against stack overflows
ec.execute(new TrampolinedRunnable {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ final class BloopAnalysisCallback(
val map = if (reported) reportedProblems else unreportedProblems
map
.getOrElseUpdate(source.toPath(), new mutable.ListBuffer())
.+=(InterfaceUtil.problem(category, pos, msg, severity, None))
.+=(InterfaceUtil.problem(category, pos, msg, severity, None, None, Nil))
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,10 @@ final class BloopHighLevelCompiler(
logger
)
} catch {
case t: StackOverflowError =>
val msg = "Encountered a StackOverflowError coming from the compiler. You might need to restart your Bloop build server"
logger.error(s"${msg}:\n${t.getStackTrace().mkString("\n")}")
throw new CompileFailed(new Array(0), msg, new Array(0), t)
case NonFatal(t) =>
// If scala compilation happens, complete the java promise so that it doesn't block
JavaCompleted.tryFailure(t)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ final class ConcurrentAnalysisCallback(
val map = if (reported) reportedProblems else unreportedProblems
map
.getOrElseUpdate(source.toPath(), new ConcurrentLinkedQueue)
.add(InterfaceUtil.problem(category, pos, msg, severity, None))
.add(InterfaceUtil.problem(category, pos, msg, severity, None, None, Nil))
}
}

Expand Down
8 changes: 4 additions & 4 deletions backend/src/test/scala/bloop/task/TaskSpec.scala
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ class TaskSpec {
Cancelable.empty
}
.runAsync
val out = Await.result(future, 1.second)
val out = Await.result(future, 1.second).toLong
assertEquals(out, 42)
}

Expand All @@ -141,14 +141,14 @@ class TaskSpec {
)(_ + _)
.runAsync

val out = Await.result(future, 1.second)
val out = Await.result(future, 1.second).toLong
assertEquals(out, 3)
}

@Test
def memoize1: Unit = {
val memoizedTime = Task
.create[Long] { (sh, cb) =>
.create[Long] { (_, cb) =>
cb.onSuccess(System.currentTimeMillis())
Cancelable.empty
}
Expand All @@ -166,7 +166,7 @@ class TaskSpec {
@Test
def memoize2: Unit = {
val memoizedTime = Task
.create[Long] { (sh, cb) =>
.create[Long] { (_, cb) =>
cb.onSuccess(System.currentTimeMillis())
Cancelable.empty
}
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/main/scala/bloop/bsp/BloopLanguageClient.scala
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,8 @@ class BloopLanguageClient(
for {
id <- response match {
case Response.None => Some(RequestId.Null)
case Response.Success(_, requestId, jsonrpc, _) => Some(requestId)
case Response.Error(_, requestId, jsonrpc, _) => Some(requestId)
case Response.Success(_, requestId, _, _) => Some(requestId)
case Response.Error(_, requestId, _, _) => Some(requestId)
}
callback <- activeServerRequests.remove(id).orElse {
logger.error(s"Response to unknown request: $response")
Expand Down
8 changes: 4 additions & 4 deletions frontend/src/main/scala/bloop/bsp/BloopRpcServices.scala
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ object BloopRpcServices {
import endpoint.{codecA, codecB}
val method = endpoint.method
message match {
case Request(`method`, params, id, jsonrpc, headers) =>
case Request(`method`, params, id, _, _) =>
val paramsJson = extractJsonParams(params)
Try(readFromArray[A](paramsJson.value)) match {
case Success(value) =>
Expand Down Expand Up @@ -97,14 +97,14 @@ object BloopRpcServices {
import endpoint.codecA
val method = endpoint.method
message match {
case Notification(`method`, params, _, headers) =>
case Notification(`method`, params, _, _) =>
val paramsJson = extractJsonParams(params)
Try(readFromArray[A](paramsJson.value)) match {
case Success(value) => f(value).map(a => Response.None)
case Success(value) => f(value).map(_ => Response.None)
case Failure(err) =>
fail(s"Failed to parse notification $message. Params: $paramsJson. Errors: $err")
}
case Notification(invalidMethod, _, _, headers) =>
case Notification(invalidMethod, _, _, _) =>
fail(s"Expected method '$method', obtained '$invalidMethod'")
case _ => fail(s"Expected notification, obtained $message")
}
Expand Down
31 changes: 13 additions & 18 deletions frontend/src/main/scala/bloop/cli/CommonOptions.scala
Original file line number Diff line number Diff line change
Expand Up @@ -30,42 +30,37 @@ case class CommonOptions(
@Hidden env: CommonOptions.PrettyProperties = CommonOptions.currentEnv
) {
def workingPath: AbsolutePath = AbsolutePath(workingDirectory)

def withEnv(env: CommonOptions.PrettyProperties): CommonOptions =
copy(env = env)
}

object CommonOptions {
final val default: CommonOptions = CommonOptions()

// Our own version of properties in which we override `toString`
final class PrettyProperties extends Properties {
override def toString: String = synchronized {
super.keySet().toArray.map(_.toString).mkString(", ")
final class PrettyProperties(val toMap: Map[String, String]) {
override def toString: String = {
toMap.keySet.mkString(", ")
}

def toMap: Map[String, String] = {
import scala.collection.JavaConverters._
this.asScala.toMap
def containsKey(key: String): Boolean = toMap.contains(key)
def withProperty(key: String, value: String): PrettyProperties = {
new PrettyProperties(toMap + (key -> value))
}
}

object PrettyProperties {
def from(p: Properties): PrettyProperties = {
val pp = new PrettyProperties()
// Scala bug #10418 work-around
import scala.collection.JavaConverters._
p.asScala.foreach {
case (k, v) =>
pp.setProperty(k, v)
}

pp
import scala.collection.JavaConverters.propertiesAsScalaMapConverter
val propertiesMap = p.asScala.toMap
new PrettyProperties(propertiesMap)
}
}

final lazy val currentEnv: PrettyProperties = {
import scala.collection.JavaConverters._
System.getenv().asScala.foldLeft(new PrettyProperties()) {
case (props, (key, value)) => props.setProperty(key, value); props
}
new PrettyProperties(System.getenv().asScala.toMap)
}

implicit lazy val parser: Parser[CommonOptions] = Parser.derive
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ object ExecutionContext {
Scheduler.Implicits.global
}

val ioReporter = UncaughtExceptionReporter.LogExceptionsToStandardErr
val ioReporter = UncaughtExceptionReporter.default
lazy val ioExecutor: ThreadPoolExecutor = {
val threadFactory = monixThreadFactoryBuilder("bloop-io", ioReporter, daemonic = true)
new ThreadPoolExecutor(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ object CompileGraph {
runningCompilation.traversal.executeOn(ExecutionContext.ioScheduler)

val deduplicateStreamSideEffectsHandle =
replayEventsTask.runAsync(ExecutionContext.ioScheduler)
replayEventsTask.runToFuture(ExecutionContext.ioScheduler)

/**
* Deduplicate and change the implementation of the task returning the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ object ScalaJsToolchain extends ToolchainCompanion[ScalaJsToolchain] {
DependencyResolution
.Artifact("org.scala-js", s"scalajs-env-jsdom-nodejs_$scalaVersion", "1.1.0"),
DependencyResolution
.Artifact("org.scala-js", s"scalajs-logging_$scalaVersion", "1.4.0")
.Artifact("org.scala-js", s"scalajs-logging_$scalaVersion", "1.1.1")
)
}

Expand Down
37 changes: 25 additions & 12 deletions frontend/src/main/scala/bloop/exec/JvmProcessForker.scala
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,13 @@ trait JvmProcessForker {
* @param mainClass The fully qualified name of the class to run
* @param args The arguments to pass to the main method.
* @param jvmOptions The java options to pass to the jvm.
* @param envVars Env vars which should be passed to the jvm.
* @param logger Where to log the messages from execution
* @param opts The options to run the program with
* @param extraClasspath Paths to append to the classpath before running
* @return 0 if the execution exited successfully, a non-zero number otherwise
*/
def runMain(
final def runMain(
cwd: AbsolutePath,
mainClass: String,
args: Array[String],
Expand All @@ -58,6 +59,28 @@ trait JvmProcessForker {
logger: Logger,
opts: CommonOptions,
extraClasspath: Array[AbsolutePath] = Array.empty
): Task[Int] = {
val newEnv = envVars.foldLeft(opts.env) {
case (properties, line) =>
val eqIdx = line.indexOf("=")
if (eqIdx > 0 && eqIdx != line.length - 1) {
val key = line.substring(0, eqIdx)
val value = line.substring(eqIdx + 1)
properties.withProperty(key, value)
} else properties
}
val commonOptionWithEnv = opts.withEnv(newEnv)
runMain(cwd, mainClass, args, jvmOptions, logger, commonOptionWithEnv, extraClasspath)
}

protected[exec] def runMain(
cwd: AbsolutePath,
mainClass: String,
args: Array[String],
jvmOptions: Array[String],
logger: Logger,
opts: CommonOptions,
extraClasspath: Array[AbsolutePath]
): Task[Int]
}

Expand Down Expand Up @@ -99,22 +122,13 @@ final class JvmForker(config: JdkConfig, classpath: Array[AbsolutePath]) extends
mainClass: String,
args: Array[String],
jargs: Array[String],
envVars: List[String],
logger: Logger,
opts: CommonOptions,
extraClasspath: Array[AbsolutePath]
): Task[Int] = {
val jvmOptions = jargs ++ config.javaOptions
val fullClasspath = classpath ++ extraClasspath
val fullClasspathStr = fullClasspath.map(_.syntax).mkString(File.pathSeparator)
envVars.foreach(line => {
val eqIdx = line.indexOf("=")
if (eqIdx > 0 && eqIdx != line.length - 1) {
val key = line.substring(0, eqIdx)
val value = line.substring(eqIdx + 1)
opts.env.setProperty(key, value)
}
})

// Windows max cmd line length is 32767, which seems to be the least of the common shells.
val processCmdCharLimit = 30000
Expand Down Expand Up @@ -228,13 +242,12 @@ final class JvmDebuggingForker(underlying: JvmProcessForker) extends JvmProcessF
mainClass: String,
args: Array[String],
jargs0: Array[String],
envVars: List[String],
logger: Logger,
opts: CommonOptions,
extraClasspath: Array[AbsolutePath]
): Task[Int] = {
val jargs = jargs0 :+ enableDebugInterface
underlying.runMain(cwd, mainClass, args, jargs, envVars, logger, opts, extraClasspath)
underlying.runMain(cwd, mainClass, args, jargs, logger, opts, extraClasspath)
}

private def enableDebugInterface: String = {
Expand Down
Loading