# Welcome!
This is the official repository for the [Scala Programming Language](http://www.scala-lang.org).
# How to contribute
To contribute to the Scala Standard Library, Scala Compiler and Scala Language Specification, please send us a [pull request](https://help.github.com/articles/using-pull-requests/#fork--pull) from your fork of this repository! We do have to ask you to sign the [Scala CLA](http://www.lightbend.com/contribute/cla/scala) before we can merge any of your work into our code base, to protect its open source nature.
For more information on building and developing the core of Scala, make sure to read
the rest of this README!
In order to get in touch with Scala contributors, join the
[scala/contributors](https://gitter.im/scala/contributors) gitter channel or post on the
[scala-internals mailing list](http://www.scala-lang.org/community/).
# Reporting issues
Please report bugs at the [scala/bug issue tracker](https://github.com/scala/bug/issues). We use the [scala/scala-dev tracker](https://github.com/scala/scala-dev/issues) for coordinating bigger work items.
# Get in touch!
If you need some help with your PR at any time, please feel free to @-mention anyone from the list below, and we will do our best to help you out:
| | username | talk to me about... |
--------------------------------------------------------------------------------------------------|----------------------------------------------------------------|---------------------------------------------------|
<img src="https://avatars.githubusercontent.com/adriaanm" height="50px" title="Adriaan Moors"/> | [`@adriaanm`](https://github.com/adriaanm) | type checker, pattern matcher, infrastructure, language spec |
<img src="https://avatars.githubusercontent.com/SethTisue" height="50px" title="Seth Tisue"/> | [`@SethTisue`](https://github.com/SethTisue) | build, developer docs, community build, Jenkins, library, the welcome-to-Scala experience |
<img src="https://avatars.githubusercontent.com/retronym" height="50px" title="Jason Zaugg"/> | [`@retronym`](https://github.com/retronym) | compiler performance, weird compiler bugs, Java 8 lambdas, REPL |
<img src="https://avatars.githubusercontent.com/Ichoran" height="50px" title="Rex Kerr"/> | [`@Ichoran`](https://github.com/Ichoran) | collections library, performance |
<img src="https://avatars.githubusercontent.com/lrytz" height="50px" title="Lukas Rytz"/> | [`@lrytz`](https://github.com/lrytz) | optimizer, named & default arguments |
<img src="https://avatars.githubusercontent.com/VladUreche" height="50px" title="Vlad Ureche"/> | [`@VladUreche`](https://github.com/VladUreche) | specialization, Scaladoc tool |
<img src="https://avatars.githubusercontent.com/densh" height="50px" title="Denys Shabalin"/> | [`@densh`](https://github.com/densh) | quasiquotes, parser, string interpolators, macros in standard library |
<img src="https://avatars.githubusercontent.com/xeno-by" height="50px" title="Eugene Burmako"/> | [`@xeno-by`](https://github.com/xeno-by) | macros and reflection |
<img src="https://avatars.githubusercontent.com/heathermiller" height="50px" title="Heather Miller"/> | [`@heathermiller`](https://github.com/heathermiller) | documentation |
<img src="https://avatars.githubusercontent.com/dickwall" height="50px" title="Dick Wall"/> | [`@dickwall`](https://github.com/dickwall) | process & community, documentation |
<img src="https://avatars.githubusercontent.com/dragos" height="50px" title="Iulian Dragos"/> | [`@dragos`](https://github.com/dragos) | specialization, back end |
<img src="https://avatars.githubusercontent.com/axel22" height="50px" title="Aleksandr Prokopec"/> | [`@axel22`](https://github.com/axel22) | collections, concurrency, specialization |
<img src="https://avatars.githubusercontent.com/janekdb" height="50px" title="Janek Bogucki"/> | [`@janekdb`](https://github.com/janekdb) | documentation |
P.S.: If you have some spare time to help out around here, we would be delighted to add your name to this list!
# Repository structure
```
scala/
+--build.sbt The main sbt build script
+--build.xml The deprecated Ant build script
+--pull-binary-libs.sh Pulls binary artifacts from remote repository, used by build scripts
+--lib/ Pre-compiled libraries for the build
+--src/ All sources
+---/library Scala Standard Library
+---/reflect Scala Reflection
+---/compiler Scala Compiler
+---/eclipse Eclipse project files
+---/intellij IntelliJ project templates
+--spec/ The Scala language specification
+--scripts/ Scripts for the CI jobs (including building releases)
+--test/ The Scala test suite
+---/files Partest tests
+---/junit JUnit tests
+--build/ [Generated] Build output directory
```
# Get Ready to Contribute
## Requirements
You need the following tools:
- A Java SDK. The baseline version is 6 for 2.11.x, 8 for 2.12.x. It's possible
to use a later SDK for local development, but the CI will verify against the baseline
version.
- sbt, we recommend the [sbt-extras](https://github.com/paulp/sbt-extras) runner
script. It provides sensible default jvm options (stack and heap size).
- curl (for `./pull-binary-libs.sh`, used by the sbt / ant build).
- Apache Ant (version 1.9.x, minimum 1.9.3; Ant 1.10+ doesn't work on Java 6) if you are using the ant build.
Mac OS X and Linux work. Windows may work if you use Cygwin. Community help with keeping
the build working on Windows is appreciated.
## Build Setup
### Basics
Scala is built in layers, where each layer is a complete Scala compiler and library.
Here is a short description of the layers, from bottom to top:
- `starr`: the stable reference Scala release. We use an official release of
Scala (specified by `starr.version` in [versions.properties](versions.properties)),
downloaded from the Central Repository.
- `locker` (deprecated, only in ant): an intermediate layer that existed in the
ant build to perform a bootstrap.
- `quick`: the development layer which is incrementally built when working on
changes in the compiler or library.
- `strap` (deprecated, only in ant) : a test layer used to check stability of
the build.
The sbt build uses `starr` to build `quick`. This is sufficient for most development
scenarios: changes to the library or the compiler can be tested by running the `quick`
Scala (see below for how to do that).
However, a full build of Scala (a *bootstrap*, as performed by our CI) requires two
layers. This guarantees that every Scala version can build itself. If you change the
code generation part of the Scala compiler, your changes will only reflect in the
bytecode of the library and compiler after a bootstrap. See below for how to create
a bootstrap build locally.
### Using the Sbt Build
Core commands:
- `compile` compiles all sub-projects (library, reflect, compiler, scaladoc, etc)
- `scala` / `scalac` run the REPL / compiler directly from sbt (accept options /
arguments)
- `dist/mkBin` generates runner scripts (`scala`, `scalac`, etc) in `build/quick/bin`
- `dist/mkPack` creates a build in the Scala distribution format in `build/pack`
- `test` runs the JUnit test, `testOnly *immutable.ListTest` runs a
没有合适的资源?快使用搜索试试~ 我知道了~
scala源码-2.11.x.zip
共2000个文件
scala:6825个
check:2537个
flags:636个
需积分: 9 59 下载量 139 浏览量
2017-11-03
15:02:11
上传
评论
收藏 9.5MB ZIP 举报
温馨提示
scala源码2.11.x,是学习scala,查看源码的必备东西,拿走不谢,本来是不要分的,可是不能不选,就少选点吧。
资源推荐
资源详情
资源评论
收起资源包目录
scala源码-2.11.x.zip (2000个子文件)
abspath 194B
type_tags.ai 392KB
fact.args 2B
readproperties.awk 1KB
mkLibNatives.bat 2KB
fact.bat 331B
get-scala-commit-date.bat 236B
get-scala-commit-sha.bat 235B
t1015.bat 198B
utf8.bat 197B
t1017.bat 157B
second.bat 96B
bench 1KB
scala-compiler.bnd 618B
scala-reflect.bnd 377B
scala-compiler-interactive.bnd 355B
scala-continuations-plugin.bnd 345B
scala-compiler-doc.bnd 342B
scala-continuations-library.bnd 339B
scala-parser-combinators.bnd 328B
scala-swing.bnd 286B
scala-xml.bnd 283B
scala-library.bnd 266B
scala-actors.bnd 266B
bootstrap 30KB
natives.c 141B
t8679.check 180KB
range-unit.check 154KB
reflection-valueclasses-magic.check 94KB
simple-tests.check 29KB
akka.check 27KB
javasigs.check 25KB
compiler-asSeenFrom.check 22KB
duration-java.check 16KB
inline-ex-handlers.check 14KB
javaReflection.check 13KB
docgenerator.check 12KB
patmat-behavior.check 12KB
variances2.check 11KB
hyperlinks.check 10KB
settings-parse.check 10KB
fasta.check 10KB
revcomp.scala-3.check 10KB
revcomp.scala-2.check 10KB
scope-completion-4.check 9KB
names-defaults-neg.check 9KB
view-iterator-stream.check 9KB
analyzerPlugins.check 8KB
t7747-repl.check 8KB
visibility.check 8KB
t6989.check 7KB
found-req-variance.check 7KB
t3425b.check 7KB
t4291.check 7KB
infix-completion2.check 6KB
properties.check 6KB
t5429.check 6KB
serialization.check 6KB
serialization-new.check 6KB
repl-colon-type.check 6KB
scope-completion-import.check 6KB
interpreter.check 6KB
infix-completion.check 6KB
macro-invalidsig.check 6KB
stringinterpolation_macro-neg.check 5KB
existentials-in-compiler.check 5KB
colltest1.check 5KB
t6344.check 5KB
callcc-interpreter.check 5KB
reflection-magicsymbols-invoke.check 5KB
ide-bug-1000508.check 5KB
t7752.check 5KB
mandelbrot.scala-2.check 5KB
t4425b.check 5KB
checksensible.check 5KB
any-vs-anyref.check 5KB
t6411a.check 5KB
synchronized.check 5KB
Course-2002-07.check 4KB
tcpoly_variance_enforce.check 4KB
abstract-report2.check 4KB
t7817-tree-gen.check 4KB
t6028.check 4KB
array-charSeq.check 4KB
repl-type-verbose.check 4KB
t3871b.check 4KB
tailcalls.check 4KB
unchecked2.check 4KB
timeofday.check 4KB
delambdafy_t6028.check 3KB
ide-bug-1000475.check 3KB
constrained-types.check 3KB
macroPlugins-namerHooks.check 3KB
ping-pong.check 3KB
unchecked3.check 3KB
warn-unused-privates.check 3KB
t5554.check 3KB
collection-conversions.check 3KB
t6675b.check 3KB
t7157.check 3KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
韩利鹏
- 粉丝: 145
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功