File tree Expand file tree Collapse file tree 7 files changed +96
-39
lines changed Expand file tree Collapse file tree 7 files changed +96
-39
lines changed Original file line number Diff line number Diff line change 11target /
22/pack /
3+ /cli-test /
Original file line number Diff line number Diff line change 1010 - SCALAJS_VERSION=1.0.0
1111script :
1212 - ./scripts/assemble-cli.sh $SCALAJS_VERSION $TRAVIS_SCALA_VERSION
13+ - ./scripts/test-cli.sh $SCALAJS_VERSION $TRAVIS_SCALA_VERSION
1314cache :
1415 directories :
1516 - $HOME/.ivy2/cache
Original file line number Diff line number Diff line change 22
33TODO: We should automate this process
44
5- For each major Scala version on a * NIX distro and a Windows distro:
5+ For each major Scala version on a Windows distro:
66
771 . Download packaged Scala from scala-lang.org
882 . Build a CLI distribution (see [ the release process] ( ./RELEASING.md ) )
Original file line number Diff line number Diff line change 11#! /bin/sh
22
3- set -e
4-
53# Assembles the CLI tools for a given Scala binary version.
64
7- if [ $# -lt 2 ]; then
8- echo " Usage: $( basename $0 ) <scala.js full version> <base scala full version>" >&2
9- exit 1
10- fi
11-
12- SCALAJS_VER=$1
13-
14- BASEVER=$2
15- case $BASEVER in
16- 2.11.* )
17- BINVER=" 2.11"
18- ;;
19- 2.12.* )
20- BINVER=" 2.12"
21- ;;
22- 2.13.* )
23- BINVER=" 2.13"
24- ;;
25- * )
26- echo " Invalid Scala version $BINVER " >&2
27- exit 2
28- esac
5+ . " $( dirname $0 ) /vars.sh"
296
307# Build and lay out the contents of the archives
318sbt \
@@ -35,21 +12,11 @@ sbt \
3512 " cliPack" \
3613 || exit $?
3714
38- # Base Scala.js project directory.
39- BASE=" $( dirname $0 ) /.."
40-
41- # Aritfact name (no extension).
42- NAME=scalajs_$BINVER -$SCALAJS_VER
43-
44- # Target directories
45- TRG_BASE=" $BASE /pack"
46- TRG_VER=" $TRG_BASE /$NAME "
47-
4815# Tar and zip the whole thing up
4916(
5017 cd $TRG_BASE
51- tar cfz $NAME .tgz $NAME
18+ tar cfz $SJS_ARTIFACT_NAME .tgz $SJS_ARTIFACT_NAME
5219
53- if [ -f $NAME .zip ]; then rm $NAME .zip; fi
54- zip -r $NAME .zip -r $NAME
20+ if [ -f $SJS_ARTIFACT_NAME .zip ]; then rm $SJS_ARTIFACT_NAME .zip; fi
21+ zip -r $SJS_ARTIFACT_NAME .zip -r $SJS_ARTIFACT_NAME
5522)
Original file line number Diff line number Diff line change 1+ #! /bin/sh
2+
3+ # Tests the CLI tools.
4+
5+ . " $( dirname $0 ) /vars.sh"
6+
7+ TEST_DIR=" $( realpath $( dirname $0 ) /../cli-test) "
8+
9+ rm -rf $TEST_DIR
10+ mkdir $TEST_DIR
11+ cd $TEST_DIR
12+
13+ # Fetch Scala
14+ SCALA_ARTIFACT_NAME=scala-$BASEVER
15+ wget " https://downloads.lightbend.com/scala/$BASEVER /$SCALA_ARTIFACT_NAME .tgz"
16+ tar xf $SCALA_ARTIFACT_NAME .tgz
17+
18+ # Fetch Scala.js
19+ cp $TRG_BASE /$SJS_ARTIFACT_NAME .tgz .
20+ tar xf $SJS_ARTIFACT_NAME .tgz
21+
22+ # Setup PATH
23+ PATH=$PATH :$TEST_DIR /$SCALA_ARTIFACT_NAME /bin:$TEST_DIR /$SJS_ARTIFACT_NAME /bin
24+
25+ fail () {
26+ echo " $1 " >&2
27+ exit 2
28+ }
29+
30+ # Actual test.
31+ mkdir bin
32+ cat > foo.scala << 'EOF '
33+ object Foo {
34+ def main(args: Array[String]): Unit = {
35+ println(s"asdf ${1 + 1}")
36+ new A
37+ }
38+
39+ class A
40+ }
41+ EOF
42+
43+ scalajsc -d bin foo.scala
44+
45+ scalajsp bin/Foo$.sjsir > out
46+ test -s out || fail " scalajsp bin/Foo$.sjsir: empty output"
47+
48+ scalajsp bin/Foo\$ A.sjsir > out
49+ test -s out || fail " scalajsp bin/Foo\$ A.sjsir: empty output"
50+
51+ scalajsld -o test.js -mm Foo.main bin
52+ test -s test.js || fail " scalajsld: empty output"
53+
54+ node test.js > got.run
55+ cat > want.run << EOF
56+ asdf 2
57+ EOF
58+
59+ diff got.run want.run
Original file line number Diff line number Diff line change 1+ set -e
2+
3+ if [ $# -lt 2 ]; then
4+ echo " Usage: $( basename $0 ) <scala.js full version> <base scala full version>" >&2
5+ exit 1
6+ fi
7+
8+ SCALAJS_VER=$1
9+
10+ BASEVER=$2
11+ case $BASEVER in
12+ 2.11.* )
13+ BINVER=" 2.11"
14+ ;;
15+ 2.12.* )
16+ BINVER=" 2.12"
17+ ;;
18+ 2.13.* )
19+ BINVER=" 2.13"
20+ ;;
21+ * )
22+ echo " Invalid Scala version $BINVER " >&2
23+ exit 2
24+ esac
25+
26+ # Base Scala.js project directory.
27+ TRG_BASE=" $( realpath $( dirname $0 ) /../pack) "
28+
29+ SJS_ARTIFACT_NAME=scalajs_$BINVER -$SCALAJS_VER
Original file line number Diff line number Diff line change 22
33SCALA_BIN_VER=" @SCALA_BIN_VER@"
44SCALAJS_VER=" @SCALAJS_VER@"
5- SCALA_VER=$( scalac -version 2>&1 | grep -o ' [0-9]\.[0-9]\+\.[0-9]\+' )
5+ SCALA_VER=$( scalac -version 2>&1 | grep -i scala | grep - o ' [0-9]\.[0-9]\+\.[0-9]\+' )
66
77if [ " $( echo $SCALA_VER | cut -d ' .' -f 1-2) " != " $SCALA_BIN_VER " ]; then
88 echo " This bundle of Scala.js CLI is for $SCALA_BIN_VER . Your scala version is $SCALA_VER !" >&2
You can’t perform that action at this time.
0 commit comments