From ed33a41ca138622b6fbc099d0a026f9b374b43d0 Mon Sep 17 00:00:00 2001 From: Adriaan Moors Date: Mon, 15 Jul 2013 21:16:00 -0700 Subject: [PATCH 01/25] Create gh-pages branch via GitHub --- index.html | 163 ++++++++++++++++++++++ javascripts/scale.fix.js | 17 +++ params.json | 1 + stylesheets/pygment_trac.css | 69 ++++++++++ stylesheets/styles.css | 255 +++++++++++++++++++++++++++++++++++ 5 files changed, 505 insertions(+) create mode 100644 index.html create mode 100644 javascripts/scale.fix.js create mode 100644 params.json create mode 100644 stylesheets/pygment_trac.css create mode 100644 stylesheets/styles.css diff --git a/index.html b/index.html new file mode 100644 index 000000000000..e11740f2ab1c --- /dev/null +++ b/index.html @@ -0,0 +1,163 @@ + + + + + + Codestin Search App + + + + + + + +
+
+

Scala

+

Documentation on the development of the Scala compiler and standard library.

+ +

View the Project on GitHub scala/scala

+ + + +
+
+

+More information

+ +

+Building

+ +

Run ant build-opt to build an optimized version of the compiler. +Verify your build using ant test-opt.

+ +

The Scala build system is based on Apache Ant. Most required pre-compiled +libraries are part of the repository (in 'lib/'). The following however is +assumed to be installed on the build machine:

+ +

+Requirements

+ +
    +
  • A Java runtime environment (JRE) or SDK 1.6 or above.
  • +
  • Apache Ant version 1.8.0 or above.
  • +
  • bash (via cygwin for windows)
  • +
  • curl
  • +

+Contributing

+ +

We ask all contributors sign the Scala Contributor License Agreement, +which allows us to ensure that all code submitted to the project is unencumbered by copyrights or patents.

+ +

