Skip to content

Commit b624d4d

Browse files
committed
Merge pull request scala#4976 from retronym/topic/bootstrap-custom-starr
bootstrap: configurable starr, skip docs on first module build
2 parents 1564f28 + c4fc2fd commit b624d4d

File tree

1 file changed

+43
-7
lines changed

1 file changed

+43
-7
lines changed

scripts/jobs/integrate/bootstrap

Lines changed: 43 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ moduleVersioning=${moduleVersioning-"versions.properties"}
8787
publishPrivateTask=${publishPrivateTask-"publish"}
8888
publishSonatypeTaskCore=${publishSonatypeTaskCore-"publish-signed"}
8989
publishSonatypeTaskModules=${publishSonatypeTaskModules-"publish-signed"}
90+
publishStarrPrivateTask=${publishStarrPrivateTask-$publishPrivateTask} # set to "init" to speed up testing of the script (if you already built STARR before)
9091
publishLockerPrivateTask=${publishLockerPrivateTask-$publishPrivateTask} # set to "init" to speed up testing of the script (if you already built locker before)
9192

9293
forceRebuild=${forceRebuild-no}
@@ -208,12 +209,17 @@ sbtResolve() {
208209
# scala-xml depends on scala-library, so sbt tries to find the scala-library of the version that we are currently building,
209210
# which exists only in private-repo.
210211

212+
docTask() {
213+
if [ "$1" == "yes" ]; then echo doc; else echo set publishArtifact in packageDoc in Compile := false; fi
214+
}
215+
211216
buildXML() {
212217
if [ "$XML_BUILT" != "yes" ] && [ "$forceRebuild" != "yes" ] && ( sbtResolve "org.scala-lang.modules" "scala-xml" $XML_VER )
213218
then echo "Found scala-xml $XML_VER; not building."
214219
else
215220
update scala scala-xml "$XML_REF" && gfxd
216-
sbtBuild 'set version := "'$XML_VER'-DOC"' $clean doc 'set version := "'$XML_VER'"' test "${buildTasks[@]}"
221+
doc="$(docTask $XML_BUILT)"
222+
sbtBuild 'set version := "'$XML_VER'-DOC"' $clean "$doc" 'set version := "'$XML_VER'"' test "${buildTasks[@]}"
217223
XML_BUILT="yes" # ensure the module is built and published when buildXML is invoked for the second time, see comment above
218224
fi
219225
}
@@ -223,7 +229,8 @@ buildParsers() {
223229
then echo "Found scala-parser-combinators $PARSERS_VER; not building."
224230
else
225231
update scala scala-parser-combinators "$PARSERS_REF" && gfxd
226-
sbtBuild 'set version := "'$PARSERS_VER'-DOC"' $clean doc 'set version := "'$PARSERS_VER'"' test "${buildTasks[@]}"
232+
doc="$(docTask $PARSERS_BUILT)"
233+
sbtBuild 'set version := "'$PARSERS_VER'-DOC"' $clean "$doc" 'set version := "'$PARSERS_VER'"' test "${buildTasks[@]}"
227234
PARSERS_BUILT="yes"
228235
fi
229236
}
@@ -233,7 +240,8 @@ buildPartest() {
233240
then echo "Found scala-partest $PARTEST_VER; not building."
234241
else
235242
update scala scala-partest "$PARTEST_REF" && gfxd
236-
sbtBuild 'set version :="'$PARTEST_VER'"' 'set VersionKeys.scalaXmlVersion := "'$XML_VER'"' 'set VersionKeys.scalaCheckVersion := "'$SCALACHECK_VER'"' $clean test "${buildTasks[@]}"
243+
doc="$(docTask $PARTEST_BUILT)"
244+
sbtBuild 'set version :="'$PARTEST_VER'"' 'set VersionKeys.scalaXmlVersion := "'$XML_VER'"' 'set VersionKeys.scalaCheckVersion := "'$SCALACHECK_VER'"' $clean "$doc" test "${buildTasks[@]}"
237245
PARTEST_BUILT="yes"
238246
fi
239247
}
@@ -243,7 +251,8 @@ buildSwing() {
243251
then echo "Found scala-swing $SWING_VER; not building."
244252
else
245253
update scala scala-swing "$SWING_REF" && gfxd
246-
sbtBuild 'set version := "'$SWING_VER'"' $clean test "${buildTasks[@]}"
254+
doc="$(docTask $SWING_BUILT)"
255+
sbtBuild 'set version := "'$SWING_VER'"' $clean "$doc" test "${buildTasks[@]}"
247256
SWING_BUILT="yes"
248257
fi
249258
}
@@ -254,7 +263,8 @@ buildScalacheck(){
254263
then echo "Found scalacheck $SCALACHECK_VER; not building."
255264
else
256265
update rickynils scalacheck $SCALACHECK_REF && gfxd
257-
sbtBuild 'set version := "'$SCALACHECK_VER'"' 'set VersionKeys.scalaParserCombinatorsVersion := "'$PARSERS_VER'"' $clean publish # test times out NOTE: never published to sonatype
266+
doc="$(docTask $SCALACHECK_BUILT)"
267+
sbtBuild 'set version := "'$SCALACHECK_VER'"' 'set VersionKeys.scalaParserCombinatorsVersion := "'$PARSERS_VER'"' $clean "$doc" publish # test times out NOTE: never published to sonatype
258268
SCALACHECK_BUILT="yes"
259269
fi
260270
}
@@ -426,7 +436,7 @@ removeExistingBuilds() {
426436
local netrcFile="$HOME/.credentials-private-repo-netrc"
427437

428438
local storageApiUrl=`echo $releaseTempRepoUrl | sed 's/\(scala-release-temp\)/api\/storage\/\1/'`
429-
local scalaLangModules=`curl -s $storageApiUrl/org/scala-lang | jq -r '.children | .[] | "org/scala-lang" + .uri'`
439+
local scalaLangModules=`curl -s $storageApiUrl/org/scala-lang | jq -r '.children | .[] | "org/scala-lang" + .uri' | grep -v actors-migration`
430440

431441
for module in "org/scalacheck" $scalaLangModules; do
432442
local artifacts=`curl -s $storageApiUrl/$module | jq -r ".children | .[] | select(.uri | contains(\"$SCALA_VER\")) | .uri"`
@@ -462,6 +472,31 @@ bootstrap() {
462472

463473
cd $WORKSPACE
464474

475+
#### (Optional) STARR.
476+
if [ ! -z "$STARR_REF" ]; then
477+
echo "### Building STARR"
478+
479+
STARR_DIR=./scala-starr
480+
STARR_VER_SUFFIX="-$(git rev-parse --short $STARR_REF)-nightly"
481+
STARR_VER=$SCALA_VER_BASE$STARR_VER_SUFFIX
482+
rm -rf "$STARR_DIR"
483+
(
484+
git clone --reference $WORKSPACE/.git $WORKSPACE/.git $STARR_DIR
485+
cd $STARR_DIR
486+
git co $STARR_REF
487+
ant -Dmaven.version.number=$STARR_VER\
488+
-Dremote.snapshot.repository=NOPE\
489+
-Dremote.release.repository=$releaseTempRepoUrl\
490+
-Drepository.credentials.id=$releaseTempRepoCred\
491+
-Dscalac.args.optimise=-Yopt:l:classpath\
492+
-Ddocs.skip=1\
493+
-Dlocker.skip=1\
494+
$publishStarrPrivateTask >> $baseDir/logs/builds 2>&1
495+
)
496+
else
497+
STARR_VER=$SCALA_VER
498+
fi
499+
465500
#### LOCKER
466501

467502
echo "### Building locker"
@@ -471,16 +506,17 @@ bootstrap() {
471506
# must publish under $SCALA_VER so that the modules will depend on this (binary) version of Scala
472507
# publish more than just core: partest needs scalap
473508
# in sabbus lingo, the resulting Scala build will be used as starr to build the released Scala compiler
509+
if [ ! -z "$STARR_VER" ]; then SET_STARR=-Dstarr.version=$STARR_VER; fi
474510
ant -Dmaven.version.number=$SCALA_VER\
475511
-Dremote.snapshot.repository=NOPE\
512+
$SET_STARR\
476513
-Dremote.release.repository=$releaseTempRepoUrl\
477514
-Drepository.credentials.id=$releaseTempRepoCred\
478515
-Dscalac.args.optimise=-Yopt:l:classpath\
479516
-Ddocs.skip=1\
480517
-Dlocker.skip=1\
481518
$publishLockerPrivateTask >> $baseDir/logs/builds 2>&1
482519

483-
484520
echo "### Building modules using locker"
485521

486522
# build, test and publish modules with this core

0 commit comments

Comments
 (0)