Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improvements to code assist in the REPL #110

Closed
wants to merge 449 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
449 commits
Select commit Hold shift + click to select a range
cb5b949
Merge pull request #9539 from SethTisue/sbt-1.4.8
SethTisue Mar 10, 2021
093dec2
Merge pull request #9525 from kynthus/2.13.x
lrytz Mar 11, 2021
411d548
Fix regression in ZipArchive
jozic Mar 7, 2021
e0f069a
Merge pull request #9535 from jozic/fix-zip-archive
dwijnand Mar 11, 2021
0d07e1a
Merge pull request #9532 from lrytz/merge-2.12-to-2.13-mar-5
dwijnand Mar 11, 2021
3540cf2
Merge pull request #9533 from martijnhoekstra/packagemods
SethTisue Mar 11, 2021
93ec1f0
Merge pull request #9521 from jxnu-liguobin/fix-12264
SethTisue Mar 12, 2021
cde5db3
check private[this] members in override checking
lrytz Mar 12, 2021
be68acc
Byte and Short get signed toHexString
som-snytt Aug 29, 2019
f81e1a9
Convert enrichments tests to junit
som-snytt Mar 16, 2021
1b98feb
Merge pull request #8383 from som-snytt/issue/10216-toXString
lrytz Mar 17, 2021
b9e49f9
allow $ escaping double quotes in interpolations
martijnhoekstra Mar 8, 2021
5126a0a
include spec updates for change
Jul 19, 2018
ac73ea3
Merge pull request #9536 from martijnhoekstra/escdollar3
lrytz Mar 17, 2021
0947ccd
Allow \" in single-quoted string interpolations
eed3si9n Mar 26, 2020
62f515d
Spec for \" in interpolated strings
lrytz Mar 8, 2021
024daf2
Make more annotations extend ConstantAnnotation
BalmungSan Nov 21, 2020
20a60cd
Merge pull request #9336 from BalmungSan/patch-1
SethTisue Mar 17, 2021
ae7519b
Typo in test
som-snytt Mar 18, 2021
8a2cf63
Merge pull request #9543 from som-snytt/tweak/t2509-3
lrytz Mar 18, 2021
6ea0206
in user-facing contexts, call it REPL not interpreter
SethTisue Mar 22, 2021
d78040a
Fixes scala/bug#12201
jxnu-liguobin Mar 19, 2021
51c0eb1
fix #12357: enter late all inline methods from TASTy
bishabosha Mar 24, 2021
9bb0abf
test case for scala/bug#7994
jxnu-liguobin Mar 25, 2021
e6be22c
clarify what it means to 'usually' evaluate in that order
martijnhoekstra Mar 23, 2021
6efbacd
Merge pull request #9553 from jxnu-liguobin/p7994
lrytz Mar 25, 2021
5753e28
Merge pull request #9547 from martijnhoekstra/specEvaluationOrderApply
lrytz Mar 25, 2021
5d025ac
Merge pull request #9544 from jxnu-liguobin/p12201
lrytz Mar 25, 2021
889d5c6
Merge pull request #9552 from scalacenter/tasty/fix-12357
lrytz Mar 26, 2021
decec2e
Only when all methods are Deprecated should they be displayed `Deprec…
jxnu-liguobin Mar 27, 2021
107c727
Merge pull request #9510 from jxnu-liguobin/fix-12338
SethTisue Mar 28, 2021
a6a9cbe
handle .inputtrc
jxnu-liguobin Mar 29, 2021
09b5ded
Support `case` in pattern bindings under -Xsource:3
smarter Mar 30, 2021
ab1818b
Upgrade Dotty to 3.0.0-RC2
anatoliykmetyuk Mar 30, 2021
2fad714
Merge pull request #9545 from SethTisue/repl-not-interpreter
SethTisue Mar 30, 2021
465fa6a
Merge pull request #8830 from eed3si9n/wip/interpolator
dwijnand Mar 31, 2021
3c5f6aa
Support `?` as wildcard marker under -Xsource:3
smarter Mar 31, 2021
76ae53a
Spec: add block expression to function application
martijnhoekstra Mar 25, 2021
6afd431
spec: include pattern matching function in block expression
martijnhoekstra Apr 1, 2021
9d811a9
scala/bug#11896
jxnu-liguobin Apr 2, 2021
b58568a
sbt 1.5.0 (was 1.4.9)
SethTisue Mar 15, 2021
59d4332
Merge pull request #9562 from martijnhoekstra/blockspec
lrytz Apr 7, 2021
fd69ef8
Merge pull request #9444 from SethTisue/sbt-1.5
dwijnand Apr 7, 2021
4c54e33
Merge pull request #9554 from martijnhoekstra/ants
lrytz Apr 8, 2021
df03c9a
Merge pull request #9563 from jxnu-liguobin/fix-Types-ScalaDoc
SethTisue Apr 8, 2021
411c1f7
Merge pull request #9560 from smarter/wildcard-qmark
SethTisue Apr 8, 2021
6c68c28
Merge pull request #9559 from dotty-staging/dotty-release-3.0.0-RC2
SethTisue Apr 8, 2021
d12f66c
Fix typo in TastyFormat.scala
eltociear Apr 12, 2021
b372fb3
Merge pull request #9570 from eltociear/patch-1
SethTisue Apr 12, 2021
06cb813
fix p12366
jxnu-liguobin Mar 25, 2021
27867fb
Merge pull request #9555 from jxnu-liguobin/p12366
lrytz Apr 15, 2021
d1392f3
Give run/string-switch-pos an alternative pattern case
dwijnand Apr 15, 2021
755a124
Rework string switching to use less labels/gotos
dwijnand Apr 15, 2021
2c1ca22
Emit LocalVariableTable for mirror methods
jxnu-liguobin Apr 1, 2021
e5e5cc3
Check for bad param names on overload
som-snytt Apr 15, 2021
a91eea6
Drop old ScalaVersions
dwijnand Apr 15, 2021
104b36c
Merge pull request #9561 from jxnu-liguobin/add-LocalVariableTable-in…
lrytz Apr 16, 2021
f7d1b37
Merge pull request #9574 from som-snytt/issue/12347
lrytz Apr 16, 2021
01f8116
Merge pull request #9575 from dwijnand/drop-old-versions
lrytz Apr 16, 2021
27b22af
Merge pull request #9573 from dwijnand/string-switch-less-labels
lrytz Apr 16, 2021
e0c831b
Test status quo for Scala main
som-snytt Apr 16, 2021
0be1fef
Improve text alignment
som-snytt Apr 16, 2021
31acbf0
Tweak message for Scala main
som-snytt Apr 16, 2021
dcc97b5
Integrate splain – implicit resolution chains and type diffs in error…
tek Feb 22, 2019
461f8f1
Do not add self-invoke evidence in parser
som-snytt Apr 16, 2021
be2070e
Clean up splain
dwijnand Apr 1, 2021
5d4755f
Default -Vimplicits to true to see test impact
dwijnand Apr 6, 2021
bc5733b
Revert -Vimplicits back to default false
dwijnand Apr 7, 2021
1b27f09
remove references to Bintray and JCenter
SethTisue Apr 18, 2021
c719da7
Support Scala 3 wildcard and renaming imports under -Xsource:3
smarter Apr 19, 2021
350bbe7
More accurate outer checks in patterns
retronym Feb 8, 2021
9fcddd3
remove faulty assertion in backend
lrytz Apr 20, 2021
79ed5f8
Merge pull request #9504 from dwijnand/2.13/more-accurate-outer-check…
dwijnand Apr 20, 2021
24bd2d5
Support Scala 3 vararg splice syntax under -Xsource:3
smarter Apr 20, 2021
d23bf26
Merge pull request #9577 from som-snytt/issue/12233
lrytz Apr 20, 2021
87b0c70
Merge pull request #9558 from smarter/case-pattern-binding
lrytz Apr 20, 2021
1c77d74
Merge pull request #9582 from smarter/wildcard-import
lrytz Apr 20, 2021
8da523c
Allow soft keywords `open` and `infix` under -Xsource:3
smarter Apr 1, 2021
e2ccae3
Merge pull request #9576 from som-snytt/issue/7448
SethTisue Apr 21, 2021
996a89c
Merge pull request #9518 from jxnu-liguobin/fix-12269
SethTisue Apr 21, 2021
81c02a0
Merge pull request #9580 from smarter/open-infix
lrytz Apr 21, 2021
777f07a
Merge pull request #9584 from smarter/scala3-varargs
lrytz Apr 21, 2021
52cdad9
Merge pull request #7785 from tek/splain-2.13
lrytz Apr 21, 2021
1de75d6
Handle a few JDK deprecations
lrytz Apr 19, 2021
0db7e9b
allow reflective access to java.lang in tests
lrytz Apr 19, 2021
00513cd
Fix tests for JDK 16
lrytz Apr 22, 2021
6c18216
mima filter for CharSequence.isEmpty mixin forwarder
lrytz Apr 21, 2021
a307af5
Upgrade Dotty to 3.0.0-RC3
anatoliykmetyuk Apr 22, 2021
5edc7af
Build and test mergely on JDK 16 (on Travis)
lrytz Apr 19, 2021
402fbb5
Merge pull request #9586 from dotty-staging/scala3-release-3.0.0-RC3
SethTisue Apr 22, 2021
7ea0347
Rewrite TypeApply's type arguments to use explicit outer references
dwijnand Apr 19, 2021
fee1f61
Fix typo in ExprBuilder.scala
eltociear Apr 22, 2021
a936b41
Merge pull request #9579 from lrytz/travis-jdk16
lrytz Apr 22, 2021
c6a4f8b
Merge pull request #9590 from eltociear/patch-2
SethTisue Apr 22, 2021
db2d313
add travis notifications to our slack
lrytz Apr 23, 2021
857f885
Merge pull request #9583 from lrytz/t12225
dwijnand Apr 23, 2021
659122b
Merge pull request #9592 from lrytz/cron-notification
lrytz Apr 23, 2021
4ed5e37
Merge pull request #9578 from SethTisue/bye-bye-bintray
lrytz Apr 23, 2021
36eda20
Partest tests can require a java version range
lrytz Apr 22, 2021
3c559d7
test case for issue 9530
lrytz Apr 22, 2021
3baff01
make some pre-jdk-8 tests more direct
lrytz Apr 22, 2021
d112b8c
Merge pull request #9587 from lrytz/partestMinJavaVersion
lrytz Apr 23, 2021
5603e83
Partest: use a `// java: -flags` comment instead of .javaopts file
lrytz Apr 23, 2021
a8225a0
SI-12290: support JDK15 text blocks in Java parser
harpocrates Mar 23, 2021
ff9cea1
Merge pull request #9548 from harpocrates/alec/t12290
lrytz Apr 23, 2021
fb73073
Merge pull request #9593 from lrytz/javaopts
lrytz Apr 23, 2021
52745d0
[forward port from 2.12.x] GitHub Actions: build and test on Windows
griggt Feb 11, 2021
d974e99
Merge pull request #9591 from SethTisue/gha-windows-2.13
SethTisue Apr 23, 2021
98da259
Support writing `&` instead of `with` in types under `-Xsource:3`
smarter Apr 23, 2021
78440d7
sbt 1.5.1 (was 1.5.0)
SethTisue Apr 26, 2021
72875db
Merge pull request #9598 from SethTisue/sbt-1.5.1
SethTisue Apr 26, 2021
9de0851
Cleanup benchmark files
dwijnand Apr 23, 2021
310ae6f
travis notifications on slack only for scala/scala
lrytz Apr 26, 2021
03a0633
Merge pull request #9597 from dwijnand/cleanup/benchmarks-files
SethTisue Apr 26, 2021
8340614
Merge pull request #9600 from lrytz/travis-slack-noforks
dwijnand Apr 26, 2021
ba2f3bb
Merge pull request #9594 from smarter/and-syntax
lrytz Apr 27, 2021
807beb6
Benchmark and simplify AlmostFinalValue
dwijnand Apr 23, 2021
518e6e0
Rework Statistics to be faster & avoid stale state
dwijnand Apr 26, 2021
812453c
Merge pull request #9571 from dwijnand/rework-AlmostFinalValue
retronym Apr 28, 2021
089bad7
Merge pull request #9596 from dwijnand/review-and-look-to-speed-up-st…
retronym Apr 28, 2021
97ca3aa
Put all debug/developer behind an AlmostFinalValue false
dwijnand Apr 15, 2021
7e0e50e
Merge pull request #9572 from dwijnand/put-debug/developer-behind-Alm…
retronym Apr 28, 2021
a774c4f
Fully JIT inlinable settings/statistics enabled checks
retronym Apr 29, 2021
f5e2a98
Support symbol literals under -Xsource:3
smarter Apr 30, 2021
ea314f2
Avoid attempt to load plugin from empty path
som-snytt Apr 30, 2021
4330841
Rectify test code
som-snytt May 1, 2021
fa228c8
Merge pull request #9601 from retronym/topic/statistics-inlinable
lrytz May 3, 2021
6d8c8d0
Merge pull request #9603 from som-snytt/issue/sd-737
lrytz May 3, 2021
1592398
ScalaCheck 1.15.4 (was 1.15.3)
SethTisue May 3, 2021
692431d
Parse `+_` and `-_` in types as identifiers to support Scala 3.2 plac…
neko-kai May 3, 2021
42fbda0
Merge pull request #9604 from SethTisue/scalacheck-1.15.4
dwijnand May 4, 2021
d4dd00e
Merge pull request #9581 from dwijnand/t12312
dwijnand May 4, 2021
4e2eb74
Revise workaround from ScalaCheck 1.15.1 update
ashawley May 4, 2021
1209382
Shorten links in apidocs for Java
ashawley May 4, 2021
0b0ecba
Fix broken doc link in jdk.Accumulator
ashawley May 4, 2021
07a5f4d
Fix warning about doc variable in LazyList
ashawley May 4, 2021
e8194e7
bump copyright year to 2021
SethTisue Jan 5, 2021
e118058
Merge pull request #9612 from SethTisue/copyright-2021
lrytz May 5, 2021
bfe46ae
Merge pull request #9611 from ashawley/doc-warning-lazylist-example
lrytz May 5, 2021
6160be3
Merge pull request #9609 from ashawley/scaladoc-java-refs
lrytz May 5, 2021
f96aade
Merge pull request #9610 from ashawley/fix-accumulator-doc-xref
lrytz May 5, 2021
e3e6b49
Merge pull request #9608 from ashawley/revert-scalacheck-workaround
lrytz May 5, 2021
3b6d6c7
Fix outer test making vs annotated types
dwijnand Apr 26, 2021
1185f84
Differentiate Scala 2 and Scala 3 wildcard identifier names
neko-kai May 6, 2021
e4a11fa
No access boundary check between two protected Java members
lrytz May 6, 2021
be57ce9
Perform override checks again for two Java-defined methods
lrytz May 6, 2021
5ad3b05
Generate attributed trees when creating bridge methods
lrytz May 6, 2021
2885f36
Merge pull request #9599 from dwijnand/non-RefinedType-RefinementClass
lrytz May 6, 2021
b7caa90
Update template.js
superseeker13 May 6, 2021
45b129e
Merge pull request #9615 from lrytz/t12380
lrytz May 6, 2021
946b129
Fix a bug with +_/-_ not parsing in type constructor position
neko-kai May 6, 2021
991d2ad
Merge pull request #9602 from smarter/no-error-symbol-syntax
dwijnand May 7, 2021
80aa2e8
Fix typo in Logic.scala
eltociear May 8, 2021
196c656
Gate `-_`/`+_` parsing behind `-Xsource:3` to guarantee minimal disru…
neko-kai May 8, 2021
27afdd3
Fixes HashMap error message
eed3si9n May 9, 2021
0a1e7d9
address reviews
eed3si9n May 9, 2021
feceb30
Merge pull request #9618 from eltociear/patch-3
dwijnand May 10, 2021
a5cd735
Update to Dotty 3.0.0-RC3, fix tests.
bishabosha Mar 26, 2021
652b4e3
test intersection erasure with value class parameters,
bishabosha Apr 26, 2021
a6e6e04
add SCALA3X flag and optimise erasure
bishabosha Apr 29, 2021
f42fd66
select non-privatelocal values.
bishabosha Apr 29, 2021
daa16e6
Refactoring
bishabosha May 4, 2021
45c1b5a
add regression test for object access
bishabosha May 5, 2021
3a45c22
handle invisible flag
bishabosha May 5, 2021
466c510
add escape hatch for scala 3.0.0
bishabosha May 7, 2021
82af885
Merge pull request #9621 from eed3si9n/wip/hashmap
dwijnand May 10, 2021
1ebfa13
Merge pull request #9616 from superseeker13/patch-1
dwijnand May 10, 2021
40e2ab5
Handle Singleton types in patmat's outer prefix align testing
dwijnand May 10, 2021
5a04e29
Merge pull request #9614 from 7mind/differentiate-scala2-3-wildcard-n…
lrytz May 10, 2021
0a00169
Merge branch '2.13.x' into parse-variant-underscore-placeholders
neko-kai May 10, 2021
e8e7cca
Mutable Symbol substitution to `cloneSymbols` and `copyRefinedType
diesalbla Feb 16, 2020
48f75af
remove INTERNAL flag
bishabosha May 10, 2021
da96798
Fix an infinite loop bug in ExplicitOuter
dwijnand May 10, 2021
8e4f76b
Merge pull request #9605 from 7mind/parse-variant-underscore-placehol…
lrytz May 10, 2021
76d189d
Merge pull request #9365 from martijnhoekstra/diffopt
SethTisue May 10, 2021
7c24339
Merge pull request #9542 from lrytz/t9334
dwijnand May 10, 2021
db9cad0
Merge pull request #9623 from dwijnand/cb1400
dwijnand May 10, 2021
b796296
partially revert scala/scala#9365 to preserve bincompat
SethTisue May 11, 2021
477cb68
MiMa 0.9.0 (was 0.8.1)
SethTisue May 10, 2021
1990281
Merge pull request #9624 from SethTisue/mima-bump
dwijnand May 11, 2021
82086db
Deprecate calling a type `?` without backticks
smarter May 10, 2021
a1cddd6
enable fatal warnings in manual subproject
SethTisue May 11, 2021
50ee7af
Merge pull request #9627 from SethTisue/manual-warnings
lrytz May 11, 2021
628d022
Merge pull request #9626 from smarter/deprecate-qmark
lrytz May 11, 2021
eff067a
Merge pull request #9039 from diesalbla/refactor_substmaps
dwijnand May 11, 2021
f91a09d
Simplify class hierarchy for SubstSymMap
som-snytt Dec 4, 2020
f46a4a3
Reusable is not thread-safe
som-snytt Dec 5, 2020
bb2585d
Tweak ReusableInstance initialSize
som-snytt Dec 5, 2020
a378d83
Adding BigInt benchmarks
denisrosset May 11, 2021
8ebb66a
Merge pull request #9363 from som-snytt/rejigger/9039
dwijnand May 11, 2021
0ae2ff9
Add BigInt constructor named argument syntax test
denisrosset May 11, 2021
d931366
Force every BigInt construction through the companion BigInt.apply me…
denisrosset May 11, 2021
adaef2b
Introducing BigInt new storage scheme
denisrosset May 11, 2021
2e67ec1
Optimized BigInt operations
denisrosset May 11, 2021
7cc2a07
Added comment about nonnegativity on BigInt.longGcd
denisrosset May 11, 2021
1411671
Test status quo for leading infix
som-snytt Apr 9, 2021
1924d2d
Postfix error doesn't suppress warnings
som-snytt Apr 9, 2021
838092d
Backport Allow infix operators on their own line
som-snytt Apr 10, 2021
fc47f58
Backport Refine condition of leading infix operator
som-snytt Apr 11, 2021
2efc7ed
Backport Generalize isOperator and test for assignment op
som-snytt Apr 15, 2021
d5cb78c
Infix warn on migration
som-snytt May 11, 2021
f774ae5
single sym for specialErasure
bishabosha May 12, 2021
a234798
Clarify the semantics of `Map.equals` and `Set.equals` in Scaladoc
lrytz Apr 8, 2021
24476bc
Catch ClassCastException in Map.equals / Set.equals
lrytz May 12, 2021
945c2a5
Override checks between Java-defined members only for mixins
lrytz May 12, 2021
194b1c0
optimise immutable.Queue.last in case `in` is nonEmpty
RafalSumislawski May 12, 2021
7c1d9df
add copyright notice for BigInt#longGcd
SethTisue May 12, 2021
f8aabc2
Merge pull request #9629 from lrytz/tt12394
SethTisue May 12, 2021
5c16b3c
Merge pull request #9625 from RafalSumislawski/optimise-queue-last
SethTisue May 12, 2021
083fb8b
Merge pull request #9565 from lrytz/t12228
SethTisue May 12, 2021
b2fc73c
Handle Singleton types in patmat's outer prefix align testing
retronym May 13, 2021
c2021de
Merge pull request #9622 from dwijnand/t12392
dwijnand May 13, 2021
a554fc0
Upgrade Dotty to 3.0.0
anatoliykmetyuk May 13, 2021
74c629e
Merge pull request #9628 from denisrosset/bigint-optimization-2
SethTisue May 13, 2021
a23259f
Merge pull request #9567 from som-snytt/issue/12071
dwijnand May 13, 2021
855b47f
Add a benchmark on pattern matching vs alternatives
dwijnand May 13, 2021
97bdd49
refactor Erasure
bishabosha May 14, 2021
851903a
support Scala 3.0.0 final
bishabosha May 14, 2021
4fa6da5
Merge pull request #9617 from scalacenter/tasty/support-3.0.0-RC3
lrytz May 14, 2021
cefcd53
Merge pull request #9631 from dotty-staging/scala3-release-3.0.0
lrytz May 14, 2021
35a9354
Restore SubstMap's public API (unsealed, constructors, etc)
dwijnand May 14, 2021
9468b9a
Merge pull request #9630 from SethTisue/unseal-substmap
SethTisue May 14, 2021
7625297
Restarr on 2.13.6
lrytz May 17, 2021
8c3de9d
Merge pull request #9636 from lrytz/2.13.6-starr
dwijnand May 17, 2021
78bedf2
sbt 1.5.2 (was 1.5.1)
SethTisue May 17, 2021
5bee27a
Fixes https://github.com/scala/bug/issues/12397 by turning the long c…
lihaoyi May 16, 2021
261570e
Merge pull request #9638 from SethTisue/sbt-1.5.2
dwijnand May 18, 2021
d4377c0
Merge pull request #9632 from dwijnand/instance-class-switching
dwijnand May 18, 2021
8490d37
Merge pull request #9635 from lihaoyi/fix-12397
dwijnand May 18, 2021
6ab61aa
Handle Scala 3 star in import braces
som-snytt May 20, 2021
96438f2
Adapted multiarg infix is just a tuple
som-snytt May 21, 2021
3b1b2d1
Merge pull request #9639 from som-snytt/issue/tweak-star
lrytz May 21, 2021
744651d
Merge pull request #9640 from som-snytt/tweak/infix-tuple
lrytz May 25, 2021
f18fd49
No protected accessor when accessing through self type
lrytz Mar 27, 2020
20ac944
Merge pull request #8835 from lrytz/t11924
lrytz May 27, 2021
94ea45f
Check that varargs is applied only to methods
som-snytt Dec 2, 2019
aa31e3e
Merge pull request #8571 from som-snytt/issue/8383
lrytz May 31, 2021
dbab5a1
Skip null check on unapply calls for value classes
lrytz May 31, 2021
67d4bba
Assert redundant boolean
lrytz May 31, 2021
e100788
Remove dead code path
lrytz May 31, 2021
c36f739
Regression test for varargs and seq override
som-snytt May 31, 2021
927c013
sbt 1.5.3 (was 1.5.2)
SethTisue Jun 1, 2021
94e5fe3
Merge pull request #9647 from som-snytt/test/7052
lrytz Jun 1, 2021
39fc5c9
Merge pull request #9649 from SethTisue/sbt-1.5.3
dwijnand Jun 1, 2021
1073354
Merge pull request #9646 from lrytz/b12405
dwijnand Jun 1, 2021
99af0f1
Fix specialization of methods with dependent return types
joroKr21 Jun 1, 2021
f74ccec
Merge pull request #9652 from joroKr21/dependent-specialization
lrytz Jun 2, 2021
836c5a9
ArrayOps must convert to result array type
som-snytt May 25, 2021
074cae1
Merge pull request #9641 from som-snytt/issue/12403
lrytz Jun 2, 2021
85e7a41
Improvements to code assist in the REPL
retronym Jan 25, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ text eol=lf
*.txt eol=lf
*.xml eol=lf

# Some sbt launcher scripts can't handle CR in .jvmopts
.jvmopts eol=lf

# Windows-specific files get windows endings
*.bat eol=crlf
*.cmd eol=crlf
Expand Down
47 changes: 47 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Scala Merge CI

on:
push:
branches: ['2.*.x']

defaults:
run:
shell: bash

jobs:
build_and_test:
name: Windows
runs-on: windows-latest
strategy:
fail-fast: false
steps:
- run: git config --global core.autocrlf false
- name: Checkout
uses: actions/checkout@v2

# Note that we don't use olafurpg/setup-scala; it wouldn't buy us anything
# over setup-java. (We don't want csbt or xsbt; we prefer the standard
# sbt launch script, which comes preinstalled on Windows (and Ubuntu).)
- name: Setup Java
uses: actions/setup-java@v2
with:
distribution: adopt
java-version: 8

- name: Cache
uses: actions/cache@v2
with:
path: |
~/.sbt
~/.ivy2/cache
~/.cache/coursier
key: ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}

- name: Build
run: |
sbt setupPublishCore generateBuildCharacterPropertiesFile headerCheck publishLocal

- name: Test
run: |
STARR=`cat buildcharacter.properties | grep ^maven.version.number | cut -d= -f2` && echo $STARR
sbt -Dstarr.version=$STARR setupValidateTest test:compile info testAll
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,10 @@
local.sbt
jitwatch.out

# Used by the restarr/restarrFull commands as target directories
/build-restarr/
/target-restarr/

# metals
.metals
.bloop
Expand Down
1 change: 1 addition & 0 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ Damien Obristi <damien.obrist@gmail.com>
Daniel C. Sobral <dcsobral@gmail.com>
Daniel C. Sobral <dcsobral@gmail.com> <dcs@dcs-132-CK-NF79.(none)>
Daniel Lorch <lorch@epfl.ch>
Darcy Shen <da@tubi.tv>
Diego E. Alonso Blas <diesalbla@gmail.com>
Diego E. Alonso Blas <diego.e.a@47deg.com>
Erik Stenman <stenman@epfl.ch>
Expand Down
261 changes: 148 additions & 113 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,126 +1,155 @@
version: ~> 1.0 # needed for imports
import: scala/scala-dev:travis/default.yml

dist: bionic # for generating spec PDF; see #7432

dist: xenial # GPG stuff breaks on bionic; scala/scala-dev#764
language: scala

stages:
- build
- test

templates: # this has no effect on travis, it's just a place to put our templates
pr-jdk8: &pr-jdk8
if: type = pull_request OR repo != scala/scala

cron-jdk16: &cron-jdk16
if: type = cron AND repo = scala/scala
env: ADOPTOPENJDK=16

build-for-testing: &build-for-testing
# pull request validation (w/ bootstrap)
# differs from the build that publishes releases / integration builds:
# - not using bash script setup, but just the underlying sbt calls
# - publishing locally rather than to Artifactory
# the bootstrap above is older historically; this way of doing it is newer
# and also simpler. we should aim to reduce/eliminate the duplication.
stage: build
name: build, publishLocal, build again
script:
- set -e
- sbt setupPublishCore generateBuildCharacterPropertiesFile headerCheck publishLocal
- STARR=$(sed -n 's/^maven\.version\.number=//p' buildcharacter.properties) && echo $STARR
- sbt -Dstarr.version=$STARR setupValidateTest compile
workspaces:
create:
name: bootstrapped
paths:
# so new STARR will be available
- "buildcharacter.properties"
- "$HOME/.ivy2/local/org.scala-lang"
# so build products built using new STARR are kept
- "target"
- "project/target"
- "project/project/target"
- "project/project/project/target"
- "dist"
- "build"

test1: &test1
stage: test
name: tests (junit, scalacheck, et al)
workspaces:
use: bootstrapped
script:
- set -e
- STARR=$(sed -n 's/^maven\.version\.number=//p' buildcharacter.properties) && echo $STARR
- sbt -Dstarr.version=$STARR setupValidateTest Test/compile testAll1

test2: &test2
stage: test
name: tests (partest)
workspaces:
use: bootstrapped
script:
- set -e
- STARR=$(sed -n 's/^maven\.version\.number=//p' buildcharacter.properties) && echo $STARR
- sbt -Dstarr.version=$STARR setupValidateTest testAll2

jobs:
include:
- stage: build
if: type != pull_request AND repo = scala/scala
name: bootstrap and publish
script:
# see comment in `bootstrap_fun` for details on the procedure
# env available in each stage
# - by travis config (see below): secret env vars
# - by `common` script: WORKSPACE, IVY2_DIR, SBT_CMD, integrationRepoUrl
# - by `bootstrap_fun`: publishPrivateTask, ...
- set -e
- (cd admin && ./init.sh)
- source scripts/common
- source scripts/bootstrap_fun
- determineScalaVersion
- removeExistingBuilds $integrationRepoUrl
- if [ ! -z "$STARR_REF" ]; then buildStarr; fi
- buildLocker
- buildQuick
- triggerScalaDist

# pull request validation (w/ bootstrap)
# differs from the bootstrap above by:
# - not using bash script setup, but just the underlying sbt calls
# - publishing locally rather than to Artifactory
# the bootstrap above is older historically; this way of doing it is newer
# and also simpler. we should aim to reduce/eliminate the duplication.
- stage: build
name: build, publishLocal, build again
if: type = pull_request OR repo != scala/scala
script:
- set -e
- sbt setupPublishCore generateBuildCharacterPropertiesFile headerCheck publishLocal
- STARR=$(sed -n 's/^maven\.version\.number=//p' buildcharacter.properties) && echo $STARR
- sbt -Dstarr.version=$STARR setupValidateTest compile
workspaces:
create:
name: bootstrapped
paths:
# so new STARR will be available
- "buildcharacter.properties"
- "$HOME/.ivy2/local/org.scala-lang"
# so build products built using new STARR are kept
- "target"
- "project/target"
- "project/project/target"
- "project/project/project/target"
- "dist"
- "build"

- stage: test
name: tests (junit, scalacheck, et al)
if: type = pull_request OR repo != scala/scala
workspaces:
use: bootstrapped
script:
- set -e
- STARR=$(sed -n 's/^maven\.version\.number=//p' buildcharacter.properties) && echo $STARR
- sbt -Dstarr.version=$STARR setupValidateTest Test/compile testAll1

- name: tests (partest)
if: type = pull_request OR repo != scala/scala
workspaces:
use: bootstrapped
script:
- set -e
- STARR=$(sed -n 's/^maven\.version\.number=//p' buildcharacter.properties) && echo $STARR
- sbt -Dstarr.version=$STARR setupValidateTest testAll2

- name: ensure standard library is buildable by Scala 3
if: type = pull_request OR repo != scala/scala
workspaces:
use: bootstrapped
script:
- set -e
- STARR=$(sed -n 's/^maven\.version\.number=//p' buildcharacter.properties) && echo $STARR
- sbt -Dscala.build.compileWithDotty=true library/compile

- stage: test
name: build benchmarks (bootstrapped)
if: type = pull_request OR repo != scala/scala
workspaces:
use: bootstrapped
script:
- set -e
- STARR=$(sed -n 's/^maven\.version\.number=//p' buildcharacter.properties) && echo $STARR
- sbt bench/Jmh/compile

- stage: build
name: language spec (Jekyll)
language: ruby
install:
- ruby -v
- gem install bundler
- bundler --version
- bundle install
# cribbed from https://github.com/SebastiaanKlippert/go-wkhtmltopdf/blob/master/.travis.yml
- sudo apt-get update
- sudo apt-get install -y build-essential xorg xfonts-75dpi libpng16-16 libssl1.1
- wget --quiet "https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.bionic_amd64.deb"
- sudo dpkg -i "wkhtmltox_0.12.6-1.bionic_amd64.deb"
- rm "wkhtmltox_0.12.6-1.bionic_amd64.deb"
script:
- set -e
- (cd admin && ./init.sh)
- bundle exec jekyll build -s spec/ -d build/spec
- export JEKYLL_ENV=spec-pdf
- bundle exec jekyll build -s spec/ -d build/spec-pdf
- ./scripts/generate-spec-pdf.sh
after_success:
- ./scripts/travis-publish-spec.sh
include:
- stage: build
if: (type = push OR type = api) AND repo = scala/scala # api for manually triggered release builds
name: publish (bootstrapped) to scala-integration or sonatype
script:
# see comment in `bootstrap_fun` for details on the procedure
# env available in each stage
# - by travis config (see below): secret env vars
# - by `common` script: WORKSPACE, IVY2_DIR, SBT_CMD, integrationRepoUrl
# - by `bootstrap_fun`: publishPrivateTask, ...
- set -e
- (cd admin && ./init.sh)
- source scripts/common
- source scripts/bootstrap_fun
- determineScalaVersion
- removeExistingBuilds $integrationRepoUrl
- if [ ! -z "$STARR_REF" ]; then buildStarr; fi
- buildLocker
- buildQuick
- triggerScalaDist

- <<: *build-for-testing
<<: *pr-jdk8

- <<: *test1
<<: *pr-jdk8

- <<: *test2
<<: *pr-jdk8

- <<: *build-for-testing
<<: *cron-jdk16

- <<: *test1
<<: *cron-jdk16

- <<: *test2
<<: *cron-jdk16

- stage: test
name: build library with Scala 3
if: type = pull_request OR repo != scala/scala
workspaces:
use: bootstrapped
script:
- set -e
- STARR=$(sed -n 's/^maven\.version\.number=//p' buildcharacter.properties) && echo $STARR
- sbt -Dscala.build.compileWithDotty=true library/compile

- name: build benchmarks
if: type = pull_request OR repo != scala/scala
workspaces:
use: bootstrapped
script:
- set -e
- STARR=$(sed -n 's/^maven\.version\.number=//p' buildcharacter.properties) && echo $STARR
- sbt bench/Jmh/compile

- stage: build
if: type = pull_request OR type = push
name: language spec
# wkhtmltopdf requires libssl1.1, which we can't install on xenial
dist: bionic
language: ruby
install:
- ruby -v
- gem install bundler
- bundler --version
- bundle install
# cribbed from https://github.com/SebastiaanKlippert/go-wkhtmltopdf/blob/master/.travis.yml
- sudo apt-get update
- sudo apt-get install -y build-essential xorg xfonts-75dpi libpng16-16 libssl1.1
- wget --quiet "https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.bionic_amd64.deb"
- sudo dpkg -i "wkhtmltox_0.12.6-1.bionic_amd64.deb"
- rm "wkhtmltox_0.12.6-1.bionic_amd64.deb"
script:
- set -e
- (cd admin && ./init.sh)
- bundle exec jekyll build -s spec/ -d build/spec
- export JEKYLL_ENV=spec-pdf
- bundle exec jekyll build -s spec/ -d build/spec-pdf
- ./scripts/generate-spec-pdf.sh
after_success:
- ./scripts/travis-publish-spec.sh

env:
global:
Expand All @@ -138,4 +167,10 @@ cache:
- $HOME/.rvm

notifications:
slack:
rooms:
- typesafe:WoewGgHil2FkdGzJyV3phAhj
if: (type = cron OR type = push) AND repo = scala/scala
on_success: never
on_failure: change
webhooks: https://scala-ci.typesafe.com/benchq/webhooks/travis
23 changes: 20 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,25 @@ To run a single negative test from sbt shell:
root> partest --verbose test/files/neg/delayed-init-ref.scala
```