Please follow the guidelines outlined in our (Pull Request Policy)[https://github.com/scala/scala/wiki/Pull-Request-Policy].

+ +

+Repository structure

+ +
scala/
++--build.xml                 The main Ant build script, see also under src/build.
++--lib/                      Pre-compiled libraries for the build.
++--pull-binary-libs.sh       Pulls binary artifacts from remote repository.
++--src/                      All the source files of Scala.
++--test/                     The Scala test suite.
++--build/                    [Generated] Build products output directory for ant.
++--dist/                     [Generated] The destination folder for Scala distributions.
+
+ +

+Tips and tricks

+ +

Here are some common commands. Most ant targets offer a -opt variant that runs under -optimise.

+ +
    +
  • ./pull-binary-libs.sh downloads all binary artifacts associated with this commit. +This requires internet access to http://typesafe.artifactoryonline.com/typesafe.

  • +
  • ant -p prints out information about the commonly used ant targets. The interested +developer can find the rest in the XML files.

  • +
  • +

    ant or ant build: A quick compilation (to quick) of your changes using the locker compiler.

    + +
      +
    • This will rebuild all quick if locker changed.
    • +
    • This will also rebuild locker if starr changed.
    • +
    +
  • +
  • ln -s build/quick/bin qbin (once):

  • +
  • ant && qbin/scalac -d sandbox sandbox/test.scala && qbin/scala -cp sandbox Test +Incrementally builds quick, and then uses it to compile and run the file +sandbox/test.scala. This is a typical debug cycle.

  • +
  • +

    ant test tests that your code is working and fit to be committed.

    + +
      +
    • Runs the test suite and bootstrapping test on quick.
    • +
    • You can run the suite only (skipping strap) with 'ant test.suite'.
    • +
    +
  • +
  • ant docs generates the HTML documentation for the library from the sources using the +scaladoc tool in quick. Note: on most machines this requires more heap than +is allocate by default. You can adjust the parameters with ANT_OPTS. +Example command line:: +ANT_OPTS = "-Xms512M -Xmx2048M -Xss1M -XX:MaxPermSize=128M" ant docs

  • +
  • ant dist builds a distribution in 'dists/latest'.

  • +
  • ant all.clean Removes all build files and all distributions.

  • +

+Bootstrapping (soon to be legacy)

+ +

In order to guarantee the bootstrapping of the Scala compiler, SABBUS builds +Scala in layers. Each layer is a complete compiled Scala compiler and library. +A superior layer is always compiled by the layer just below it. Here is a short +description of the four layers that SABBUS uses, from bottom to top:

+ +
    +
  • starr: the stable reference Scala release which is shared by all the +developers. It is found in the repository as 'lib/scala-compiler.jar' and +'lib/scala-library.jar'. Any committable source code must be compiled directly +by starr to guarantee the bootstrapping of the compiler.

  • +
  • locker: the local reference which is compiled by starr and is the work +compiler in a typical development cycle. When it has been built once, it is +“frozen” in this state. Updating it to fit the current source code must be +explicitly requested (see below).

  • +
  • quick: the layer which is incrementally built when testing changes in the +compiler or library. This is considered an actual new version when locker is +up-to-date in relation to the source code.

  • +
  • strap: a test layer used to check stability of the build.

  • +

SABBUS compiles, for each layer, the Scala library first and the compiler next. +That means that any changes in the library can immediately be used in the +compiler without an intermediate build. On the other hand, if building the +library requires changes in the compiler, a new locker must be built if +bootstrapping is still possible, or a new starr if it is not.

+ +

Use ant replacelocker to "unfreeze" locker by updating it to match the current source code.

+
+
+

This project is maintained by scala

+

Hosted on GitHub Pages — Theme by orderedlist

+
+
+ + + + \ No newline at end of file diff --git a/javascripts/scale.fix.js b/javascripts/scale.fix.js new file mode 100644 index 000000000000..87a40ca716da --- /dev/null +++ b/javascripts/scale.fix.js @@ -0,0 +1,17 @@ +var metas = document.getElementsByTagName('meta'); +var i; +if (navigator.userAgent.match(/iPhone/i)) { + for (i=0; i Date: Mon, 15 Jul 2013 21:38:34 -0700 Subject: [PATCH 02/25] Create overview of Scala 2.11 --- 2.11.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 2.11.md diff --git a/2.11.md b/2.11.md new file mode 100644 index 000000000000..4a2c187b7df3 --- /dev/null +++ b/2.11.md @@ -0,0 +1,35 @@ +# Overview of Scala 2.11 +# Smaller +We're modularizing the standard library and the compiler to allow more selective use of Scala's features, and to facilitate contributions to more clearly delineated sub-projects. + +The library opens up along the following fault lines: scala-library, scala-xml, scala-parser-combinators, ... (TODO). +The compiler platform will provide the following services: scala-compiler, scala-interactive, scala-scaladoc, and scala-repl. + +We're also slimming down by removing dead or deprecated code, and enabling future weight loss through aggressive deprecation: + - The old implementations of the Pattern Matcher and the Bytecode Emitter have been removed, as they were replaced wholesale in Scala 2.10. The experimental .NET backend had been scrapped, and the search and destroy mission in #1648 snuffed ~5000 chunks of dead code. + - The following packages have been deprecated: + - `scala.actors`: see the [actors migration guide](http://docs.scala-lang.org/overviews/core/actors-migration-guide.html) + - `scala.text` + - TODO + +## XML +The package scala.xml has been moved out of scala-library.jar. +To compile code that contains XML literals, add a dependency on scala-xml or your preferred alternative. + +# Faster +Branch elimination through constant analysis #2214 +Improve performance of reflection SI-6638 + +# Stronger + +## Language + - Case classes with > 22 parameters are now supported SI-7296 + - Infer bounds of existential types SI-1786 + +## REPL + - @som-snytt added and improved several commands (:javap, :paste, :edit,...) + - @folone and @eed3si9n contributed the `:kind` command to help to tell ground types from type constructors (#2340) + - @rjolly made it possible to embed the repl as a JSR-166 Scripting Engine (#2206). + + +(Please contact @adriaanm before changing this page.) From 78f1fe78f8bd3ca7fa81fed99227dbfb2ecc9844 Mon Sep 17 00:00:00 2001 From: Adriaan Moors Date: Mon, 15 Jul 2013 21:46:31 -0700 Subject: [PATCH 03/25] Rename 2.11.md to 2.11/index.markdown --- 2.11.md => 2.11/index.markdown | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename 2.11.md => 2.11/index.markdown (100%) diff --git a/2.11.md b/2.11/index.markdown similarity index 100% rename from 2.11.md rename to 2.11/index.markdown From dcf6e7d0cdb2868893c03c96608160e5cd902935 Mon Sep 17 00:00:00 2001 From: Adriaan Moors Date: Mon, 15 Jul 2013 21:52:38 -0700 Subject: [PATCH 04/25] Enable Jekyll, hopefully. --- _config.yml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 _config.yml diff --git a/_config.yml b/_config.yml new file mode 100644 index 000000000000..008eb1091994 --- /dev/null +++ b/_config.yml @@ -0,0 +1,3 @@ +safe: true +lsi: false +pygments: true From e3e869f67cc8fc45e07294d2bb04104446829f55 Mon Sep 17 00:00:00 2001 From: Adriaan Moors Date: Mon, 15 Jul 2013 21:55:43 -0700 Subject: [PATCH 05/25] Update index.markdown --- 2.11/index.markdown | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/2.11/index.markdown b/2.11/index.markdown index 4a2c187b7df3..23bde094f661 100644 --- a/2.11/index.markdown +++ b/2.11/index.markdown @@ -1,4 +1,7 @@ -# Overview of Scala 2.11 +--- +title: Overview of Scala 2.11 +--- + # Smaller We're modularizing the standard library and the compiler to allow more selective use of Scala's features, and to facilitate contributions to more clearly delineated sub-projects. From 0698a3e00292fb3f5920880fc506b554408a7de0 Mon Sep 17 00:00:00 2001 From: Adriaan Moors Date: Mon, 15 Jul 2013 22:00:39 -0700 Subject: [PATCH 06/25] Create default layout --- _layouts/default.html | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 _layouts/default.html diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100644 index 000000000000..8fe0c6766ef9 --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,36 @@ + + + + Codestin Search App + + + + + + + +
+
+

Scala

+

Documentation on the development of the Scala compiler and standard library.

+ +

View the Project on GitHub scala/scala

+ + + +
+
+{{content}} +
+
+

This project is maintained by scala

+

Hosted on GitHub Pages — Theme by orderedlist

+
+
+ From ff73241777cc0315e71510c50e8b9d78f91c0cbb Mon Sep 17 00:00:00 2001 From: Adriaan Moors Date: Mon, 15 Jul 2013 22:02:47 -0700 Subject: [PATCH 07/25] Select default layout --- 2.11/index.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/2.11/index.markdown b/2.11/index.markdown index 23bde094f661..25f301c01ea7 100644 --- a/2.11/index.markdown +++ b/2.11/index.markdown @@ -1,4 +1,5 @@ --- +layout: default title: Overview of Scala 2.11 --- From b7ffed1828dd3f867b9ad0992f1fc6c9a12a1044 Mon Sep 17 00:00:00 2001 From: Adriaan Moors Date: Mon, 15 Jul 2013 22:08:45 -0700 Subject: [PATCH 08/25] Set baseurl, use redcarpet for Github-flavored markdown --- _config.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/_config.yml b/_config.yml index 008eb1091994..52330ba0e8c3 100644 --- a/_config.yml +++ b/_config.yml @@ -1,3 +1,8 @@ safe: true lsi: false pygments: true +baseurl: /scala +markdown: redcarpet2 +redcarpet: + extensions: ["no_intra_emphasis", "fenced_code_blocks", "autolink", "tables", "with_toc_data"] + From ab09b0236cea6d932ffc1990eaa4fe4007ac003a Mon Sep 17 00:00:00 2001 From: Adriaan Moors Date: Mon, 15 Jul 2013 22:11:40 -0700 Subject: [PATCH 09/25] Use correct urls for assets. --- _layouts/default.html | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/_layouts/default.html b/_layouts/default.html index 8fe0c6766ef9..50ecd124d252 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -1,10 +1,12 @@ + + Codestin Search App - - + +