Skip to content

Commit 511b2e2

Browse files
adpi2michelou
authored andcommitted
Use Mill 0.9.6-16-a5da34
1 parent 904c45e commit 511b2e2

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

community-build/src/scala/dotty/communitybuild/projects.scala

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,12 @@ lazy val sbtPluginFilePath: String =
2121
def log(msg: String) = println(Console.GREEN + msg + Console.RESET)
2222

2323
/** Executes shell command, returns false in case of error. */
24-
def exec(projectDir: Path, binary: String, arguments: String*): Int =
24+
def exec(projectDir: Path, binary: String, arguments: Seq[String], environment: Map[String, String]): Int =
25+
import collection.JavaConverters._
2526
val command = binary +: arguments
2627
log(command.mkString(" "))
2728
val builder = new ProcessBuilder(command: _*).directory(projectDir.toFile).inheritIO()
29+
builder.environment.putAll(environment.asJava)
2830
val process = builder.start()
2931
val exitCode = process.waitFor()
3032
exitCode
@@ -41,6 +43,7 @@ sealed trait CommunityProject:
4143
val binaryName: String
4244
val runCommandsArgs: List[String] = Nil
4345
val requiresExperimental: Boolean
46+
val environment: Map[String, String] = Map.empty
4447

4548
final val projectDir = communitybuildDir.resolve("community-projects").resolve(project)
4649

@@ -55,7 +58,7 @@ sealed trait CommunityProject:
5558
log(s"Publishing $project")
5659
if publishCommand eq null then
5760
throw RuntimeException(s"Publish command is not specified for $project. Project details:\n$this")
58-
val exitCode = exec(projectDir, binaryName, (runCommandsArgs :+ publishCommand): _*)
61+
val exitCode = exec(projectDir, binaryName, (runCommandsArgs :+ publishCommand), environment)
5962
if exitCode != 0 then
6063
throw RuntimeException(s"Publish command exited with code $exitCode for project $project. Project details:\n$this")
6164
published = true
@@ -70,11 +73,11 @@ sealed trait CommunityProject:
7073
log(s"Documenting $project")
7174
if docCommand eq null then
7275
throw RuntimeException(s"Doc command is not specified for $project. Project details:\n$this")
73-
val exitCode = exec(projectDir, binaryName, (runCommandsArgs :+ docCommand): _*)
76+
val exitCode = exec(projectDir, binaryName, (runCommandsArgs :+ docCommand), environment)
7477
if exitCode != 0 then
7578
throw RuntimeException(s"Doc command exited with code $exitCode for project $project. Project details:\n$this")
7679

77-
final def build(): Int = exec(projectDir, binaryName, buildCommands: _*)
80+
final def build(): Int = exec(projectDir, binaryName, buildCommands, environment)
7881

7982
final def buildCommands = runCommandsArgs :+ testCommand
8083

@@ -94,6 +97,7 @@ final case class MillCommunityProject(
9497
// uncomment once mill is released
9598
// if ignoreDocs then null else s"$baseCommand.docJar"
9699
override val runCommandsArgs = List("-i", "-D", s"dottyVersion=$compilerVersion")
100+
override val environment = Map("MILL_VERSION" -> "0.9.6-16-a5da34")
97101

98102
final case class SbtCommunityProject(
99103
project: String,

0 commit comments

Comments
 (0)