To specify compiler flags such as `-Werror -Xlint`, you can add a comment
at the top of your source file of the form: `// scalac: -Werror -Xlint`.
A test can be either a single `.scala` file or a directory containing multiple `.scala` and `.java` files.
For testing separate compilation, files can be grouped using `_N` suffixes in the filename. For example, a test
with files (`A.scala`, `B_1.scala`, `C_1.java`, `Test_2.scala`) does:
```
scalac A.scala -d out
scalac -cp out B_1.scala C_1.java -d out
javac -cp out C_1.java -d out
scalac -cp out Test_2.scala -d out
scala -cp out Test
```

**Flags**
- To specify compiler flags such as `-Werror -Xlint`, you can add a comment at the top of your source file of the form: `// scalac: -Werror -Xlint`.
- Similarly, a `// javac: <flags>` comment in a Java source file passes flags to the Java compiler.
- A `// filter: <regex>` comment eliminates output lines that match the filter before comparing to the `.check` file.
- A `// java: <flags>` comment makes a `run` test execute in a separate JVM and passes the additional flags to the `java` command.
- A `// javaVersion <N[+| - M]>` comment makes partest skip the test if the java version is outside the requested range (e.g. `8`, `15+`, `9 - 11`)

**Common Usage**

To test that no warnings are emitted while compiling a `pos` test, use `-Werror`.
That will fail a `pos` test if there are warnings. Note that `pos` tests do not have `.check` files.
Expand Down Expand Up @@ -171,7 +188,7 @@ See `--help` for more info:
root> partest --help
```

Partests are compiled by the `quick` compiler (and `run` partests executed with the `quick` library),
Partests are compiled by the bootstrapped `quick` compiler (and `run` partests executed with the `quick` library),
and therefore:

* if you're working on the compiler, you must write a partest, or a `BytecodeTesting` JUnit test which invokes the compiler programmatically; however
Expand Down
Loading