@@ -250,13 +250,28 @@ class CommitBisect(validationScript: File, shouldFail: Boolean, bootstrapped: Bo
250250 val scala3CompilerProject = if bootstrapped then " scala3-compiler-bootstrapped" else " scala3-compiler"
251251 val scala3Project = if bootstrapped then " scala3-bootstrapped" else " scala3"
252252 val validationCommandStatusModifier = if shouldFail then " ! " else " " // invert the process status if failure was expected
253+ val sbtPublishRecipe = Seq (
254+ " clean" ,
255+ """ set every doc := new File("unused")""" ,
256+ s " set scaladoc/Compile/resourceGenerators := (` $scala3Project`/Compile/resourceGenerators).value " ,
257+ s " $scala3Project/publishLocal " ,
258+ ).mkString(" ; " )
259+
253260 val bisectRunScript = raw """
254261 |scalaVersion= $$ (sbt "print ${scala3CompilerProject}/version" | tail -n1)
255262 |rm -rf out
256263 |export JAVA_HOME= ${sys.props(" java.home" )}
257- |(sbt "clean; set every doc := new File(\"unused\"); set scaladoc/Compile/resourceGenerators := (\` ${scala3Project}\`/Compile/resourceGenerators).value; ${scala3Project}/publishLocal" \
258- | || (echo "Failed to build compiler, skip $$ scalaVersion"; git bisect skip) \
259- |) && ${validationCommandStatusModifier}${validationScript.getAbsolutePath} " $$ scalaVersion"
264+ |sbt_build_log= $$ (mktemp)
265+ |echo 'Running sbt publish recipe: sbt " $sbtPublishRecipe"'
266+ |if sbt ' $sbtPublishRecipe' >" $$ sbt_build_log" 2>&1; then
267+ | rm -f " $$ sbt_build_log"
268+ | ${validationCommandStatusModifier}${validationScript.getAbsolutePath} " $$ scalaVersion"
269+ |else
270+ | echo "Failed to build compiler, skip $$ scalaVersion"
271+ | cat " $$ sbt_build_log"
272+ | rm -f " $$ sbt_build_log"
273+ | git bisect skip
274+ |fi
260275 """ .stripMargin
261276 " git bisect start" .!
262277 s " git bisect bad $fistBadHash" .!
0 commit comments