├── .gitignore ├── LICENSE ├── README.md ├── base ├── Dockerfile ├── README.md ├── build.rb └── edge │ ├── Dockerfile │ └── README.md ├── elixir ├── Dockerfile └── README.md ├── erlang ├── Dockerfile ├── README.md ├── build.rb └── dev │ ├── Dockerfile │ └── README.md ├── gcc ├── Dockerfile ├── README.md └── dev │ ├── Dockerfile │ └── README.md ├── go ├── Dockerfile ├── README.md ├── build.rb ├── dev │ ├── Dockerfile │ └── README.md └── glide │ ├── Dockerfile │ └── README.md ├── haskell ├── Dockerfile └── README.md ├── java ├── README.md ├── build.rb ├── java-1.11 │ ├── Dockerfile │ ├── README.md │ └── dev │ │ ├── Dockerfile │ │ └── README.md ├── java-1.7 │ ├── Dockerfile │ ├── README.md │ └── dev │ │ ├── Dockerfile │ │ └── README.md └── java-1.8 │ ├── Dockerfile │ ├── README.md │ └── dev │ ├── Dockerfile │ └── README.md ├── kotlin ├── Dockerfile ├── build.rb └── dev │ ├── Dockerfile │ └── README.md ├── leiningen ├── Dockerfile ├── README.md ├── build.rb └── dev │ ├── Dockerfile │ └── README.md ├── mono ├── Dockerfile ├── README.md └── dev │ ├── Dockerfile │ └── README.md ├── node ├── Dockerfile ├── README.md ├── build.rb └── dev │ ├── Dockerfile │ ├── README.md │ └── build.rb ├── perl ├── Dockerfile ├── README.md └── dev │ ├── Dockerfile │ └── README.md ├── php ├── Dockerfile ├── README.md ├── build.rb └── dev │ ├── Dockerfile │ └── README.md ├── python ├── README.md ├── build.rb ├── python2 │ ├── Dockerfile │ ├── README.md │ └── dev │ │ ├── Dockerfile │ │ └── README.md └── python3 │ ├── Dockerfile │ ├── README.md │ └── dev │ ├── Dockerfile │ └── README.md ├── ruby ├── Dockerfile ├── README.md ├── build.rb └── dev │ ├── Dockerfile │ └── README.md ├── scala └── 2.11 │ ├── Dockerfile │ ├── README.md │ └── scala-2.11.7 │ ├── bin │ ├── fsc │ ├── fsc.bat │ ├── scala │ ├── scala.bat │ ├── scalac │ ├── scalac.bat │ ├── scaladoc │ ├── scaladoc.bat │ ├── scalap │ └── scalap.bat │ ├── doc │ ├── LICENSE.md │ ├── License.rtf │ ├── README │ ├── licenses │ │ ├── apache_jansi.txt │ │ ├── bsd_asm.txt │ │ ├── bsd_jline.txt │ │ ├── mit_jquery-layout.txt │ │ ├── mit_jquery-ui.txt │ │ ├── mit_jquery.txt │ │ ├── mit_sizzle.txt │ │ └── mit_tools.tooltip.txt │ └── tools │ │ ├── css │ │ └── style.css │ │ ├── fsc.html │ │ ├── images │ │ ├── external.gif │ │ └── scala_logo.png │ │ ├── index.html │ │ ├── scala.html │ │ ├── scalac.html │ │ ├── scaladoc.html │ │ └── scalap.html │ ├── lib │ ├── akka-actor_2.11-2.3.10.jar │ ├── config-1.2.1.jar │ ├── jline-2.12.1.jar │ ├── scala-actors-2.11.0.jar │ ├── scala-actors-migration_2.11-1.1.0.jar │ ├── scala-compiler.jar │ ├── scala-continuations-library_2.11-1.0.2.jar │ ├── scala-continuations-plugin_2.11.7-1.0.2.jar │ ├── scala-library.jar │ ├── scala-parser-combinators_2.11-1.0.4.jar │ ├── scala-reflect.jar │ ├── scala-swing_2.11-1.0.2.jar │ ├── scala-xml_2.11-1.0.4.jar │ └── scalap-2.11.7.jar │ └── man │ └── man1 │ ├── fsc.1 │ ├── scala.1 │ ├── scalac.1 │ ├── scaladoc.1 │ └── scalap.1 └── utils └── builder.rb /.gitignore: -------------------------------------------------------------------------------- 1 | *.gem 2 | *.rbc 3 | /.config 4 | /coverage/ 5 | /InstalledFiles 6 | /pkg/ 7 | /spec/reports/ 8 | /test/tmp/ 9 | /test/version_tmp/ 10 | /tmp/ 11 | 12 | ## Specific to RubyMotion: 13 | .dat* 14 | .repl_history 15 | build/ 16 | 17 | ## Documentation cache and generated files: 18 | /.yardoc/ 19 | /_yardoc/ 20 | /doc/ 21 | /rdoc/ 22 | 23 | ## Environment normalisation: 24 | /.bundle/ 25 | /vendor/bundle 26 | /lib/bundler/man/ 27 | 28 | # for a library or gem, you might want to ignore these files since the code is 29 | # intended to run in multiple environments; otherwise, check them in: 30 | # Gemfile.lock 31 | # .ruby-version 32 | # .ruby-gemset 33 | 34 | # unless supporting rvm < 1.11.0 or doing something fancy, ignore this: 35 | .rvmrc 36 | 37 | files.tar 38 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Travis Reeder 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Iron.io Docker Images - Microcontainers 2 | 3 | The purpose of these images is to provide the smallest possible images for 4 | every major programming language. Read more about it in this [Microcontainers blog post](https://blog.iron.io/microcontainers-tiny-portable-containers/). 5 | 6 | Use the `iron/LANGUAGE:dev` images for building/vendoring. 7 | 8 | Use the `iron/LANGUAGE` images for running (much smaller than the dev ones). 9 | 10 | Examples for how to use all of these images for each language can be found here: https://github.com/iron-io/dockerworker 11 | -------------------------------------------------------------------------------- /base/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.15 2 | 3 | RUN apk update && apk upgrade \ 4 | && apk add ca-certificates \ 5 | && rm -rf /var/cache/apk/* 6 | -------------------------------------------------------------------------------- /base/README.md: -------------------------------------------------------------------------------- 1 | 2 | This image is a base image for Iron.io's set of tiny images. Currently, it's just the alpine OS image. 3 | 4 | ## Building this image 5 | 6 | First, be sure to get the latest alpine: 7 | 8 | ```sh 9 | docker pull alpine 10 | docker pull alpine:edge 11 | ``` 12 | 13 | Then build it: 14 | 15 | ```sh 16 | docker build -t iron/base:latest --no-cache . 17 | ``` 18 | 19 | Tag it with Alpine version, run `docker run --rm iron/base cat /etc/os-release` to check version. 20 | 21 | ```sh 22 | docker tag iron/base:latest iron/base:X.Y.Z 23 | ``` 24 | 25 | Push: 26 | 27 | ```sh 28 | docker push iron/base 29 | ``` 30 | -------------------------------------------------------------------------------- /base/build.rb: -------------------------------------------------------------------------------- 1 | require 'open3' 2 | require_relative '../utils/builder' 3 | 4 | stream_exec('docker pull alpine') 5 | stream_exec('docker pull alpine:edge') 6 | 7 | name = "iron/base" 8 | 9 | tag = "latest" 10 | build("#{name}:#{tag}") 11 | v, status = Open3.capture2e("docker run --rm #{name}:#{tag} cat /etc/os-release") 12 | v = v.strip 13 | puts v 14 | # returns: NAME=\"Alpine Linux\"\nID=alpine\nVERSION_ID=3.3.1\nPRETTY_NAME=\"Alpine Linux v3.3\"\nHOME_URL=\"http://alpinelinux.org\"\nBUG_REPORT_URL=\"http://bugs.alpinelinux.org\" 15 | v = v.split( /\r?\n/ ) 16 | p v 17 | v.each do |line| 18 | puts "line: #{line}" 19 | split = line.split('=') 20 | if split[0] == "VERSION_ID" 21 | v = split[1] 22 | break 23 | end 24 | end 25 | p v 26 | new_tags = vtag(name, tag, v, false) 27 | 28 | Dir.chdir 'edge' 29 | tag = "edge" 30 | build("#{name}:#{tag}") 31 | new_tags << tag 32 | 33 | push_all(name, new_tags) 34 | -------------------------------------------------------------------------------- /base/edge/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:edge 2 | 3 | RUN apk update && apk upgrade \ 4 | && apk add ca-certificates \ 5 | && rm -rf /var/cache/apk/* 6 | -------------------------------------------------------------------------------- /base/edge/README.md: -------------------------------------------------------------------------------- 1 | 2 | This image is a base image for Iron.io's set of tiny images. Currently, it's just the alpine OS image. 3 | 4 | ## Building this image 5 | 6 | First, be sure to get the latest alpine: 7 | 8 | ```sh 9 | docker pull alpine:edge 10 | ``` 11 | 12 | Then build it: 13 | 14 | ```sh 15 | docker build -t iron/base:edge . 16 | ``` 17 | 18 | Push: 19 | 20 | ```sh 21 | docker push iron/base 22 | ``` 23 | -------------------------------------------------------------------------------- /elixir/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/base 2 | 3 | RUN echo '@edge http://nl.alpinelinux.org/alpine/edge/main' >> /etc/apk/repositories \ 4 | && echo '@community http://nl.alpinelinux.org/alpine/edge/community' >> /etc/apk/repositories \ 5 | && apk update && apk upgrade \ 6 | # && apk add erlang-crypto@community \ 7 | && apk add elixir@edge \ 8 | && mix local.hex --force \ 9 | && rm -rf /var/cache/apk/* 10 | -------------------------------------------------------------------------------- /elixir/README.md: -------------------------------------------------------------------------------- 1 | 2 | Image on Docker Hub: https://hub.docker.com/r/iron/elixir 3 | 4 | ## Building this image 5 | 6 | ```sh 7 | docker build -t iron/elixir:latest . 8 | ``` 9 | 10 | Tag the version, check it with `docker run --rm iron/elixir elixir -v`: 11 | 12 | ```sh 13 | docker tag iron/elixir:latest iron/elixir:X 14 | docker tag iron/elixir:latest iron/elixir:X.Y 15 | docker tag iron/elixir:latest iron/elixir:X.Y.Z 16 | ``` 17 | 18 | Push: 19 | 20 | ```sh 21 | docker push iron/elixir 22 | ``` 23 | -------------------------------------------------------------------------------- /erlang/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/base 2 | 3 | RUN echo '@edge http://nl.alpinelinux.org/alpine/edge/main' >> /etc/apk/repositories \ 4 | && echo '@community http://nl.alpinelinux.org/alpine/edge/community' >> /etc/apk/repositories \ 5 | && apk update && apk upgrade \ 6 | && apk add erlang@edge \ 7 | erlang-debugger@edge \ 8 | erlang-dev@edge \ 9 | erlang-dialyzer@edge \ 10 | erlang-et@edge \ 11 | erlang-megaco@edge \ 12 | erlang-observer@edge \ 13 | erlang-odbc@edge \ 14 | erlang-reltool@edge \ 15 | erlang-wx@edge \ 16 | && rm -rf /var/cache/apk/* -------------------------------------------------------------------------------- /erlang/README.md: -------------------------------------------------------------------------------- 1 | Image on Docker Hub: https://hub.docker.com/r/iron/erlang 2 | 3 | ## Building 4 | 5 | ```sh 6 | docker build -t iron/erlang:latest . 7 | ``` 8 | 9 | ## Using 10 | 11 | ```sh 12 | docker run -it --rm iron/erlang erl 13 | ``` 14 | -------------------------------------------------------------------------------- /erlang/build.rb: -------------------------------------------------------------------------------- 1 | require 'open3' 2 | require_relative '../utils/builder' 3 | 4 | name = "iron/erlang" 5 | 6 | tag = "latest" 7 | build("#{name}:#{tag}") 8 | v, status = Open3.capture2e("docker run --rm #{name}:#{tag} erl -noshell -eval 'io:fwrite(erlang:system_info(otp_release)), halt().'") 9 | v = v.strip 10 | # returns: X (R17 or later) or X.Y.Z (R16) 11 | puts v 12 | vtag(name, tag, v, false) 13 | 14 | Dir.chdir 'dev' 15 | tag = "dev" 16 | build("#{name}:#{tag}") 17 | vtag(name, tag, v, true) 18 | -------------------------------------------------------------------------------- /erlang/dev/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/erlang 2 | 3 | # Env 4 | ENV REBAR_VERSION 2.6.1 5 | 6 | RUN echo '@edge http://nl.alpinelinux.org/alpine/edge/main' >> /etc/apk/repositories \ 7 | && echo '@community http://nl.alpinelinux.org/alpine/edge/community' >> /etc/apk/repositories \ 8 | && apk update \ 9 | && apk upgrade \ 10 | && apk add git make wget ca-certificates 11 | 12 | # Install rebar 13 | RUN wget -cqO- https://github.com/rebar/rebar/archive/${REBAR_VERSION}.tar.gz | tar -C /tmp -xzf - 14 | RUN cd /tmp \ 15 | && cd rebar-${REBAR_VERSION} \ 16 | && make \ 17 | && cp rebar /usr/bin/rebar \ 18 | && cd / && rm -rf /tmp/rebar-${REBAR_VERSION} 19 | 20 | RUN apk del wget ca-certificates \ 21 | && rm -rf /var/cache/apk/* -------------------------------------------------------------------------------- /erlang/dev/README.md: -------------------------------------------------------------------------------- 1 | Image on Docker Hub: https://hub.docker.com/r/iron/erlang 2 | 3 | ## Build 4 | 5 | ```sh 6 | docker build -t iron/erlang:dev . 7 | ``` 8 | 9 | ## Run 10 | 11 | ```sh 12 | docker run -it --rm iron/erlang:dev erl 13 | ``` 14 | -------------------------------------------------------------------------------- /gcc/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/base 2 | 3 | RUN apk update && apk upgrade \ 4 | && apk add libstdc++ \ 5 | && rm -rf /var/cache/apk/* 6 | -------------------------------------------------------------------------------- /gcc/README.md: -------------------------------------------------------------------------------- 1 | [![](http://badge-imagelayers.iron.io/iron/gcc:latest.svg)](http://imagelayers.iron.io/?images=iron/gcc:latest 'Get your own badge on imagelayers.iron.io') 2 | 3 | Use `iron/gcc:dev` for building your C/C++ programs and `iron/gcc` for running them. 4 | 5 | ## Building this image 6 | 7 | ```sh 8 | docker build -t iron/gcc:latest . 9 | ``` 10 | 11 | NOTE: Since this doesn't need any C specific stuff, use the versions from the `dev` build. 12 | 13 | Tag the version, check it with `docker run --rm iron/gcc:dev gcc -v`: 14 | 15 | ```sh 16 | docker tag -f iron/gcc:latest iron/gcc:5 17 | docker tag -f iron/gcc:latest iron/gcc:5.Y 18 | docker tag -f iron/gcc:latest iron/gcc:5.Y.Z 19 | ``` 20 | 21 | Push: 22 | 23 | ```sh 24 | docker push iron/gcc 25 | ``` 26 | -------------------------------------------------------------------------------- /gcc/dev/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/base 2 | 3 | RUN apk update && apk upgrade \ 4 | && apk add build-base boost \ 5 | && rm -rf /var/cache/apk/* 6 | -------------------------------------------------------------------------------- /gcc/dev/README.md: -------------------------------------------------------------------------------- 1 | [![](http://badge-imagelayers.iron.io/iron/gcc:dev.svg)](http://imagelayers.iron.io/?images=iron/gcc:dev 'Get your own badge on imagelayers.iron.io') 2 | 3 | ## Using 4 | 5 | TODO: 6 | 7 | ## Building this image 8 | 9 | 10 | ```sh 11 | docker build -t iron/gcc:dev . 12 | ``` 13 | 14 | Tag the version, check it with `docker run --rm iron/gcc:dev gcc -v`: 15 | 16 | ```sh 17 | docker tag -f iron/gcc:dev iron/gcc:5-dev 18 | docker tag -f iron/gcc:dev iron/gcc:5.Y-dev 19 | docker tag -f iron/gcc:dev iron/gcc:5.Y.Z-dev 20 | ``` 21 | 22 | Push: 23 | 24 | ```sh 25 | docker push iron/go 26 | ``` 27 | -------------------------------------------------------------------------------- /go/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/base:edge 2 | 3 | # The Go image doesn't need anything else. 4 | # Use iron/go:dev to build. 5 | -------------------------------------------------------------------------------- /go/README.md: -------------------------------------------------------------------------------- 1 | Image on Docker Hub: https://hub.docker.com/r/iron/go 2 | 3 | Use `iron/go:dev` for building your Go programs and `iron/go` for running them. 4 | 5 | ## Usage 6 | 7 | See here: https://github.com/iron-io/dockerworker/tree/master/go for example and usage. 8 | 9 | ## Building this image 10 | 11 | ```sh 12 | ruby build.rb 13 | ``` 14 | 15 | Push: 16 | 17 | ```sh 18 | docker push iron/go 19 | ``` 20 | -------------------------------------------------------------------------------- /go/build.rb: -------------------------------------------------------------------------------- 1 | require 'open3' 2 | require_relative '../utils/builder' 3 | 4 | name = "iron/go" 5 | 6 | # latest doesn't actually contain go, so swap dev and latest in this build 7 | 8 | Dir.chdir 'dev' 9 | tag = "dev" 10 | build("#{name}:#{tag}") 11 | 12 | v, status = Open3.capture2e("docker run --rm #{name}:#{tag} go version") 13 | v = v.strip 14 | p v 15 | # returns: go version go1.6 linux/amd64 16 | v = v.split(' ')[2] 17 | p v 18 | v = v[2..(v.length)] 19 | p v 20 | new_tags = vtag(name, tag, v, true) 21 | 22 | Dir.chdir '../' 23 | p Dir.pwd 24 | tag = "latest" 25 | build("#{name}:#{tag}") 26 | new_tags += vtag(name, tag, v, false) 27 | 28 | push_all(name, new_tags) -------------------------------------------------------------------------------- /go/dev/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM golang:1.16-alpine 2 | 3 | RUN apk add --no-cache wget curl git build-base 4 | -------------------------------------------------------------------------------- /go/dev/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## Usage 3 | 4 | See here: https://github.com/iron-io/dockerworker/tree/master/go for example and usage. 5 | -------------------------------------------------------------------------------- /go/glide/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/go:dev 2 | 3 | RUN apk update && apk upgrade 4 | RUN wget https://github.com/Masterminds/glide/releases/download/v0.13.3/glide-v0.13.3-linux-amd64.tar.gz 5 | RUN tar -C /bin -xvzf glide-v0.13.3-linux-amd64.tar.gz --strip=1 6 | -------------------------------------------------------------------------------- /go/glide/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## Usage 3 | 4 | See here: https://github.com/iron-io/dockerworker/tree/master/go for example and usage. 5 | -------------------------------------------------------------------------------- /haskell/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/base:edge 2 | 3 | RUN echo '@edge http://nl.alpinelinux.org/alpine/edge/main' >> /etc/apk/repositories 4 | 5 | RUN apk update && apk upgrade \ 6 | && apk add ghc@edge curl \ 7 | && curl -sSL https://get.haskellstack.org/ | sh \ 8 | && rm -rf /var/cache/apk/* 9 | -------------------------------------------------------------------------------- /haskell/README.md: -------------------------------------------------------------------------------- 1 | A Haskell microcontainer image. 2 | 3 | GHC is installed so you can run either stack --system-ghc or use stack setup to install GHC. 4 | 5 | ## Building this image 6 | 7 | ```sh 8 | docker build -t iron/haskell:latest . 9 | ``` 10 | 11 | Tag the version, check it with `docker run --rm iron/haskell haskell -version`: 12 | 13 | ```sh 14 | docker tag -f iron/haskell:latest iron/haskell:X 15 | docker tag -f iron/haskell:latest iron/haskell:X.Y 16 | docker tag -f iron/haskell:latest iron/haskell:X.Y.Z 17 | ``` 18 | 19 | Push: 20 | 21 | ```sh 22 | docker push iron/haskell 23 | ``` 24 | 25 | -------------------------------------------------------------------------------- /java/README.md: -------------------------------------------------------------------------------- 1 | Docker Hub: https://hub.docker.com/r/iron/java/ 2 | 3 | The `iron/java:dev` images are for building, they have the JDK installed. 4 | The `iron/java` ones are for running, they just have the JRE installed. 5 | 6 | ## Usage 7 | 8 | See java-1.7 or java-1.8 README's. 9 | 10 | ## Building 11 | 12 | This will build Java 1.7 and Java 1.8 images. 13 | 14 | ```sh 15 | ruby build.rb 16 | ``` 17 | -------------------------------------------------------------------------------- /java/build.rb: -------------------------------------------------------------------------------- 1 | 2 | require 'open3' 3 | require_relative '../utils/builder' 4 | 5 | name = "iron/java" 6 | 7 | # python2 first 8 | Dir.chdir 'java-1.7' 9 | tag = "1.7" 10 | build("#{name}:#{tag}") 11 | v, status = Open3.capture2e("docker run --rm #{name}:#{tag} java -version") 12 | v = v.strip 13 | puts v 14 | # returns: openjdk version \"1.8.0_66-internal\"\nOpenJDK Runtime Environment (build 1.8.0_66-internal-alpine-r2-b17)\nOpenJDK 64-Bit Server VM (build 25.72-b15, mixed mode) 15 | v = v.split( /\r?\n/ ) 16 | p v 17 | v.each do |line| 18 | puts "line: #{line}" 19 | split = line.split(' ') 20 | if split[1] == "version" 21 | v = split[2] 22 | break 23 | end 24 | end 25 | v = v.tr('"', '') 26 | puts v 27 | split = v.split('_') 28 | v = split[0] 29 | puts v 30 | vtag(name, tag, v, false, 1) 31 | 32 | Dir.chdir 'dev' 33 | tag = "1.7-dev" 34 | build("#{name}:#{tag}") 35 | vtag(name, tag, v, true, 1) 36 | 37 | # now 1.8 38 | Dir.chdir '../../java-1.8' 39 | tag = "latest" 40 | build("#{name}:#{tag}") 41 | v, status = Open3.capture2e("docker run --rm #{name}:#{tag} java -version") 42 | v = v.strip 43 | p v 44 | # returns: Python 2.7.11 45 | v = v.split( /\r?\n/ ) 46 | p v 47 | v.each do |line| 48 | puts "line: #{line}" 49 | split = line.split(' ') 50 | if split[1] == "version" 51 | v = split[2] 52 | break 53 | end 54 | end 55 | v = v.tr('"', '') 56 | puts v 57 | split = v.split('_') 58 | v = split[0] 59 | puts v 60 | vtag(name, tag, v, false) 61 | 62 | Dir.chdir 'dev' 63 | tag = "dev" 64 | build("#{name}:#{tag}") 65 | puts v 66 | vtag(name, tag, v, true) 67 | -------------------------------------------------------------------------------- /java/java-1.11/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/base 2 | 3 | RUN echo '@edge http://nl.alpinelinux.org/alpine/edge/main' >> /etc/apk/repositories \ 4 | && echo '@community http://nl.alpinelinux.org/alpine/edge/community' >> /etc/apk/repositories \ 5 | && apk update \ 6 | && apk upgrade \ 7 | && apk add openjdk11@community \ 8 | && rm -rf /var/cache/apk/* 9 | -------------------------------------------------------------------------------- /java/java-1.11/README.md: -------------------------------------------------------------------------------- 1 | # Java 1.11 JRE Image 2 | 3 | This is a small, [Alpine Linux](http://www.alpinelinux.org/) based Docker image 4 | that contains the Java 1.11 JVM. It's useful for executing Java bytecode, but note 5 | that it doesn't contain the JDK, so you can't use it to compile Java code. 6 | Use iron/java-dev to compile code. 7 | 8 | ## Using 9 | 10 | ```sh 11 | docker run -it --rm iron/java:1.11 java -version 12 | ``` 13 | -------------------------------------------------------------------------------- /java/java-1.11/dev/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/base 2 | 3 | RUN echo '@edge http://nl.alpinelinux.org/alpine/edge/main' >> /etc/apk/repositories \ 4 | && echo '@community http://nl.alpinelinux.org/alpine/edge/community' >> /etc/apk/repositories \ 5 | && apk update \ 6 | && apk upgrade \ 7 | && apk add openjdk11@community \ 8 | && rm -rf /var/cache/apk/* 9 | 10 | # puts javac in the PATH 11 | ENV PATH=/usr/lib/jvm/java-1.11-openjdk/bin:$PATH 12 | -------------------------------------------------------------------------------- /java/java-1.11/dev/README.md: -------------------------------------------------------------------------------- 1 | # Java 1.11 JDK Image 2 | 3 | This is a small, [Alpine Linux](http://www.alpinelinux.org/) based Docker image 4 | that contains the Java 1.11 JDK. You can use it to compile and execute your Java code. 5 | 6 | If you're executing Java code in production, however, we recommend you use iron/java:1.11. 7 | 8 | ## Using 9 | 10 | ```sh 11 | docker run -it --rm iron/java:1.11-dev javac -version 12 | ``` 13 | -------------------------------------------------------------------------------- /java/java-1.7/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/base 2 | 3 | # openjdk7-jre-base contains no GUI support. see https://pkgs.alpinelinux.org/package/main/x86_64/openjdk7-jre-base 4 | RUN echo '@edge http://nl.alpinelinux.org/alpine/edge/main' >> /etc/apk/repositories \ 5 | && echo '@community http://nl.alpinelinux.org/alpine/edge/community' >> /etc/apk/repositories \ 6 | && apk update \ 7 | && apk upgrade \ 8 | && apk add openjdk7-jre-base@community \ 9 | && apk add java-cacerts \ 10 | && rm /usr/lib/jvm/java-1.7-openjdk/jre/lib/security/cacerts \ 11 | && ln -s /etc/ssl/certs/java/cacerts /usr/lib/jvm/java-1.7-openjdk/jre/lib/security/cacerts \ 12 | && rm -rf /var/cache/apk/* 13 | -------------------------------------------------------------------------------- /java/java-1.7/README.md: -------------------------------------------------------------------------------- 1 | # Java 1.7 JRE Image 2 | 3 | This is a small, [Alpine Linux](http://www.alpinelinux.org/) based Docker image 4 | that contains the Java 1.7 JVM. It's useful for executing Java bytecode, but note 5 | that it doesn't contain the JDK, so you can't use it to compile Java code. 6 | 7 | ## Using 8 | 9 | ```sh 10 | docker run -it --rm iron/java:1.7 java -version 11 | ``` 12 | -------------------------------------------------------------------------------- /java/java-1.7/dev/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/base 2 | 3 | RUN echo '@edge http://nl.alpinelinux.org/alpine/edge/main' >> /etc/apk/repositories \ 4 | && echo '@community http://nl.alpinelinux.org/alpine/edge/community' >> /etc/apk/repositories \ 5 | && apk update \ 6 | && apk upgrade \ 7 | && apk add openjdk7 \ 8 | && apk add java-cacerts \ 9 | && rm /usr/lib/jvm/java-1.7-openjdk/jre/lib/security/cacerts \ 10 | && ln -s /etc/ssl/certs/java/cacerts /usr/lib/jvm/java-1.7-openjdk/jre/lib/security/cacerts \ 11 | && rm -rf /var/cache/apk/* 12 | 13 | # puts javac in the PATH 14 | ENV PATH=/usr/lib/jvm/java-1.7-openjdk/bin:$PATH 15 | -------------------------------------------------------------------------------- /java/java-1.7/dev/README.md: -------------------------------------------------------------------------------- 1 | # Java 1.7 JDK Image 2 | 3 | This is a small, [Alpine Linux](http://www.alpinelinux.org/) based Docker image 4 | that contains the Java 1.7 JDK. You can use it to compile and execute your Java code. 5 | 6 | If you're executing Java code in production, however, we recommend you use iron/java:1.7. 7 | 8 | ## Using 9 | 10 | ```sh 11 | docker run -it --rm iron/java:1.7-dev javac -version 12 | ``` 13 | -------------------------------------------------------------------------------- /java/java-1.8/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/base 2 | 3 | # openjdk-8-base contains no GUI support. see https://pkgs.alpinelinux.org/package/testing/x86_64/openjdk8-jre-base 4 | RUN echo '@edge http://nl.alpinelinux.org/alpine/edge/main' >> /etc/apk/repositories \ 5 | && echo '@community http://nl.alpinelinux.org/alpine/edge/community' >> /etc/apk/repositories \ 6 | && apk update \ 7 | && apk upgrade \ 8 | && apk add openjdk8-jre-base@community \ 9 | && rm -rf /var/cache/apk/* 10 | -------------------------------------------------------------------------------- /java/java-1.8/README.md: -------------------------------------------------------------------------------- 1 | # Java 1.8 JRE Image 2 | 3 | This is a small, [Alpine Linux](http://www.alpinelinux.org/) based Docker image 4 | that contains the Java 1.8 JVM. It's useful for executing Java bytecode, but note 5 | that it doesn't contain the JDK, so you can't use it to compile Java code. 6 | Use iron/java-dev to compile code. 7 | 8 | ## Using 9 | 10 | ```sh 11 | docker run -it --rm iron/java:1.8 java -version 12 | ``` 13 | -------------------------------------------------------------------------------- /java/java-1.8/dev/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/base 2 | 3 | RUN echo '@edge http://nl.alpinelinux.org/alpine/edge/main' >> /etc/apk/repositories \ 4 | && echo '@community http://nl.alpinelinux.org/alpine/edge/community' >> /etc/apk/repositories \ 5 | && apk update \ 6 | && apk upgrade \ 7 | && apk add openjdk8@community \ 8 | && rm -rf /var/cache/apk/* 9 | 10 | # puts javac in the PATH 11 | ENV PATH=/usr/lib/jvm/java-1.8-openjdk/bin:$PATH 12 | -------------------------------------------------------------------------------- /java/java-1.8/dev/README.md: -------------------------------------------------------------------------------- 1 | # Java 1.8 JDK Image 2 | 3 | This is a small, [Alpine Linux](http://www.alpinelinux.org/) based Docker image 4 | that contains the Java 1.8 JDK. You can use it to compile and execute your Java code. 5 | 6 | If you're executing Java code in production, however, we recommend you use iron/java:1.8. 7 | 8 | ## Using 9 | 10 | ```sh 11 | docker run -it --rm iron/java:1.8-dev javac -version 12 | ``` 13 | -------------------------------------------------------------------------------- /kotlin/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/java:1.8 2 | -------------------------------------------------------------------------------- /kotlin/build.rb: -------------------------------------------------------------------------------- 1 | require 'open3' 2 | require_relative '../utils/builder' 3 | 4 | name = "iron/kotlin" 5 | 6 | # latest doesn't actually contain go, so swap dev and latest in this build 7 | 8 | Dir.chdir 'dev' 9 | tag = "dev" 10 | build("#{name}:#{tag}") 11 | 12 | v, status = Open3.capture2e("docker run --rm #{name}:#{tag} kotlin -version") 13 | v = v.strip 14 | p v 15 | # returns: Kotlin version 1.0.5 (JRE 1.8.0_66-internal-alpine-r2-b17) 16 | v = v.split(' ')[2] 17 | p v 18 | new_tags = vtag(name, tag, v, true) 19 | 20 | Dir.chdir '../' 21 | p Dir.pwd 22 | tag = "latest" 23 | build("#{name}:#{tag}") 24 | new_tags += vtag(name, tag, v, false) 25 | 26 | push_all(name, new_tags) 27 | -------------------------------------------------------------------------------- /kotlin/dev/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/java:1.8 2 | 3 | ENV KOTLIN_COMPILER_URL=https://github.com/JetBrains/kotlin/releases/download/v1.0.5/kotlin-compiler-1.0.5.zip 4 | 5 | RUN apk --no-cache add bash 6 | 7 | RUN mkdir /opt 8 | 9 | RUN wget $KOTLIN_COMPILER_URL -O /tmp/a.zip && \ 10 | unzip /tmp/a.zip -d /opt && \ 11 | rm /tmp/a.zip 12 | 13 | ENV PATH $PATH:/opt/kotlinc/bin -------------------------------------------------------------------------------- /kotlin/dev/README.md: -------------------------------------------------------------------------------- 1 | Image can be used to build Kotlin source code. 2 | 3 | To execute resulting JVM bytecode please use ```iron/java:1.8``` 4 | 5 | ## Usage 6 | 7 | ### Check the kotlin image is working 8 | 9 | ```sh 10 | docker run -it --rm iron/kotlin:dev kotlin -version 11 | ``` 12 | 13 | ### Example kotlin compile (java runtime): 14 | 15 | Create ```hello.kt``` file with the following: 16 | ``` 17 | fun main(args: Array) { 18 | if (args.size == 0) return 19 | print("Hello ${args[0]}") 20 | } 21 | ``` 22 | 23 | Compile kotlin script with java runtime support: 24 | ```sh 25 | docker run -it --rm -v "$PWD":/build -w /build iron/kotlin:dev kotlinc hello.kt -include-runtime -d hello.jar 26 | ``` 27 | 28 | Test the compiled jar: 29 | ```sh 30 | docker run -it --rm -v "$PWD":/app -w /app iron/java:1.8 java -jar hello.jar World 31 | ``` 32 | 33 | ## Building this image 34 | 35 | ```sh 36 | docker build -t iron/kotlin:dev . 37 | ``` 38 | 39 | Tag the version, check it with `docker run --rm iron/kotlin:dev kotlin -version`: 40 | 41 | ```sh 42 | docker tag -f iron/kotlin:dev iron/kotlin:X-dev 43 | docker tag -f iron/kotlin:dev iron/kotlin:X.Y-dev 44 | docker tag -f iron/kotlin:dev iron/kotlin:X.Y.Z-dev 45 | ``` 46 | 47 | Push: 48 | 49 | ```sh 50 | docker push iron/kotlin 51 | ``` 52 | 53 | ## Updating Kotlin version: 54 | 55 | Go to https://github.com/JetBrains/kotlin/releases/ for the latest releases. The Dockerfile can be updated to point at tagged releases. 56 | -------------------------------------------------------------------------------- /leiningen/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/java:1.8 2 | 3 | # To disable warning 4 | ENV LEIN_ROOT 1 5 | ENV LEIN_VERSION 2.6.1 6 | 7 | RUN apk add --update wget ca-certificates bash && \ 8 | wget -q "https://raw.githubusercontent.com/technomancy/leiningen/$LEIN_VERSION/bin/lein" -O /usr/local/bin/lein && \ 9 | chmod 0755 /usr/local/bin/lein && \ 10 | lein && \ 11 | 12 | # Do clean up 13 | apk del wget && \ 14 | rm -rf /tmp/* /var/cache/apk/* 15 | -------------------------------------------------------------------------------- /leiningen/README.md: -------------------------------------------------------------------------------- 1 | # Leiningen Docker image 2 | 3 | This is a small [Alpine Linux](http://www.alpinelinux.org/) based image for running Clojure applications that are built 4 | using [Leiningen](http://leiningen.org/). 5 | 6 | ## Run 7 | 8 | To run a Clojure repl: 9 | 10 | ```sh 11 | docker run -it iron/leiningen lein repl 12 | ``` 13 | 14 | ## Build this image 15 | 16 | ```sh 17 | ruby build.rb 18 | ``` 19 | -------------------------------------------------------------------------------- /leiningen/build.rb: -------------------------------------------------------------------------------- 1 | require 'open3' 2 | require_relative '../utils/builder' 3 | 4 | name = "iron/leiningen" 5 | 6 | tag = "latest" 7 | build("#{name}:#{tag}") 8 | 9 | v, status = Open3.capture2e("docker run --rm #{name}:#{tag} lein version") 10 | v = v.strip 11 | # returns: Leiningen 2.6.1 on Java 1.8.0_66-internal OpenJDK 64-Bit Server VM 12 | v = v.split(' ')[1] 13 | puts v 14 | vtag(name, tag, v, false) 15 | 16 | Dir.chdir 'dev' 17 | tag = "dev" 18 | build("#{name}:#{tag}") 19 | vtag(name, tag, v, true) 20 | -------------------------------------------------------------------------------- /leiningen/dev/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/java:1.11 2 | 3 | # To disable warning 4 | ENV LEIN_ROOT 1 5 | ENV LEIN_VERSION 2.9.8 6 | 7 | RUN apk update && apk upgrade 8 | RUN apk add --update wget ca-certificates bash curl git 9 | 10 | # Required by Figwheel 11 | RUN apk add rlwrap --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ --allow-untrusted 12 | 13 | RUN wget -q "https://raw.githubusercontent.com/technomancy/leiningen/$LEIN_VERSION/bin/lein" -O /usr/local/bin/lein 14 | 15 | RUN chmod 0755 /usr/local/bin/lein && lein 16 | 17 | # Clean up 18 | RUN apk del wget && rm -rf /tmp/* /var/cache/apk/* 19 | -------------------------------------------------------------------------------- /leiningen/dev/README.md: -------------------------------------------------------------------------------- 1 | # Leiningen Docker image 2 | 3 | This is a small [Alpine Linux](http://www.alpinelinux.org/) based image for running Clojure applications 4 | that are built using [Leiningen](http://leiningen.org/). 5 | 6 | ## Run 7 | 8 | To run a Clojure repl: 9 | 10 | ```sh 11 | docker run -it iron/leiningen:dev lein repl 12 | ``` 13 | 14 | ## Build this image 15 | 16 | ```sh 17 | ruby build.rb 18 | ``` 19 | -------------------------------------------------------------------------------- /mono/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/base 2 | 3 | RUN echo '@edge http://nl.alpinelinux.org/alpine/edge/main' >> /etc/apk/repositories \ 4 | && echo '@community http://nl.alpinelinux.org/alpine/edge/community' >> /etc/apk/repositories \ 5 | && echo '@testing http://nl.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories \ 6 | && apk update \ 7 | && apk upgrade \ 8 | && apk add mono@testing \ 9 | && cert-sync /etc/ssl/certs/ca-certificates.crt \ 10 | && rm -rf /var/cache/apk/* 11 | -------------------------------------------------------------------------------- /mono/README.md: -------------------------------------------------------------------------------- 1 | [![](http://badge-imagelayers.iron.io/iron/mono:latest.svg)](http://imagelayers.iron.io/?images=iron/mono:latest 'Get your own badge on imagelayers.iron.io') 2 | 3 | ## Using 4 | 5 | ```sh 6 | docker run -it --rm iron/mono mono --version 7 | ``` 8 | 9 | ## Building this image 10 | 11 | ```sh 12 | docker build -t iron/mono:latest . 13 | ``` 14 | 15 | Tag the version, check it with `docker run --rm iron/mono mono --version`: 16 | 17 | ```sh 18 | docker tag -f iron/mono:latest iron/mono:X 19 | docker tag -f iron/mono:latest iron/mono:X.Y 20 | docker tag -f iron/mono:latest iron/mono:X.Y.Z 21 | ``` 22 | 23 | Push: 24 | 25 | ```sh 26 | docker push iron/mono 27 | ``` 28 | -------------------------------------------------------------------------------- /mono/dev/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/base 2 | 3 | RUN echo '@edge http://nl.alpinelinux.org/alpine/edge/main' >> /etc/apk/repositories \ 4 | && echo '@community http://nl.alpinelinux.org/alpine/edge/community' >> /etc/apk/repositories \ 5 | && echo '@testing http://nl.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories \ 6 | && apk update \ 7 | && apk upgrade \ 8 | && apk add mono-dev@testing \ 9 | && cert-sync /etc/ssl/certs/ca-certificates.crt \ 10 | && rm -rf /var/cache/apk/* 11 | -------------------------------------------------------------------------------- /mono/dev/README.md: -------------------------------------------------------------------------------- 1 | [![](http://badge-imagelayers.iron.io/iron/mono:dev.svg)](http://imagelayers.iron.io/?images=iron/mono:dev 'Get your own badge on imagelayers.iron.io') 2 | 3 | ## Using 4 | 5 | ```sh 6 | docker run -it --rm iron/mono:dev mono --version 7 | ``` 8 | 9 | ## Building this image 10 | 11 | ```sh 12 | docker build -t iron/mono:dev . 13 | ``` 14 | 15 | Tag the version, check it with `docker run --rm iron/mono:dev mono --version`: 16 | 17 | ```sh 18 | docker tag iron/mono:dev iron/mono:4-dev 19 | docker tag iron/mono:dev iron/mono:4.Y-dev 20 | docker tag iron/mono:dev iron/mono:4.Y.Z-dev 21 | ``` 22 | 23 | Push: 24 | 25 | ```sh 26 | docker push iron/mono 27 | ``` 28 | -------------------------------------------------------------------------------- /node/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | -------------------------------------------------------------------------------- /node/README.md: -------------------------------------------------------------------------------- 1 | [![](https://badge.imagelayers.io/iron/node:latest.svg)](https://imagelayers.io/?images=iron/node:latest 'Get your own badge on imagelayers.io') 2 | 3 | Docker Hub: https://hub.docker.com/r/iron/node/ 4 | 5 | ## Using 6 | 7 | ```sh 8 | docker run -it --rm iron/node node -v 9 | ``` 10 | 11 | ## Building this image 12 | 13 | **NOTE: Temporarily using [mhart/alpine-node](https://github.com/mhart/alpine-node) for v5 images until Alpine package updated.** 14 | 15 | ```sh 16 | ruby build.rb 17 | ``` 18 | 19 | Push: 20 | 21 | ```sh 22 | docker push iron/node 23 | ``` 24 | -------------------------------------------------------------------------------- /node/build.rb: -------------------------------------------------------------------------------- 1 | require 'open3' 2 | require_relative '../utils/builder' 3 | 4 | name = "iron/node" 5 | 6 | tag = "latest" 7 | build("#{name}:#{tag}") 8 | v, status = Open3.capture2e("docker run --rm #{name}:#{tag} node -v") 9 | v = v.strip 10 | # returns: vX.Y.Z 11 | puts v 12 | v = v[1..v.length] # chop off v 13 | puts v 14 | new_tags = vtag(name, tag, v, false) 15 | 16 | Dir.chdir 'dev' 17 | tag = "dev" 18 | build("#{name}:#{tag}") 19 | new_tags += vtag(name, tag, v, true) 20 | 21 | push_all(name, new_tags) 22 | -------------------------------------------------------------------------------- /node/dev/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | -------------------------------------------------------------------------------- /node/dev/README.md: -------------------------------------------------------------------------------- 1 | [![](http://badge-imagelayers.iron.io/iron/node:dev.svg)](http://imagelayers.iron.io/?images=iron/node:dev 'Get your own badge on imagelayers.iron.io') 2 | 3 | This image is for building your dependencies. You should use 4 | iron/node to run them (smaller image). 5 | -------------------------------------------------------------------------------- /node/dev/build.rb: -------------------------------------------------------------------------------- 1 | # TODO: copy the build.rb file from ruby and update this. And move into parent dir. 2 | require 'open3' 3 | 4 | base = 'iron/node' 5 | name = "#{base}:dev" 6 | 7 | # TEMP: using mhart version 8 | cmd = "docker build -t #{name} -f Dockerfile.mhart ." 9 | 10 | # stream this one since build can take a bit 11 | Open3.popen2e(cmd) do |stdin, stdout_stderr, wait_thread| 12 | Thread.new do 13 | stdout_stderr.each {|l| puts l } 14 | end 15 | 16 | # stdin.puts 'ls' 17 | # stdin.close 18 | 19 | exit_status = wait_thread.value 20 | puts "exit_status: #{exit_status}" 21 | raise exit_status if exit_status.exitstatus != 0 22 | end 23 | 24 | v = `docker run --rm #{name} node -v`.strip 25 | # returns vX.Y.Z 26 | p v 27 | return 28 | v = v[1..v.length] # chop off v 29 | p v 30 | 3.times do |i| 31 | to = "#{name}:#{v}-dev" 32 | puts "Tagging #{name} with #{to}" 33 | p `docker tag #{name} #{to}` 34 | v = v[0...v.rindex('.')] if i != 2 35 | end 36 | -------------------------------------------------------------------------------- /perl/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/base 2 | 3 | RUN apk update && apk upgrade \ 4 | && apk add perl \ 5 | && rm -rf /var/cache/apk/* 6 | -------------------------------------------------------------------------------- /perl/README.md: -------------------------------------------------------------------------------- 1 | ## Using 2 | 3 | ```sh 4 | docker run -it --rm iron/perl perl -v 5 | ``` 6 | 7 | ## Building this image 8 | 9 | ```sh 10 | docker build -t iron/perl:latest . 11 | ``` 12 | 13 | Tag the version, check it with `docker run --rm iron/perl perl -v`: 14 | 15 | ```sh 16 | docker tag -f iron/perl:latest iron/perl:5 17 | docker tag -f iron/perl:latest iron/perl:5.Y 18 | docker tag -f iron/perl:latest iron/perl:5.Y.Z 19 | ``` 20 | 21 | Push: 22 | 23 | ```sh 24 | docker push iron/perl 25 | ``` 26 | -------------------------------------------------------------------------------- /perl/dev/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/base 2 | 3 | RUN apk update && apk upgrade \ 4 | && apk add perl perl-dev build-base wget curl \ 5 | && curl -L https://cpanmin.us | perl - App::cpanminus \ 6 | && rm -rf /var/cache/apk/* 7 | -------------------------------------------------------------------------------- /perl/dev/README.md: -------------------------------------------------------------------------------- 1 | ## Using 2 | 3 | ```sh 4 | docker run -it --rm iron/perl:dev perl -v 5 | ``` 6 | 7 | ## Building this image 8 | 9 | ```sh 10 | docker build -t iron/perl:dev . 11 | ``` 12 | 13 | Tag the version, check it with `docker run --rm iron/perl:dev perl -v`: 14 | 15 | ```sh 16 | docker tag iron/perl:dev iron/perl:5-dev 17 | docker tag iron/perl:dev iron/perl:5.Y-dev 18 | docker tag iron/perl:dev iron/perl:5.Y.Z-dev 19 | ``` 20 | 21 | Push: 22 | 23 | ```sh 24 | docker push iron/perl 25 | ``` 26 | -------------------------------------------------------------------------------- /php/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/base 2 | 3 | RUN apk add --no-cache php8 php8-curl php8-iconv php8-openssl php8-phar 4 | RUN ln -s /usr/bin/php8 /usr/bin/php 5 | -------------------------------------------------------------------------------- /php/README.md: -------------------------------------------------------------------------------- 1 | Image on Docker Hub: https://hub.docker.com/r/iron/php 2 | 3 | ## Using 4 | 5 | ```sh 6 | docker run -it --rm iron/php php -v 7 | ``` 8 | 9 | ## Building this image 10 | 11 | ```sh 12 | ruby build.rb 13 | ``` 14 | 15 | Push: 16 | 17 | ```sh 18 | docker push iron/php 19 | ``` 20 | -------------------------------------------------------------------------------- /php/build.rb: -------------------------------------------------------------------------------- 1 | require 'open3' 2 | require_relative '../utils/builder' 3 | 4 | name = "iron/php" 5 | 6 | tag = "latest" 7 | build("#{name}:#{tag}") 8 | v, status = Open3.capture2e("docker run --rm #{name}:#{tag} php -v") 9 | v = v.strip 10 | puts v 11 | # returns: PHP 8.0.9 (cli) (built: Jul 30 2021 03:43:07) ( NTS ) \nCopyright (c) The PHP Group\nZend Engine v4.0.9, Copyright (c) Zend Technologies 12 | v = v.split(' ')[1] 13 | puts v 14 | new_tags = vtag(name, tag, v, false) 15 | 16 | Dir.chdir 'dev' 17 | tag = "dev" 18 | build("#{name}:#{tag}") 19 | new_tags += vtag(name, tag, v, true) 20 | 21 | push_all(name, new_tags) 22 | -------------------------------------------------------------------------------- /php/dev/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/php 2 | 3 | # php7-dev has a TON of packages, probably best for people to just add what they need. 4 | # RUN apk update && apk upgrade \ 5 | # && apk add php7-dev@testing \ 6 | # && rm -rf /var/cache/apk/* 7 | 8 | RUN apk add --no-cache build-base curl \ 9 | && curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer 10 | -------------------------------------------------------------------------------- /php/dev/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## Using 3 | 4 | ```sh 5 | docker run -it --rm iron/php:dev composer install 6 | ``` 7 | -------------------------------------------------------------------------------- /python/README.md: -------------------------------------------------------------------------------- 1 | Image on Docker Hub: https://hub.docker.com/r/iron/python 2 | 3 | ## Building Python images 4 | 5 | ```sh 6 | ruby build.rb 7 | ``` 8 | 9 | Then push: 10 | 11 | ```sh 12 | docker push iron/python 13 | ``` 14 | -------------------------------------------------------------------------------- /python/build.rb: -------------------------------------------------------------------------------- 1 | require 'open3' 2 | require_relative '../utils/builder' 3 | name = "iron/python" 4 | Dir.chdir 'python3' 5 | tag = "latest" 6 | build("#{name}:#{tag}") 7 | v, status = Open3.capture2e("docker run --rm #{name}:#{tag} python3 --version") 8 | v = v.strip 9 | p v 10 | # returns: Python 2.7.11 11 | v = v.split(' ')[1] 12 | p v 13 | new_tags = vtag(name, tag, v, false) 14 | Dir.chdir 'dev' 15 | tag = "dev" 16 | build("#{name}:#{tag}") 17 | p v 18 | new_tags += vtag(name, tag, v, true 19 | push_all(name, new_tags) 20 | -------------------------------------------------------------------------------- /python/python2/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/base 2 | 3 | RUN apk add --no-cache python 4 | -------------------------------------------------------------------------------- /python/python2/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## Using 3 | 4 | ```sh 5 | docker run -it --rm iron/python:2 python --version 6 | ``` 7 | -------------------------------------------------------------------------------- /python/python2/dev/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/python:2 2 | 3 | RUN apk add --no-cache build-base curl git linux-headers python python2-dev py-setuptools 4 | 5 | RUN curl -sS https://bootstrap.pypa.io/get-pip.py | python 6 | -------------------------------------------------------------------------------- /python/python2/dev/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## Using 3 | 4 | ```sh 5 | docker run -it --rm iron/python:2-dev python --version 6 | ``` 7 | -------------------------------------------------------------------------------- /python/python3/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/base 2 | 3 | RUN apk add --no-cache python3 4 | -------------------------------------------------------------------------------- /python/python3/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## Using 3 | 4 | ```sh 5 | docker run -it --rm iron/python python3 --version 6 | ``` 7 | -------------------------------------------------------------------------------- /python/python3/dev/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/python:3 2 | 3 | RUN apk add --no-cache build-base curl git linux-headers python3 python3-dev 4 | 5 | RUN curl -sS https://bootstrap.pypa.io/get-pip.py | python3 6 | -------------------------------------------------------------------------------- /python/python3/dev/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## Using 3 | 4 | ```sh 5 | docker run -it --rm iron/python:dev python3 --version 6 | ``` 7 | -------------------------------------------------------------------------------- /ruby/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/base 2 | 3 | RUN apk add --no-cache libxml2 libxslt libevent libffi glib ncurses readline \ 4 | openssl yaml zlib curl mariadb-client libpq ruby ruby-io-console ruby-bundler \ 5 | ruby-bigdecimal 6 | -------------------------------------------------------------------------------- /ruby/README.md: -------------------------------------------------------------------------------- 1 | [![](http://badge-imagelayers.iron.io/iron/ruby:latest.svg)](http://imagelayers.iron.io/?images=iron/ruby:latest 'Get your own badge on imagelayers.iron.io') 2 | 3 | Image on Docker Hub: https://hub.docker.com/r/iron/ruby 4 | 5 | ## Using this image for your Ruby apps/programs 6 | 7 | ### 1. Vendor dependencies (if you update your Gemfile, rerun this): 8 | 9 | ```sh 10 | docker run --rm -v "$PWD":/worker -w /worker iron/ruby:dev bundle install --standalone --clean 11 | ``` 12 | 13 | Then require the vendored gems. Notice in `hello.rb`, we add the following so it uses the vendored gems: 14 | 15 | ```ruby 16 | require_relative 'bundle/bundler/setup' 17 | ``` 18 | 19 | ### 2. Test your code 20 | 21 | Test your code: 22 | 23 | ```sh 24 | docker run --rm -it -v $PWD:/app -w /app iron/ruby ruby hello.rb 25 | ``` 26 | 27 | Notice we're using iron/ruby:dev to build and iron/ruby to run. iron/ruby is much smaller. 28 | 29 | ## Building an image for your Ruby app: 30 | 31 | Make a Dockerfile: 32 | 33 | ``` 34 | FROM iron/ruby 35 | 36 | WORKDIR /app 37 | ADD . /app 38 | 39 | ENTRYPOINT ["ruby", "hello.rb"] 40 | ``` 41 | 42 | Build the image: 43 | 44 | ```sh 45 | docker build -t username/imagename:latest . 46 | ``` 47 | 48 | Push it to Docker Hub: 49 | 50 | ```sh 51 | docker push username/imagename 52 | ``` 53 | -------------------------------------------------------------------------------- /ruby/build.rb: -------------------------------------------------------------------------------- 1 | require 'open3' 2 | require_relative '../utils/builder' 3 | 4 | name = "iron/ruby" 5 | 6 | tag = "latest" 7 | build("#{name}:#{tag}") 8 | v, status = Open3.capture2e("docker run --rm #{name}:#{tag} ruby -v") 9 | v = v.strip 10 | p v 11 | # returns: ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-linux-musl]" 12 | v = v.split(' ')[1] 13 | p v 14 | v = v.split('p')[0] 15 | p v 16 | new_tags = vtag(name, tag, v, false) 17 | 18 | Dir.chdir 'dev' 19 | tag = "dev" 20 | build("#{name}:#{tag}") 21 | new_tags += vtag(name, tag, v, true) 22 | 23 | push_all(name, new_tags) 24 | -------------------------------------------------------------------------------- /ruby/dev/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/ruby 2 | 3 | RUN apk add --no-cache curl git make \ 4 | libssl1.1 build-base libxml2-dev libxslt-dev libbz2 libevent-dev libffi-dev glib-dev ncurses-dev readline-dev yaml-dev zlib-dev \ 5 | libpq sqlite-dev mariadb-client postgresql-dev \ 6 | ruby-dev ruby ruby-io-console ruby-bundler 7 | 8 | # Now upate bundler: https://github.com/iron-io/dockers/issues/50 9 | RUN gem install --no-document bundler 10 | -------------------------------------------------------------------------------- /ruby/dev/README.md: -------------------------------------------------------------------------------- 1 | [![](http://badge-imagelayers.iron.io/iron/ruby:dev.svg)](http://imagelayers.iron.io/?images=iron/ruby:dev 'Get your own badge on imagelayers.iron.io') 2 | 3 | This image is for building your dependencies. You should use 4 | iron/ruby to run them (way smaller image). 5 | 6 | ## Using 7 | 8 | Vendor your dependencies: 9 | 10 | ```sh 11 | docker run --rm -v $PWD:/app -w /app iron/ruby:dev bundle install --standalone --clean 12 | docker run --rm -v $PWD:/app -w /app iron/ruby:dev bundle install --standalone --clean 13 | sudo chmod -R a+rw .bundle 14 | sudo chmod -R a+rw bundle 15 | ``` 16 | 17 | Add the following to your code so it uses the vendored gems: 18 | 19 | ```ruby 20 | require_relative 'bundle/bundler/setup' 21 | ``` 22 | 23 | See iron/ruby image for running your code. 24 | -------------------------------------------------------------------------------- /scala/2.11/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM iron/java:1.8 2 | 3 | RUN apk update && apk upgrade 4 | RUN apk add bash 5 | 6 | ADD scala-2.11.7 /usr/local/share/scala 7 | ENV SCALA-HOME=/usr/local/share/scala 8 | ENV PATH=/usr/local/share/scala/bin:$PATH 9 | 10 | # Clean APK cache 11 | RUN rm -rf /var/cache/apk/* 12 | -------------------------------------------------------------------------------- /scala/2.11/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## Building this image 3 | 4 | ```sh 5 | docker build -t iron/scala:latest . 6 | ``` 7 | 8 | Tag the version, check it with `docker run --rm iron/scala scala -version`: 9 | 10 | ```sh 11 | docker tag -f iron/scala:latest iron/scala:X 12 | docker tag -f iron/scala:latest iron/scala:X.Y 13 | docker tag -f iron/scala:latest iron/scala:X.Y.Z 14 | ``` 15 | 16 | Push: 17 | 18 | ```sh 19 | docker push iron/scala 20 | ``` 21 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/bin/fsc: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | ############################################################################## 4 | # Copyright 2002-2013 LAMP/EPFL 5 | # 6 | # This is free software; see the distribution for copying conditions. 7 | # There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A 8 | # PARTICULAR PURPOSE. 9 | ############################################################################## 10 | 11 | findScalaHome () { 12 | # see SI-2092 and SI-5792 13 | local source="${BASH_SOURCE[0]}" 14 | while [ -h "$source" ] ; do 15 | local linked="$(readlink "$source")" 16 | local dir="$( cd -P $(dirname "$source") && cd -P $(dirname "$linked") && pwd )" 17 | source="$dir/$(basename "$linked")" 18 | done 19 | ( cd -P "$(dirname "$source")/.." && pwd ) 20 | } 21 | execCommand () { 22 | [[ -n $SCALA_RUNNER_DEBUG ]] && echo "" && for arg in "$@"; do echo "$arg"; done && echo ""; 23 | "$@" 24 | } 25 | 26 | # Not sure what the right default is here: trying nonzero. 27 | scala_exit_status=127 28 | saved_stty="" 29 | 30 | # restore stty settings (echo in particular) 31 | function restoreSttySettings() { 32 | if [[ -n $SCALA_RUNNER_DEBUG ]]; then 33 | echo "restoring stty:" 34 | echo "$saved_stty" 35 | fi 36 | 37 | stty $saved_stty 38 | saved_stty="" 39 | } 40 | 41 | function onExit() { 42 | [[ "$saved_stty" != "" ]] && restoreSttySettings 43 | exit $scala_exit_status 44 | } 45 | 46 | # to reenable echo if we are interrupted before completing. 47 | trap onExit INT 48 | 49 | # save terminal settings 50 | saved_stty=$(stty -g 2>/dev/null) 51 | # clear on error so we don't later try to restore them 52 | if [[ ! $? ]]; then 53 | saved_stty="" 54 | fi 55 | if [[ -n $SCALA_RUNNER_DEBUG ]]; then 56 | echo "saved stty:" 57 | echo "$saved_stty" 58 | fi 59 | 60 | unset cygwin 61 | if uname | grep -q ^CYGWIN; then 62 | cygwin="$(uname)" 63 | fi 64 | 65 | unset mingw 66 | if uname | grep -q ^MINGW; then 67 | mingw="$(uname)" 68 | fi 69 | 70 | # Finding the root folder for this Scala distribution 71 | SCALA_HOME="$(findScalaHome)" 72 | SEP=":" 73 | 74 | # Possible additional command line options 75 | WINDOWS_OPT="" 76 | EMACS_OPT="-Denv.emacs=$EMACS" 77 | 78 | # Remove spaces from SCALA_HOME on windows 79 | if [[ -n "$cygwin" ]]; then 80 | SCALA_HOME="$(shome="$(cygpath --windows --short-name "$SCALA_HOME")" ; cygpath --unix "$shome")" 81 | # elif uname |grep -q ^MINGW; then 82 | # SEP=";" 83 | fi 84 | 85 | # Constructing the extension classpath 86 | TOOL_CLASSPATH="" 87 | if [[ -z "$TOOL_CLASSPATH" ]]; then 88 | for ext in "$SCALA_HOME"/lib/* ; do 89 | file_extension="${ext##*.}" 90 | # SI-8967 Only consider directories and files named '*.jar' 91 | if [[ -d "$ext" || $file_extension == "jar" ]]; then 92 | if [[ -z "$TOOL_CLASSPATH" ]]; then 93 | TOOL_CLASSPATH="$ext" 94 | else 95 | TOOL_CLASSPATH="${TOOL_CLASSPATH}${SEP}${ext}" 96 | fi 97 | fi 98 | done 99 | fi 100 | 101 | if [[ -n "$cygwin" ]]; then 102 | if [[ "$OS" = "Windows_NT" ]] && cygpath -m .>/dev/null 2>/dev/null ; then 103 | format=mixed 104 | else 105 | format=windows 106 | fi 107 | SCALA_HOME="$(cygpath --$format "$SCALA_HOME")" 108 | if [[ -n "$JAVA_HOME" ]]; then 109 | JAVA_HOME="$(cygpath --$format "$JAVA_HOME")" 110 | fi 111 | TOOL_CLASSPATH="$(cygpath --path --$format "$TOOL_CLASSPATH")" 112 | fi 113 | 114 | if [[ -n "$cygwin$mingw" ]]; then 115 | case "$TERM" in 116 | rxvt* | xterm*) 117 | stty -icanon min 1 -echo 118 | WINDOWS_OPT="-Djline.terminal=unix" 119 | ;; 120 | esac 121 | fi 122 | 123 | [[ -n "$JAVA_OPTS" ]] || JAVA_OPTS="-Xmx256M -Xms32M" 124 | 125 | # break out -D and -J options and add them to JAVA_OPTS as well 126 | # so they reach the underlying JVM in time to do some good. The 127 | # -D options will be available as system properties. 128 | declare -a java_args 129 | declare -a scala_args 130 | 131 | # SI-8358, SI-8368 -- the default should really be false, 132 | # but I don't want to flip the default during 2.11's RC cycle 133 | OVERRIDE_USEJAVACP="-Dscala.usejavacp=true" 134 | 135 | while [[ $# -gt 0 ]]; do 136 | case "$1" in 137 | -D*) 138 | # pass to scala as well: otherwise we lose it sometimes when we 139 | # need it, e.g. communicating with a server compiler. 140 | java_args+=("$1") 141 | scala_args+=("$1") 142 | # respect user-supplied -Dscala.usejavacp 143 | case "$1" in -Dscala.usejavacp*) OVERRIDE_USEJAVACP="";; esac 144 | shift 145 | ;; 146 | -J*) 147 | # as with -D, pass to scala even though it will almost 148 | # never be used. 149 | java_args+=("${1:2}") 150 | scala_args+=("$1") 151 | shift 152 | ;; 153 | -toolcp) 154 | TOOL_CLASSPATH="${TOOL_CLASSPATH}${SEP}${2}" 155 | shift 2 156 | ;; 157 | -nobootcp) 158 | unset usebootcp 159 | shift 160 | ;; 161 | -usebootcp) 162 | usebootcp="true" 163 | shift 164 | ;; 165 | -debug) 166 | SCALA_RUNNER_DEBUG=1 167 | shift 168 | ;; 169 | *) 170 | scala_args+=("$1") 171 | shift 172 | ;; 173 | esac 174 | done 175 | 176 | # reset "$@" to the remaining args 177 | set -- "${scala_args[@]}" 178 | 179 | if [[ -z "$JAVACMD" && -n "$JAVA_HOME" && -x "$JAVA_HOME/bin/java" ]]; then 180 | JAVACMD="$JAVA_HOME/bin/java" 181 | fi 182 | 183 | declare -a classpath_args 184 | 185 | # default to the boot classpath for speed, except on cygwin/mingw because 186 | # JLine on Windows requires a custom DLL to be loaded. 187 | unset usebootcp 188 | if [[ -z "$cygwin$mingw" ]]; then 189 | usebootcp="true" 190 | fi 191 | 192 | # If using the boot classpath, also pass an empty classpath 193 | # to java to suppress "." from materializing. 194 | if [[ -n $usebootcp ]]; then 195 | classpath_args=("-Xbootclasspath/a:$TOOL_CLASSPATH" -classpath "\"\"") 196 | else 197 | classpath_args=(-classpath "$TOOL_CLASSPATH") 198 | fi 199 | 200 | # note that variables which may intentionally be empty must not 201 | # be quoted: otherwise an empty string will appear as a command line 202 | # argument, and java will think that is the program to run. 203 | execCommand \ 204 | "${JAVACMD:=java}" \ 205 | $JAVA_OPTS \ 206 | "${java_args[@]}" \ 207 | "${classpath_args[@]}" \ 208 | -Dscala.home="$SCALA_HOME" \ 209 | $OVERRIDE_USEJAVACP \ 210 | "$EMACS_OPT" \ 211 | $WINDOWS_OPT \ 212 | scala.tools.nsc.CompileClient "$@" 213 | 214 | # record the exit status lest it be overwritten: 215 | # then reenable echo and propagate the code. 216 | scala_exit_status=$? 217 | onExit 218 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/bin/fsc.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | rem ########################################################################## 4 | rem # Copyright 2002-2013 LAMP/EPFL 5 | rem # 6 | rem # This is free software; see the distribution for copying conditions. 7 | rem # There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A 8 | rem # PARTICULAR PURPOSE. 9 | rem ########################################################################## 10 | 11 | setlocal enableextensions enabledelayedexpansion 12 | 13 | set _LINE_TOOLCP= 14 | 15 | rem Use "%~1" to handle spaces in paths. See http://ss64.com/nt/syntax-args.html 16 | rem SI-7295 The goto here is needed to avoid problems with `scala Script.cmd "arg(with)paren"`, 17 | rem we must not evaluate %~2 eagerly, but delayed expansion doesn't seem to allow 18 | rem removal of quotation marks. 19 | if not [%~1]==[-toolcp] ( 20 | goto :notoolcp 21 | ) 22 | shift 23 | set _LINE_TOOLCP=%~1 24 | shift 25 | 26 | :notoolcp 27 | 28 | rem SI-8358, SI-8368 -- the default should really be false, 29 | rem but I don't want to flip the default during 2.11's RC cycle 30 | set _OVERRIDE_USEJAVACP="-Dscala.usejavacp=true" 31 | 32 | rem We keep in _JAVA_PARAMS all -J-prefixed and -D-prefixed arguments 33 | set _JAVA_PARAMS= 34 | 35 | if [%1]==[] goto param_afterloop 36 | set _TEST_PARAM=%~1 37 | if not "%_TEST_PARAM:~0,1%"=="-" goto param_afterloop 38 | 39 | rem ignore -e "scala code" 40 | if "%_TEST_PARAM:~0,2%"=="-e" ( 41 | shift 42 | shift 43 | if [%1]==[] goto param_afterloop 44 | ) 45 | 46 | set _TEST_PARAM=%~1 47 | if "%_TEST_PARAM:~0,2%"=="-J" ( 48 | set _JAVA_PARAMS=%_TEST_PARAM:~2% 49 | ) 50 | 51 | if "%_TEST_PARAM:~0,2%"=="-D" ( 52 | rem Only match beginning of the -D option. The relevant bit is 17 chars long. 53 | if "%_TEST_PARAM:~0,17%"=="-Dscala.usejavacp" ( 54 | set _OVERRIDE_USEJAVACP= 55 | ) 56 | rem test if this was double-quoted property "-Dprop=42" 57 | for /F "delims== tokens=1-2" %%G in ("%_TEST_PARAM%") DO ( 58 | if not "%%G" == "%_TEST_PARAM%" ( 59 | rem double quoted: "-Dprop=42" -> -Dprop="42" 60 | set _JAVA_PARAMS=%%G="%%H" 61 | ) else if [%2] neq [] ( 62 | rem it was a normal property: -Dprop=42 or -Drop="42" 63 | set _JAVA_PARAMS=%_TEST_PARAM%=%2 64 | shift 65 | ) 66 | ) 67 | ) 68 | 69 | :param_loop 70 | shift 71 | 72 | if [%1]==[] goto param_afterloop 73 | set _TEST_PARAM=%~1 74 | if not "%_TEST_PARAM:~0,1%"=="-" goto param_afterloop 75 | 76 | rem ignore -e "scala code" 77 | if "%_TEST_PARAM:~0,2%"=="-e" ( 78 | shift 79 | shift 80 | if [%1]==[] goto param_afterloop 81 | ) 82 | 83 | set _TEST_PARAM=%~1 84 | if "%_TEST_PARAM:~0,2%"=="-J" ( 85 | set _JAVA_PARAMS=%_JAVA_PARAMS% %_TEST_PARAM:~2% 86 | ) 87 | 88 | if "%_TEST_PARAM:~0,2%"=="-D" ( 89 | rem test if this was double-quoted property "-Dprop=42" 90 | for /F "delims== tokens=1-2" %%G in ("%_TEST_PARAM%") DO ( 91 | if not "%%G" == "%_TEST_PARAM%" ( 92 | rem double quoted: "-Dprop=42" -> -Dprop="42" 93 | set _JAVA_PARAMS=%_JAVA_PARAMS% %%G="%%H" 94 | ) else if [%2] neq [] ( 95 | rem it was a normal property: -Dprop=42 or -Drop="42" 96 | set _JAVA_PARAMS=%_JAVA_PARAMS% %_TEST_PARAM%=%2 97 | shift 98 | ) 99 | ) 100 | ) 101 | goto param_loop 102 | :param_afterloop 103 | 104 | if "%OS%" NEQ "Windows_NT" ( 105 | echo "Warning, your version of Windows is not supported. Attempting to start scala anyway." 106 | ) 107 | 108 | @setlocal 109 | call :set_home 110 | 111 | rem We use the value of the JAVACMD environment variable if defined 112 | set _JAVACMD=%JAVACMD% 113 | 114 | if not defined _JAVACMD ( 115 | if not "%JAVA_HOME%"=="" ( 116 | if exist "%JAVA_HOME%\bin\java.exe" set "_JAVACMD=%JAVA_HOME%\bin\java.exe" 117 | ) 118 | ) 119 | 120 | if "%_JAVACMD%"=="" set _JAVACMD=java 121 | 122 | rem We use the value of the JAVA_OPTS environment variable if defined 123 | set _JAVA_OPTS=%JAVA_OPTS% 124 | if not defined _JAVA_OPTS set _JAVA_OPTS=-Xmx256M -Xms32M 125 | 126 | rem We append _JAVA_PARAMS java arguments to JAVA_OPTS if necessary 127 | if defined _JAVA_PARAMS set _JAVA_OPTS=%_JAVA_OPTS% %_JAVA_PARAMS% 128 | 129 | set _TOOL_CLASSPATH= 130 | if "%_TOOL_CLASSPATH%"=="" ( 131 | for %%f in ("!_SCALA_HOME!\lib\*.jar") do call :add_cpath "%%f" 132 | for /d %%f in ("!_SCALA_HOME!\lib\*") do call :add_cpath "%%f" 133 | ) 134 | 135 | if not "%_LINE_TOOLCP%"=="" call :add_cpath "%_LINE_TOOLCP%" 136 | 137 | set _PROPS=-Dscala.home="!_SCALA_HOME!" -Denv.emacs="%EMACS%" %_OVERRIDE_USEJAVACP% 138 | 139 | rem echo "%_JAVACMD%" %_JAVA_OPTS% %_PROPS% -cp "%_TOOL_CLASSPATH%" scala.tools.nsc.CompileClient %* 140 | "%_JAVACMD%" %_JAVA_OPTS% %_PROPS% -cp "%_TOOL_CLASSPATH%" scala.tools.nsc.CompileClient %* 141 | goto end 142 | 143 | rem ########################################################################## 144 | rem # subroutines 145 | 146 | :add_cpath 147 | if "%_TOOL_CLASSPATH%"=="" ( 148 | set _TOOL_CLASSPATH=%~1 149 | ) else ( 150 | set _TOOL_CLASSPATH=%_TOOL_CLASSPATH%;%~1 151 | ) 152 | goto :eof 153 | 154 | rem Variable "%~dps0" works on WinXP SP2 or newer 155 | rem (see http://support.microsoft.com/?kbid=833431) 156 | rem set _SCALA_HOME=%~dps0.. 157 | :set_home 158 | set _BIN_DIR= 159 | for %%i in (%~sf0) do set _BIN_DIR=%_BIN_DIR%%%~dpsi 160 | set _SCALA_HOME=%_BIN_DIR%.. 161 | goto :eof 162 | 163 | :end 164 | @endlocal 165 | 166 | REM exit code fix, see http://stackoverflow.com/questions/4632891/exiting-batch-with-exit-b-x-where-x-1-acts-as-if-command-completed-successfu 167 | @"%COMSPEC%" /C exit %errorlevel% >nul 168 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/bin/scala: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | ############################################################################## 4 | # Copyright 2002-2013 LAMP/EPFL 5 | # 6 | # This is free software; see the distribution for copying conditions. 7 | # There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A 8 | # PARTICULAR PURPOSE. 9 | ############################################################################## 10 | 11 | findScalaHome () { 12 | # see SI-2092 and SI-5792 13 | local source="${BASH_SOURCE[0]}" 14 | while [ -h "$source" ] ; do 15 | local linked="$(readlink "$source")" 16 | local dir="$( cd -P $(dirname "$source") && cd -P $(dirname "$linked") && pwd )" 17 | source="$dir/$(basename "$linked")" 18 | done 19 | ( cd -P "$(dirname "$source")/.." && pwd ) 20 | } 21 | execCommand () { 22 | [[ -n $SCALA_RUNNER_DEBUG ]] && echo "" && for arg in "$@"; do echo "$arg"; done && echo ""; 23 | "$@" 24 | } 25 | 26 | # Not sure what the right default is here: trying nonzero. 27 | scala_exit_status=127 28 | saved_stty="" 29 | 30 | # restore stty settings (echo in particular) 31 | function restoreSttySettings() { 32 | if [[ -n $SCALA_RUNNER_DEBUG ]]; then 33 | echo "restoring stty:" 34 | echo "$saved_stty" 35 | fi 36 | 37 | stty $saved_stty 38 | saved_stty="" 39 | } 40 | 41 | function onExit() { 42 | [[ "$saved_stty" != "" ]] && restoreSttySettings 43 | exit $scala_exit_status 44 | } 45 | 46 | # to reenable echo if we are interrupted before completing. 47 | trap onExit INT 48 | 49 | # save terminal settings 50 | saved_stty=$(stty -g 2>/dev/null) 51 | # clear on error so we don't later try to restore them 52 | if [[ ! $? ]]; then 53 | saved_stty="" 54 | fi 55 | if [[ -n $SCALA_RUNNER_DEBUG ]]; then 56 | echo "saved stty:" 57 | echo "$saved_stty" 58 | fi 59 | 60 | unset cygwin 61 | if uname | grep -q ^CYGWIN; then 62 | cygwin="$(uname)" 63 | fi 64 | 65 | unset mingw 66 | if uname | grep -q ^MINGW; then 67 | mingw="$(uname)" 68 | fi 69 | 70 | # Finding the root folder for this Scala distribution 71 | SCALA_HOME="$(findScalaHome)" 72 | SEP=":" 73 | 74 | # Possible additional command line options 75 | WINDOWS_OPT="" 76 | EMACS_OPT="-Denv.emacs=$EMACS" 77 | 78 | # Remove spaces from SCALA_HOME on windows 79 | if [[ -n "$cygwin" ]]; then 80 | SCALA_HOME="$(shome="$(cygpath --windows --short-name "$SCALA_HOME")" ; cygpath --unix "$shome")" 81 | # elif uname |grep -q ^MINGW; then 82 | # SEP=";" 83 | fi 84 | 85 | # Constructing the extension classpath 86 | TOOL_CLASSPATH="" 87 | if [[ -z "$TOOL_CLASSPATH" ]]; then 88 | for ext in "$SCALA_HOME"/lib/* ; do 89 | file_extension="${ext##*.}" 90 | # SI-8967 Only consider directories and files named '*.jar' 91 | if [[ -d "$ext" || $file_extension == "jar" ]]; then 92 | if [[ -z "$TOOL_CLASSPATH" ]]; then 93 | TOOL_CLASSPATH="$ext" 94 | else 95 | TOOL_CLASSPATH="${TOOL_CLASSPATH}${SEP}${ext}" 96 | fi 97 | fi 98 | done 99 | fi 100 | 101 | if [[ -n "$cygwin" ]]; then 102 | if [[ "$OS" = "Windows_NT" ]] && cygpath -m .>/dev/null 2>/dev/null ; then 103 | format=mixed 104 | else 105 | format=windows 106 | fi 107 | SCALA_HOME="$(cygpath --$format "$SCALA_HOME")" 108 | if [[ -n "$JAVA_HOME" ]]; then 109 | JAVA_HOME="$(cygpath --$format "$JAVA_HOME")" 110 | fi 111 | TOOL_CLASSPATH="$(cygpath --path --$format "$TOOL_CLASSPATH")" 112 | fi 113 | 114 | if [[ -n "$cygwin$mingw" ]]; then 115 | case "$TERM" in 116 | rxvt* | xterm*) 117 | stty -icanon min 1 -echo 118 | WINDOWS_OPT="-Djline.terminal=unix" 119 | ;; 120 | esac 121 | fi 122 | 123 | [[ -n "$JAVA_OPTS" ]] || JAVA_OPTS="-Xmx256M -Xms32M" 124 | 125 | # break out -D and -J options and add them to JAVA_OPTS as well 126 | # so they reach the underlying JVM in time to do some good. The 127 | # -D options will be available as system properties. 128 | declare -a java_args 129 | declare -a scala_args 130 | 131 | # SI-8358, SI-8368 -- the default should really be false, 132 | # but I don't want to flip the default during 2.11's RC cycle 133 | OVERRIDE_USEJAVACP="-Dscala.usejavacp=true" 134 | 135 | while [[ $# -gt 0 ]]; do 136 | case "$1" in 137 | -D*) 138 | # pass to scala as well: otherwise we lose it sometimes when we 139 | # need it, e.g. communicating with a server compiler. 140 | java_args+=("$1") 141 | scala_args+=("$1") 142 | # respect user-supplied -Dscala.usejavacp 143 | case "$1" in -Dscala.usejavacp*) OVERRIDE_USEJAVACP="";; esac 144 | shift 145 | ;; 146 | -J*) 147 | # as with -D, pass to scala even though it will almost 148 | # never be used. 149 | java_args+=("${1:2}") 150 | scala_args+=("$1") 151 | shift 152 | ;; 153 | -toolcp) 154 | TOOL_CLASSPATH="${TOOL_CLASSPATH}${SEP}${2}" 155 | shift 2 156 | ;; 157 | -nobootcp) 158 | unset usebootcp 159 | shift 160 | ;; 161 | -usebootcp) 162 | usebootcp="true" 163 | shift 164 | ;; 165 | -debug) 166 | SCALA_RUNNER_DEBUG=1 167 | shift 168 | ;; 169 | *) 170 | scala_args+=("$1") 171 | shift 172 | ;; 173 | esac 174 | done 175 | 176 | # reset "$@" to the remaining args 177 | set -- "${scala_args[@]}" 178 | 179 | if [[ -z "$JAVACMD" && -n "$JAVA_HOME" && -x "$JAVA_HOME/bin/java" ]]; then 180 | JAVACMD="$JAVA_HOME/bin/java" 181 | fi 182 | 183 | declare -a classpath_args 184 | 185 | # default to the boot classpath for speed, except on cygwin/mingw because 186 | # JLine on Windows requires a custom DLL to be loaded. 187 | unset usebootcp 188 | if [[ -z "$cygwin$mingw" ]]; then 189 | usebootcp="true" 190 | fi 191 | 192 | # If using the boot classpath, also pass an empty classpath 193 | # to java to suppress "." from materializing. 194 | if [[ -n $usebootcp ]]; then 195 | classpath_args=("-Xbootclasspath/a:$TOOL_CLASSPATH" -classpath "\"\"") 196 | else 197 | classpath_args=(-classpath "$TOOL_CLASSPATH") 198 | fi 199 | 200 | # note that variables which may intentionally be empty must not 201 | # be quoted: otherwise an empty string will appear as a command line 202 | # argument, and java will think that is the program to run. 203 | execCommand \ 204 | "${JAVACMD:=java}" \ 205 | $JAVA_OPTS \ 206 | "${java_args[@]}" \ 207 | "${classpath_args[@]}" \ 208 | -Dscala.home="$SCALA_HOME" \ 209 | $OVERRIDE_USEJAVACP \ 210 | "$EMACS_OPT" \ 211 | $WINDOWS_OPT \ 212 | scala.tools.nsc.MainGenericRunner "$@" 213 | 214 | # record the exit status lest it be overwritten: 215 | # then reenable echo and propagate the code. 216 | scala_exit_status=$? 217 | onExit 218 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/bin/scala.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | rem ########################################################################## 4 | rem # Copyright 2002-2013 LAMP/EPFL 5 | rem # 6 | rem # This is free software; see the distribution for copying conditions. 7 | rem # There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A 8 | rem # PARTICULAR PURPOSE. 9 | rem ########################################################################## 10 | 11 | setlocal enableextensions enabledelayedexpansion 12 | 13 | set _LINE_TOOLCP= 14 | 15 | rem Use "%~1" to handle spaces in paths. See http://ss64.com/nt/syntax-args.html 16 | rem SI-7295 The goto here is needed to avoid problems with `scala Script.cmd "arg(with)paren"`, 17 | rem we must not evaluate %~2 eagerly, but delayed expansion doesn't seem to allow 18 | rem removal of quotation marks. 19 | if not [%~1]==[-toolcp] ( 20 | goto :notoolcp 21 | ) 22 | shift 23 | set _LINE_TOOLCP=%~1 24 | shift 25 | 26 | :notoolcp 27 | 28 | rem SI-8358, SI-8368 -- the default should really be false, 29 | rem but I don't want to flip the default during 2.11's RC cycle 30 | set _OVERRIDE_USEJAVACP="-Dscala.usejavacp=true" 31 | 32 | rem We keep in _JAVA_PARAMS all -J-prefixed and -D-prefixed arguments 33 | set _JAVA_PARAMS= 34 | 35 | if [%1]==[] goto param_afterloop 36 | set _TEST_PARAM=%~1 37 | if not "%_TEST_PARAM:~0,1%"=="-" goto param_afterloop 38 | 39 | rem ignore -e "scala code" 40 | if "%_TEST_PARAM:~0,2%"=="-e" ( 41 | shift 42 | shift 43 | if [%1]==[] goto param_afterloop 44 | ) 45 | 46 | set _TEST_PARAM=%~1 47 | if "%_TEST_PARAM:~0,2%"=="-J" ( 48 | set _JAVA_PARAMS=%_TEST_PARAM:~2% 49 | ) 50 | 51 | if "%_TEST_PARAM:~0,2%"=="-D" ( 52 | rem Only match beginning of the -D option. The relevant bit is 17 chars long. 53 | if "%_TEST_PARAM:~0,17%"=="-Dscala.usejavacp" ( 54 | set _OVERRIDE_USEJAVACP= 55 | ) 56 | rem test if this was double-quoted property "-Dprop=42" 57 | for /F "delims== tokens=1-2" %%G in ("%_TEST_PARAM%") DO ( 58 | if not "%%G" == "%_TEST_PARAM%" ( 59 | rem double quoted: "-Dprop=42" -> -Dprop="42" 60 | set _JAVA_PARAMS=%%G="%%H" 61 | ) else if [%2] neq [] ( 62 | rem it was a normal property: -Dprop=42 or -Drop="42" 63 | set _JAVA_PARAMS=%_TEST_PARAM%=%2 64 | shift 65 | ) 66 | ) 67 | ) 68 | 69 | :param_loop 70 | shift 71 | 72 | if [%1]==[] goto param_afterloop 73 | set _TEST_PARAM=%~1 74 | if not "%_TEST_PARAM:~0,1%"=="-" goto param_afterloop 75 | 76 | rem ignore -e "scala code" 77 | if "%_TEST_PARAM:~0,2%"=="-e" ( 78 | shift 79 | shift 80 | if [%1]==[] goto param_afterloop 81 | ) 82 | 83 | set _TEST_PARAM=%~1 84 | if "%_TEST_PARAM:~0,2%"=="-J" ( 85 | set _JAVA_PARAMS=%_JAVA_PARAMS% %_TEST_PARAM:~2% 86 | ) 87 | 88 | if "%_TEST_PARAM:~0,2%"=="-D" ( 89 | rem test if this was double-quoted property "-Dprop=42" 90 | for /F "delims== tokens=1-2" %%G in ("%_TEST_PARAM%") DO ( 91 | if not "%%G" == "%_TEST_PARAM%" ( 92 | rem double quoted: "-Dprop=42" -> -Dprop="42" 93 | set _JAVA_PARAMS=%_JAVA_PARAMS% %%G="%%H" 94 | ) else if [%2] neq [] ( 95 | rem it was a normal property: -Dprop=42 or -Drop="42" 96 | set _JAVA_PARAMS=%_JAVA_PARAMS% %_TEST_PARAM%=%2 97 | shift 98 | ) 99 | ) 100 | ) 101 | goto param_loop 102 | :param_afterloop 103 | 104 | if "%OS%" NEQ "Windows_NT" ( 105 | echo "Warning, your version of Windows is not supported. Attempting to start scala anyway." 106 | ) 107 | 108 | @setlocal 109 | call :set_home 110 | 111 | rem We use the value of the JAVACMD environment variable if defined 112 | set _JAVACMD=%JAVACMD% 113 | 114 | if not defined _JAVACMD ( 115 | if not "%JAVA_HOME%"=="" ( 116 | if exist "%JAVA_HOME%\bin\java.exe" set "_JAVACMD=%JAVA_HOME%\bin\java.exe" 117 | ) 118 | ) 119 | 120 | if "%_JAVACMD%"=="" set _JAVACMD=java 121 | 122 | rem We use the value of the JAVA_OPTS environment variable if defined 123 | set _JAVA_OPTS=%JAVA_OPTS% 124 | if not defined _JAVA_OPTS set _JAVA_OPTS=-Xmx256M -Xms32M 125 | 126 | rem We append _JAVA_PARAMS java arguments to JAVA_OPTS if necessary 127 | if defined _JAVA_PARAMS set _JAVA_OPTS=%_JAVA_OPTS% %_JAVA_PARAMS% 128 | 129 | set _TOOL_CLASSPATH= 130 | if "%_TOOL_CLASSPATH%"=="" ( 131 | for %%f in ("!_SCALA_HOME!\lib\*.jar") do call :add_cpath "%%f" 132 | for /d %%f in ("!_SCALA_HOME!\lib\*") do call :add_cpath "%%f" 133 | ) 134 | 135 | if not "%_LINE_TOOLCP%"=="" call :add_cpath "%_LINE_TOOLCP%" 136 | 137 | set _PROPS=-Dscala.home="!_SCALA_HOME!" -Denv.emacs="%EMACS%" %_OVERRIDE_USEJAVACP% 138 | 139 | rem echo "%_JAVACMD%" %_JAVA_OPTS% %_PROPS% -cp "%_TOOL_CLASSPATH%" scala.tools.nsc.MainGenericRunner %* 140 | "%_JAVACMD%" %_JAVA_OPTS% %_PROPS% -cp "%_TOOL_CLASSPATH%" scala.tools.nsc.MainGenericRunner %* 141 | goto end 142 | 143 | rem ########################################################################## 144 | rem # subroutines 145 | 146 | :add_cpath 147 | if "%_TOOL_CLASSPATH%"=="" ( 148 | set _TOOL_CLASSPATH=%~1 149 | ) else ( 150 | set _TOOL_CLASSPATH=%_TOOL_CLASSPATH%;%~1 151 | ) 152 | goto :eof 153 | 154 | rem Variable "%~dps0" works on WinXP SP2 or newer 155 | rem (see http://support.microsoft.com/?kbid=833431) 156 | rem set _SCALA_HOME=%~dps0.. 157 | :set_home 158 | set _BIN_DIR= 159 | for %%i in (%~sf0) do set _BIN_DIR=%_BIN_DIR%%%~dpsi 160 | set _SCALA_HOME=%_BIN_DIR%.. 161 | goto :eof 162 | 163 | :end 164 | @endlocal 165 | 166 | REM exit code fix, see http://stackoverflow.com/questions/4632891/exiting-batch-with-exit-b-x-where-x-1-acts-as-if-command-completed-successfu 167 | @"%COMSPEC%" /C exit %errorlevel% >nul 168 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/bin/scalac: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | ############################################################################## 4 | # Copyright 2002-2013 LAMP/EPFL 5 | # 6 | # This is free software; see the distribution for copying conditions. 7 | # There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A 8 | # PARTICULAR PURPOSE. 9 | ############################################################################## 10 | 11 | findScalaHome () { 12 | # see SI-2092 and SI-5792 13 | local source="${BASH_SOURCE[0]}" 14 | while [ -h "$source" ] ; do 15 | local linked="$(readlink "$source")" 16 | local dir="$( cd -P $(dirname "$source") && cd -P $(dirname "$linked") && pwd )" 17 | source="$dir/$(basename "$linked")" 18 | done 19 | ( cd -P "$(dirname "$source")/.." && pwd ) 20 | } 21 | execCommand () { 22 | [[ -n $SCALA_RUNNER_DEBUG ]] && echo "" && for arg in "$@"; do echo "$arg"; done && echo ""; 23 | "$@" 24 | } 25 | 26 | # Not sure what the right default is here: trying nonzero. 27 | scala_exit_status=127 28 | saved_stty="" 29 | 30 | # restore stty settings (echo in particular) 31 | function restoreSttySettings() { 32 | if [[ -n $SCALA_RUNNER_DEBUG ]]; then 33 | echo "restoring stty:" 34 | echo "$saved_stty" 35 | fi 36 | 37 | stty $saved_stty 38 | saved_stty="" 39 | } 40 | 41 | function onExit() { 42 | [[ "$saved_stty" != "" ]] && restoreSttySettings 43 | exit $scala_exit_status 44 | } 45 | 46 | # to reenable echo if we are interrupted before completing. 47 | trap onExit INT 48 | 49 | # save terminal settings 50 | saved_stty=$(stty -g 2>/dev/null) 51 | # clear on error so we don't later try to restore them 52 | if [[ ! $? ]]; then 53 | saved_stty="" 54 | fi 55 | if [[ -n $SCALA_RUNNER_DEBUG ]]; then 56 | echo "saved stty:" 57 | echo "$saved_stty" 58 | fi 59 | 60 | unset cygwin 61 | if uname | grep -q ^CYGWIN; then 62 | cygwin="$(uname)" 63 | fi 64 | 65 | unset mingw 66 | if uname | grep -q ^MINGW; then 67 | mingw="$(uname)" 68 | fi 69 | 70 | # Finding the root folder for this Scala distribution 71 | SCALA_HOME="$(findScalaHome)" 72 | SEP=":" 73 | 74 | # Possible additional command line options 75 | WINDOWS_OPT="" 76 | EMACS_OPT="-Denv.emacs=$EMACS" 77 | 78 | # Remove spaces from SCALA_HOME on windows 79 | if [[ -n "$cygwin" ]]; then 80 | SCALA_HOME="$(shome="$(cygpath --windows --short-name "$SCALA_HOME")" ; cygpath --unix "$shome")" 81 | # elif uname |grep -q ^MINGW; then 82 | # SEP=";" 83 | fi 84 | 85 | # Constructing the extension classpath 86 | TOOL_CLASSPATH="" 87 | if [[ -z "$TOOL_CLASSPATH" ]]; then 88 | for ext in "$SCALA_HOME"/lib/* ; do 89 | file_extension="${ext##*.}" 90 | # SI-8967 Only consider directories and files named '*.jar' 91 | if [[ -d "$ext" || $file_extension == "jar" ]]; then 92 | if [[ -z "$TOOL_CLASSPATH" ]]; then 93 | TOOL_CLASSPATH="$ext" 94 | else 95 | TOOL_CLASSPATH="${TOOL_CLASSPATH}${SEP}${ext}" 96 | fi 97 | fi 98 | done 99 | fi 100 | 101 | if [[ -n "$cygwin" ]]; then 102 | if [[ "$OS" = "Windows_NT" ]] && cygpath -m .>/dev/null 2>/dev/null ; then 103 | format=mixed 104 | else 105 | format=windows 106 | fi 107 | SCALA_HOME="$(cygpath --$format "$SCALA_HOME")" 108 | if [[ -n "$JAVA_HOME" ]]; then 109 | JAVA_HOME="$(cygpath --$format "$JAVA_HOME")" 110 | fi 111 | TOOL_CLASSPATH="$(cygpath --path --$format "$TOOL_CLASSPATH")" 112 | fi 113 | 114 | if [[ -n "$cygwin$mingw" ]]; then 115 | case "$TERM" in 116 | rxvt* | xterm*) 117 | stty -icanon min 1 -echo 118 | WINDOWS_OPT="-Djline.terminal=unix" 119 | ;; 120 | esac 121 | fi 122 | 123 | [[ -n "$JAVA_OPTS" ]] || JAVA_OPTS="-Xmx256M -Xms32M" 124 | 125 | # break out -D and -J options and add them to JAVA_OPTS as well 126 | # so they reach the underlying JVM in time to do some good. The 127 | # -D options will be available as system properties. 128 | declare -a java_args 129 | declare -a scala_args 130 | 131 | # SI-8358, SI-8368 -- the default should really be false, 132 | # but I don't want to flip the default during 2.11's RC cycle 133 | OVERRIDE_USEJAVACP="-Dscala.usejavacp=true" 134 | 135 | while [[ $# -gt 0 ]]; do 136 | case "$1" in 137 | -D*) 138 | # pass to scala as well: otherwise we lose it sometimes when we 139 | # need it, e.g. communicating with a server compiler. 140 | java_args+=("$1") 141 | scala_args+=("$1") 142 | # respect user-supplied -Dscala.usejavacp 143 | case "$1" in -Dscala.usejavacp*) OVERRIDE_USEJAVACP="";; esac 144 | shift 145 | ;; 146 | -J*) 147 | # as with -D, pass to scala even though it will almost 148 | # never be used. 149 | java_args+=("${1:2}") 150 | scala_args+=("$1") 151 | shift 152 | ;; 153 | -toolcp) 154 | TOOL_CLASSPATH="${TOOL_CLASSPATH}${SEP}${2}" 155 | shift 2 156 | ;; 157 | -nobootcp) 158 | unset usebootcp 159 | shift 160 | ;; 161 | -usebootcp) 162 | usebootcp="true" 163 | shift 164 | ;; 165 | -debug) 166 | SCALA_RUNNER_DEBUG=1 167 | shift 168 | ;; 169 | *) 170 | scala_args+=("$1") 171 | shift 172 | ;; 173 | esac 174 | done 175 | 176 | # reset "$@" to the remaining args 177 | set -- "${scala_args[@]}" 178 | 179 | if [[ -z "$JAVACMD" && -n "$JAVA_HOME" && -x "$JAVA_HOME/bin/java" ]]; then 180 | JAVACMD="$JAVA_HOME/bin/java" 181 | fi 182 | 183 | declare -a classpath_args 184 | 185 | # default to the boot classpath for speed, except on cygwin/mingw because 186 | # JLine on Windows requires a custom DLL to be loaded. 187 | unset usebootcp 188 | if [[ -z "$cygwin$mingw" ]]; then 189 | usebootcp="true" 190 | fi 191 | 192 | # If using the boot classpath, also pass an empty classpath 193 | # to java to suppress "." from materializing. 194 | if [[ -n $usebootcp ]]; then 195 | classpath_args=("-Xbootclasspath/a:$TOOL_CLASSPATH" -classpath "\"\"") 196 | else 197 | classpath_args=(-classpath "$TOOL_CLASSPATH") 198 | fi 199 | 200 | # note that variables which may intentionally be empty must not 201 | # be quoted: otherwise an empty string will appear as a command line 202 | # argument, and java will think that is the program to run. 203 | execCommand \ 204 | "${JAVACMD:=java}" \ 205 | $JAVA_OPTS \ 206 | "${java_args[@]}" \ 207 | "${classpath_args[@]}" \ 208 | -Dscala.home="$SCALA_HOME" \ 209 | $OVERRIDE_USEJAVACP \ 210 | "$EMACS_OPT" \ 211 | $WINDOWS_OPT \ 212 | scala.tools.nsc.Main "$@" 213 | 214 | # record the exit status lest it be overwritten: 215 | # then reenable echo and propagate the code. 216 | scala_exit_status=$? 217 | onExit 218 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/bin/scalac.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | rem ########################################################################## 4 | rem # Copyright 2002-2013 LAMP/EPFL 5 | rem # 6 | rem # This is free software; see the distribution for copying conditions. 7 | rem # There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A 8 | rem # PARTICULAR PURPOSE. 9 | rem ########################################################################## 10 | 11 | setlocal enableextensions enabledelayedexpansion 12 | 13 | set _LINE_TOOLCP= 14 | 15 | rem Use "%~1" to handle spaces in paths. See http://ss64.com/nt/syntax-args.html 16 | rem SI-7295 The goto here is needed to avoid problems with `scala Script.cmd "arg(with)paren"`, 17 | rem we must not evaluate %~2 eagerly, but delayed expansion doesn't seem to allow 18 | rem removal of quotation marks. 19 | if not [%~1]==[-toolcp] ( 20 | goto :notoolcp 21 | ) 22 | shift 23 | set _LINE_TOOLCP=%~1 24 | shift 25 | 26 | :notoolcp 27 | 28 | rem SI-8358, SI-8368 -- the default should really be false, 29 | rem but I don't want to flip the default during 2.11's RC cycle 30 | set _OVERRIDE_USEJAVACP="-Dscala.usejavacp=true" 31 | 32 | rem We keep in _JAVA_PARAMS all -J-prefixed and -D-prefixed arguments 33 | set _JAVA_PARAMS= 34 | 35 | if [%1]==[] goto param_afterloop 36 | set _TEST_PARAM=%~1 37 | if not "%_TEST_PARAM:~0,1%"=="-" goto param_afterloop 38 | 39 | rem ignore -e "scala code" 40 | if "%_TEST_PARAM:~0,2%"=="-e" ( 41 | shift 42 | shift 43 | if [%1]==[] goto param_afterloop 44 | ) 45 | 46 | set _TEST_PARAM=%~1 47 | if "%_TEST_PARAM:~0,2%"=="-J" ( 48 | set _JAVA_PARAMS=%_TEST_PARAM:~2% 49 | ) 50 | 51 | if "%_TEST_PARAM:~0,2%"=="-D" ( 52 | rem Only match beginning of the -D option. The relevant bit is 17 chars long. 53 | if "%_TEST_PARAM:~0,17%"=="-Dscala.usejavacp" ( 54 | set _OVERRIDE_USEJAVACP= 55 | ) 56 | rem test if this was double-quoted property "-Dprop=42" 57 | for /F "delims== tokens=1-2" %%G in ("%_TEST_PARAM%") DO ( 58 | if not "%%G" == "%_TEST_PARAM%" ( 59 | rem double quoted: "-Dprop=42" -> -Dprop="42" 60 | set _JAVA_PARAMS=%%G="%%H" 61 | ) else if [%2] neq [] ( 62 | rem it was a normal property: -Dprop=42 or -Drop="42" 63 | set _JAVA_PARAMS=%_TEST_PARAM%=%2 64 | shift 65 | ) 66 | ) 67 | ) 68 | 69 | :param_loop 70 | shift 71 | 72 | if [%1]==[] goto param_afterloop 73 | set _TEST_PARAM=%~1 74 | if not "%_TEST_PARAM:~0,1%"=="-" goto param_afterloop 75 | 76 | rem ignore -e "scala code" 77 | if "%_TEST_PARAM:~0,2%"=="-e" ( 78 | shift 79 | shift 80 | if [%1]==[] goto param_afterloop 81 | ) 82 | 83 | set _TEST_PARAM=%~1 84 | if "%_TEST_PARAM:~0,2%"=="-J" ( 85 | set _JAVA_PARAMS=%_JAVA_PARAMS% %_TEST_PARAM:~2% 86 | ) 87 | 88 | if "%_TEST_PARAM:~0,2%"=="-D" ( 89 | rem test if this was double-quoted property "-Dprop=42" 90 | for /F "delims== tokens=1-2" %%G in ("%_TEST_PARAM%") DO ( 91 | if not "%%G" == "%_TEST_PARAM%" ( 92 | rem double quoted: "-Dprop=42" -> -Dprop="42" 93 | set _JAVA_PARAMS=%_JAVA_PARAMS% %%G="%%H" 94 | ) else if [%2] neq [] ( 95 | rem it was a normal property: -Dprop=42 or -Drop="42" 96 | set _JAVA_PARAMS=%_JAVA_PARAMS% %_TEST_PARAM%=%2 97 | shift 98 | ) 99 | ) 100 | ) 101 | goto param_loop 102 | :param_afterloop 103 | 104 | if "%OS%" NEQ "Windows_NT" ( 105 | echo "Warning, your version of Windows is not supported. Attempting to start scala anyway." 106 | ) 107 | 108 | @setlocal 109 | call :set_home 110 | 111 | rem We use the value of the JAVACMD environment variable if defined 112 | set _JAVACMD=%JAVACMD% 113 | 114 | if not defined _JAVACMD ( 115 | if not "%JAVA_HOME%"=="" ( 116 | if exist "%JAVA_HOME%\bin\java.exe" set "_JAVACMD=%JAVA_HOME%\bin\java.exe" 117 | ) 118 | ) 119 | 120 | if "%_JAVACMD%"=="" set _JAVACMD=java 121 | 122 | rem We use the value of the JAVA_OPTS environment variable if defined 123 | set _JAVA_OPTS=%JAVA_OPTS% 124 | if not defined _JAVA_OPTS set _JAVA_OPTS=-Xmx256M -Xms32M 125 | 126 | rem We append _JAVA_PARAMS java arguments to JAVA_OPTS if necessary 127 | if defined _JAVA_PARAMS set _JAVA_OPTS=%_JAVA_OPTS% %_JAVA_PARAMS% 128 | 129 | set _TOOL_CLASSPATH= 130 | if "%_TOOL_CLASSPATH%"=="" ( 131 | for %%f in ("!_SCALA_HOME!\lib\*.jar") do call :add_cpath "%%f" 132 | for /d %%f in ("!_SCALA_HOME!\lib\*") do call :add_cpath "%%f" 133 | ) 134 | 135 | if not "%_LINE_TOOLCP%"=="" call :add_cpath "%_LINE_TOOLCP%" 136 | 137 | set _PROPS=-Dscala.home="!_SCALA_HOME!" -Denv.emacs="%EMACS%" %_OVERRIDE_USEJAVACP% 138 | 139 | rem echo "%_JAVACMD%" %_JAVA_OPTS% %_PROPS% -cp "%_TOOL_CLASSPATH%" scala.tools.nsc.Main %* 140 | "%_JAVACMD%" %_JAVA_OPTS% %_PROPS% -cp "%_TOOL_CLASSPATH%" scala.tools.nsc.Main %* 141 | goto end 142 | 143 | rem ########################################################################## 144 | rem # subroutines 145 | 146 | :add_cpath 147 | if "%_TOOL_CLASSPATH%"=="" ( 148 | set _TOOL_CLASSPATH=%~1 149 | ) else ( 150 | set _TOOL_CLASSPATH=%_TOOL_CLASSPATH%;%~1 151 | ) 152 | goto :eof 153 | 154 | rem Variable "%~dps0" works on WinXP SP2 or newer 155 | rem (see http://support.microsoft.com/?kbid=833431) 156 | rem set _SCALA_HOME=%~dps0.. 157 | :set_home 158 | set _BIN_DIR= 159 | for %%i in (%~sf0) do set _BIN_DIR=%_BIN_DIR%%%~dpsi 160 | set _SCALA_HOME=%_BIN_DIR%.. 161 | goto :eof 162 | 163 | :end 164 | @endlocal 165 | 166 | REM exit code fix, see http://stackoverflow.com/questions/4632891/exiting-batch-with-exit-b-x-where-x-1-acts-as-if-command-completed-successfu 167 | @"%COMSPEC%" /C exit %errorlevel% >nul 168 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/bin/scaladoc: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | ############################################################################## 4 | # Copyright 2002-2013 LAMP/EPFL 5 | # 6 | # This is free software; see the distribution for copying conditions. 7 | # There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A 8 | # PARTICULAR PURPOSE. 9 | ############################################################################## 10 | 11 | findScalaHome () { 12 | # see SI-2092 and SI-5792 13 | local source="${BASH_SOURCE[0]}" 14 | while [ -h "$source" ] ; do 15 | local linked="$(readlink "$source")" 16 | local dir="$( cd -P $(dirname "$source") && cd -P $(dirname "$linked") && pwd )" 17 | source="$dir/$(basename "$linked")" 18 | done 19 | ( cd -P "$(dirname "$source")/.." && pwd ) 20 | } 21 | execCommand () { 22 | [[ -n $SCALA_RUNNER_DEBUG ]] && echo "" && for arg in "$@"; do echo "$arg"; done && echo ""; 23 | "$@" 24 | } 25 | 26 | # Not sure what the right default is here: trying nonzero. 27 | scala_exit_status=127 28 | saved_stty="" 29 | 30 | # restore stty settings (echo in particular) 31 | function restoreSttySettings() { 32 | if [[ -n $SCALA_RUNNER_DEBUG ]]; then 33 | echo "restoring stty:" 34 | echo "$saved_stty" 35 | fi 36 | 37 | stty $saved_stty 38 | saved_stty="" 39 | } 40 | 41 | function onExit() { 42 | [[ "$saved_stty" != "" ]] && restoreSttySettings 43 | exit $scala_exit_status 44 | } 45 | 46 | # to reenable echo if we are interrupted before completing. 47 | trap onExit INT 48 | 49 | # save terminal settings 50 | saved_stty=$(stty -g 2>/dev/null) 51 | # clear on error so we don't later try to restore them 52 | if [[ ! $? ]]; then 53 | saved_stty="" 54 | fi 55 | if [[ -n $SCALA_RUNNER_DEBUG ]]; then 56 | echo "saved stty:" 57 | echo "$saved_stty" 58 | fi 59 | 60 | unset cygwin 61 | if uname | grep -q ^CYGWIN; then 62 | cygwin="$(uname)" 63 | fi 64 | 65 | unset mingw 66 | if uname | grep -q ^MINGW; then 67 | mingw="$(uname)" 68 | fi 69 | 70 | # Finding the root folder for this Scala distribution 71 | SCALA_HOME="$(findScalaHome)" 72 | SEP=":" 73 | 74 | # Possible additional command line options 75 | WINDOWS_OPT="" 76 | EMACS_OPT="-Denv.emacs=$EMACS" 77 | 78 | # Remove spaces from SCALA_HOME on windows 79 | if [[ -n "$cygwin" ]]; then 80 | SCALA_HOME="$(shome="$(cygpath --windows --short-name "$SCALA_HOME")" ; cygpath --unix "$shome")" 81 | # elif uname |grep -q ^MINGW; then 82 | # SEP=";" 83 | fi 84 | 85 | # Constructing the extension classpath 86 | TOOL_CLASSPATH="" 87 | if [[ -z "$TOOL_CLASSPATH" ]]; then 88 | for ext in "$SCALA_HOME"/lib/* ; do 89 | file_extension="${ext##*.}" 90 | # SI-8967 Only consider directories and files named '*.jar' 91 | if [[ -d "$ext" || $file_extension == "jar" ]]; then 92 | if [[ -z "$TOOL_CLASSPATH" ]]; then 93 | TOOL_CLASSPATH="$ext" 94 | else 95 | TOOL_CLASSPATH="${TOOL_CLASSPATH}${SEP}${ext}" 96 | fi 97 | fi 98 | done 99 | fi 100 | 101 | if [[ -n "$cygwin" ]]; then 102 | if [[ "$OS" = "Windows_NT" ]] && cygpath -m .>/dev/null 2>/dev/null ; then 103 | format=mixed 104 | else 105 | format=windows 106 | fi 107 | SCALA_HOME="$(cygpath --$format "$SCALA_HOME")" 108 | if [[ -n "$JAVA_HOME" ]]; then 109 | JAVA_HOME="$(cygpath --$format "$JAVA_HOME")" 110 | fi 111 | TOOL_CLASSPATH="$(cygpath --path --$format "$TOOL_CLASSPATH")" 112 | fi 113 | 114 | if [[ -n "$cygwin$mingw" ]]; then 115 | case "$TERM" in 116 | rxvt* | xterm*) 117 | stty -icanon min 1 -echo 118 | WINDOWS_OPT="-Djline.terminal=unix" 119 | ;; 120 | esac 121 | fi 122 | 123 | [[ -n "$JAVA_OPTS" ]] || JAVA_OPTS="-Xmx256M -Xms32M" 124 | 125 | # break out -D and -J options and add them to JAVA_OPTS as well 126 | # so they reach the underlying JVM in time to do some good. The 127 | # -D options will be available as system properties. 128 | declare -a java_args 129 | declare -a scala_args 130 | 131 | # SI-8358, SI-8368 -- the default should really be false, 132 | # but I don't want to flip the default during 2.11's RC cycle 133 | OVERRIDE_USEJAVACP="-Dscala.usejavacp=true" 134 | 135 | while [[ $# -gt 0 ]]; do 136 | case "$1" in 137 | -D*) 138 | # pass to scala as well: otherwise we lose it sometimes when we 139 | # need it, e.g. communicating with a server compiler. 140 | java_args+=("$1") 141 | scala_args+=("$1") 142 | # respect user-supplied -Dscala.usejavacp 143 | case "$1" in -Dscala.usejavacp*) OVERRIDE_USEJAVACP="";; esac 144 | shift 145 | ;; 146 | -J*) 147 | # as with -D, pass to scala even though it will almost 148 | # never be used. 149 | java_args+=("${1:2}") 150 | scala_args+=("$1") 151 | shift 152 | ;; 153 | -toolcp) 154 | TOOL_CLASSPATH="${TOOL_CLASSPATH}${SEP}${2}" 155 | shift 2 156 | ;; 157 | -nobootcp) 158 | unset usebootcp 159 | shift 160 | ;; 161 | -usebootcp) 162 | usebootcp="true" 163 | shift 164 | ;; 165 | -debug) 166 | SCALA_RUNNER_DEBUG=1 167 | shift 168 | ;; 169 | *) 170 | scala_args+=("$1") 171 | shift 172 | ;; 173 | esac 174 | done 175 | 176 | # reset "$@" to the remaining args 177 | set -- "${scala_args[@]}" 178 | 179 | if [[ -z "$JAVACMD" && -n "$JAVA_HOME" && -x "$JAVA_HOME/bin/java" ]]; then 180 | JAVACMD="$JAVA_HOME/bin/java" 181 | fi 182 | 183 | declare -a classpath_args 184 | 185 | # default to the boot classpath for speed, except on cygwin/mingw because 186 | # JLine on Windows requires a custom DLL to be loaded. 187 | unset usebootcp 188 | if [[ -z "$cygwin$mingw" ]]; then 189 | usebootcp="true" 190 | fi 191 | 192 | # If using the boot classpath, also pass an empty classpath 193 | # to java to suppress "." from materializing. 194 | if [[ -n $usebootcp ]]; then 195 | classpath_args=("-Xbootclasspath/a:$TOOL_CLASSPATH" -classpath "\"\"") 196 | else 197 | classpath_args=(-classpath "$TOOL_CLASSPATH") 198 | fi 199 | 200 | # note that variables which may intentionally be empty must not 201 | # be quoted: otherwise an empty string will appear as a command line 202 | # argument, and java will think that is the program to run. 203 | execCommand \ 204 | "${JAVACMD:=java}" \ 205 | $JAVA_OPTS \ 206 | "${java_args[@]}" \ 207 | "${classpath_args[@]}" \ 208 | -Dscala.home="$SCALA_HOME" \ 209 | $OVERRIDE_USEJAVACP \ 210 | "$EMACS_OPT" \ 211 | $WINDOWS_OPT \ 212 | scala.tools.nsc.ScalaDoc "$@" 213 | 214 | # record the exit status lest it be overwritten: 215 | # then reenable echo and propagate the code. 216 | scala_exit_status=$? 217 | onExit 218 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/bin/scaladoc.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | rem ########################################################################## 4 | rem # Copyright 2002-2013 LAMP/EPFL 5 | rem # 6 | rem # This is free software; see the distribution for copying conditions. 7 | rem # There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A 8 | rem # PARTICULAR PURPOSE. 9 | rem ########################################################################## 10 | 11 | setlocal enableextensions enabledelayedexpansion 12 | 13 | set _LINE_TOOLCP= 14 | 15 | rem Use "%~1" to handle spaces in paths. See http://ss64.com/nt/syntax-args.html 16 | rem SI-7295 The goto here is needed to avoid problems with `scala Script.cmd "arg(with)paren"`, 17 | rem we must not evaluate %~2 eagerly, but delayed expansion doesn't seem to allow 18 | rem removal of quotation marks. 19 | if not [%~1]==[-toolcp] ( 20 | goto :notoolcp 21 | ) 22 | shift 23 | set _LINE_TOOLCP=%~1 24 | shift 25 | 26 | :notoolcp 27 | 28 | rem SI-8358, SI-8368 -- the default should really be false, 29 | rem but I don't want to flip the default during 2.11's RC cycle 30 | set _OVERRIDE_USEJAVACP="-Dscala.usejavacp=true" 31 | 32 | rem We keep in _JAVA_PARAMS all -J-prefixed and -D-prefixed arguments 33 | set _JAVA_PARAMS= 34 | 35 | if [%1]==[] goto param_afterloop 36 | set _TEST_PARAM=%~1 37 | if not "%_TEST_PARAM:~0,1%"=="-" goto param_afterloop 38 | 39 | rem ignore -e "scala code" 40 | if "%_TEST_PARAM:~0,2%"=="-e" ( 41 | shift 42 | shift 43 | if [%1]==[] goto param_afterloop 44 | ) 45 | 46 | set _TEST_PARAM=%~1 47 | if "%_TEST_PARAM:~0,2%"=="-J" ( 48 | set _JAVA_PARAMS=%_TEST_PARAM:~2% 49 | ) 50 | 51 | if "%_TEST_PARAM:~0,2%"=="-D" ( 52 | rem Only match beginning of the -D option. The relevant bit is 17 chars long. 53 | if "%_TEST_PARAM:~0,17%"=="-Dscala.usejavacp" ( 54 | set _OVERRIDE_USEJAVACP= 55 | ) 56 | rem test if this was double-quoted property "-Dprop=42" 57 | for /F "delims== tokens=1-2" %%G in ("%_TEST_PARAM%") DO ( 58 | if not "%%G" == "%_TEST_PARAM%" ( 59 | rem double quoted: "-Dprop=42" -> -Dprop="42" 60 | set _JAVA_PARAMS=%%G="%%H" 61 | ) else if [%2] neq [] ( 62 | rem it was a normal property: -Dprop=42 or -Drop="42" 63 | set _JAVA_PARAMS=%_TEST_PARAM%=%2 64 | shift 65 | ) 66 | ) 67 | ) 68 | 69 | :param_loop 70 | shift 71 | 72 | if [%1]==[] goto param_afterloop 73 | set _TEST_PARAM=%~1 74 | if not "%_TEST_PARAM:~0,1%"=="-" goto param_afterloop 75 | 76 | rem ignore -e "scala code" 77 | if "%_TEST_PARAM:~0,2%"=="-e" ( 78 | shift 79 | shift 80 | if [%1]==[] goto param_afterloop 81 | ) 82 | 83 | set _TEST_PARAM=%~1 84 | if "%_TEST_PARAM:~0,2%"=="-J" ( 85 | set _JAVA_PARAMS=%_JAVA_PARAMS% %_TEST_PARAM:~2% 86 | ) 87 | 88 | if "%_TEST_PARAM:~0,2%"=="-D" ( 89 | rem test if this was double-quoted property "-Dprop=42" 90 | for /F "delims== tokens=1-2" %%G in ("%_TEST_PARAM%") DO ( 91 | if not "%%G" == "%_TEST_PARAM%" ( 92 | rem double quoted: "-Dprop=42" -> -Dprop="42" 93 | set _JAVA_PARAMS=%_JAVA_PARAMS% %%G="%%H" 94 | ) else if [%2] neq [] ( 95 | rem it was a normal property: -Dprop=42 or -Drop="42" 96 | set _JAVA_PARAMS=%_JAVA_PARAMS% %_TEST_PARAM%=%2 97 | shift 98 | ) 99 | ) 100 | ) 101 | goto param_loop 102 | :param_afterloop 103 | 104 | if "%OS%" NEQ "Windows_NT" ( 105 | echo "Warning, your version of Windows is not supported. Attempting to start scala anyway." 106 | ) 107 | 108 | @setlocal 109 | call :set_home 110 | 111 | rem We use the value of the JAVACMD environment variable if defined 112 | set _JAVACMD=%JAVACMD% 113 | 114 | if not defined _JAVACMD ( 115 | if not "%JAVA_HOME%"=="" ( 116 | if exist "%JAVA_HOME%\bin\java.exe" set "_JAVACMD=%JAVA_HOME%\bin\java.exe" 117 | ) 118 | ) 119 | 120 | if "%_JAVACMD%"=="" set _JAVACMD=java 121 | 122 | rem We use the value of the JAVA_OPTS environment variable if defined 123 | set _JAVA_OPTS=%JAVA_OPTS% 124 | if not defined _JAVA_OPTS set _JAVA_OPTS=-Xmx256M -Xms32M 125 | 126 | rem We append _JAVA_PARAMS java arguments to JAVA_OPTS if necessary 127 | if defined _JAVA_PARAMS set _JAVA_OPTS=%_JAVA_OPTS% %_JAVA_PARAMS% 128 | 129 | set _TOOL_CLASSPATH= 130 | if "%_TOOL_CLASSPATH%"=="" ( 131 | for %%f in ("!_SCALA_HOME!\lib\*.jar") do call :add_cpath "%%f" 132 | for /d %%f in ("!_SCALA_HOME!\lib\*") do call :add_cpath "%%f" 133 | ) 134 | 135 | if not "%_LINE_TOOLCP%"=="" call :add_cpath "%_LINE_TOOLCP%" 136 | 137 | set _PROPS=-Dscala.home="!_SCALA_HOME!" -Denv.emacs="%EMACS%" %_OVERRIDE_USEJAVACP% 138 | 139 | rem echo "%_JAVACMD%" %_JAVA_OPTS% %_PROPS% -cp "%_TOOL_CLASSPATH%" scala.tools.nsc.ScalaDoc %* 140 | "%_JAVACMD%" %_JAVA_OPTS% %_PROPS% -cp "%_TOOL_CLASSPATH%" scala.tools.nsc.ScalaDoc %* 141 | goto end 142 | 143 | rem ########################################################################## 144 | rem # subroutines 145 | 146 | :add_cpath 147 | if "%_TOOL_CLASSPATH%"=="" ( 148 | set _TOOL_CLASSPATH=%~1 149 | ) else ( 150 | set _TOOL_CLASSPATH=%_TOOL_CLASSPATH%;%~1 151 | ) 152 | goto :eof 153 | 154 | rem Variable "%~dps0" works on WinXP SP2 or newer 155 | rem (see http://support.microsoft.com/?kbid=833431) 156 | rem set _SCALA_HOME=%~dps0.. 157 | :set_home 158 | set _BIN_DIR= 159 | for %%i in (%~sf0) do set _BIN_DIR=%_BIN_DIR%%%~dpsi 160 | set _SCALA_HOME=%_BIN_DIR%.. 161 | goto :eof 162 | 163 | :end 164 | @endlocal 165 | 166 | REM exit code fix, see http://stackoverflow.com/questions/4632891/exiting-batch-with-exit-b-x-where-x-1-acts-as-if-command-completed-successfu 167 | @"%COMSPEC%" /C exit %errorlevel% >nul 168 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/bin/scalap: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | ############################################################################## 4 | # Copyright 2002-2013 LAMP/EPFL 5 | # 6 | # This is free software; see the distribution for copying conditions. 7 | # There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A 8 | # PARTICULAR PURPOSE. 9 | ############################################################################## 10 | 11 | findScalaHome () { 12 | # see SI-2092 and SI-5792 13 | local source="${BASH_SOURCE[0]}" 14 | while [ -h "$source" ] ; do 15 | local linked="$(readlink "$source")" 16 | local dir="$( cd -P $(dirname "$source") && cd -P $(dirname "$linked") && pwd )" 17 | source="$dir/$(basename "$linked")" 18 | done 19 | ( cd -P "$(dirname "$source")/.." && pwd ) 20 | } 21 | execCommand () { 22 | [[ -n $SCALA_RUNNER_DEBUG ]] && echo "" && for arg in "$@"; do echo "$arg"; done && echo ""; 23 | "$@" 24 | } 25 | 26 | # Not sure what the right default is here: trying nonzero. 27 | scala_exit_status=127 28 | saved_stty="" 29 | 30 | # restore stty settings (echo in particular) 31 | function restoreSttySettings() { 32 | if [[ -n $SCALA_RUNNER_DEBUG ]]; then 33 | echo "restoring stty:" 34 | echo "$saved_stty" 35 | fi 36 | 37 | stty $saved_stty 38 | saved_stty="" 39 | } 40 | 41 | function onExit() { 42 | [[ "$saved_stty" != "" ]] && restoreSttySettings 43 | exit $scala_exit_status 44 | } 45 | 46 | # to reenable echo if we are interrupted before completing. 47 | trap onExit INT 48 | 49 | # save terminal settings 50 | saved_stty=$(stty -g 2>/dev/null) 51 | # clear on error so we don't later try to restore them 52 | if [[ ! $? ]]; then 53 | saved_stty="" 54 | fi 55 | if [[ -n $SCALA_RUNNER_DEBUG ]]; then 56 | echo "saved stty:" 57 | echo "$saved_stty" 58 | fi 59 | 60 | unset cygwin 61 | if uname | grep -q ^CYGWIN; then 62 | cygwin="$(uname)" 63 | fi 64 | 65 | unset mingw 66 | if uname | grep -q ^MINGW; then 67 | mingw="$(uname)" 68 | fi 69 | 70 | # Finding the root folder for this Scala distribution 71 | SCALA_HOME="$(findScalaHome)" 72 | SEP=":" 73 | 74 | # Possible additional command line options 75 | WINDOWS_OPT="" 76 | EMACS_OPT="-Denv.emacs=$EMACS" 77 | 78 | # Remove spaces from SCALA_HOME on windows 79 | if [[ -n "$cygwin" ]]; then 80 | SCALA_HOME="$(shome="$(cygpath --windows --short-name "$SCALA_HOME")" ; cygpath --unix "$shome")" 81 | # elif uname |grep -q ^MINGW; then 82 | # SEP=";" 83 | fi 84 | 85 | # Constructing the extension classpath 86 | TOOL_CLASSPATH="" 87 | if [[ -z "$TOOL_CLASSPATH" ]]; then 88 | for ext in "$SCALA_HOME"/lib/* ; do 89 | file_extension="${ext##*.}" 90 | # SI-8967 Only consider directories and files named '*.jar' 91 | if [[ -d "$ext" || $file_extension == "jar" ]]; then 92 | if [[ -z "$TOOL_CLASSPATH" ]]; then 93 | TOOL_CLASSPATH="$ext" 94 | else 95 | TOOL_CLASSPATH="${TOOL_CLASSPATH}${SEP}${ext}" 96 | fi 97 | fi 98 | done 99 | fi 100 | 101 | if [[ -n "$cygwin" ]]; then 102 | if [[ "$OS" = "Windows_NT" ]] && cygpath -m .>/dev/null 2>/dev/null ; then 103 | format=mixed 104 | else 105 | format=windows 106 | fi 107 | SCALA_HOME="$(cygpath --$format "$SCALA_HOME")" 108 | if [[ -n "$JAVA_HOME" ]]; then 109 | JAVA_HOME="$(cygpath --$format "$JAVA_HOME")" 110 | fi 111 | TOOL_CLASSPATH="$(cygpath --path --$format "$TOOL_CLASSPATH")" 112 | fi 113 | 114 | if [[ -n "$cygwin$mingw" ]]; then 115 | case "$TERM" in 116 | rxvt* | xterm*) 117 | stty -icanon min 1 -echo 118 | WINDOWS_OPT="-Djline.terminal=unix" 119 | ;; 120 | esac 121 | fi 122 | 123 | [[ -n "$JAVA_OPTS" ]] || JAVA_OPTS="-Xmx256M -Xms32M" 124 | 125 | # break out -D and -J options and add them to JAVA_OPTS as well 126 | # so they reach the underlying JVM in time to do some good. The 127 | # -D options will be available as system properties. 128 | declare -a java_args 129 | declare -a scala_args 130 | 131 | # SI-8358, SI-8368 -- the default should really be false, 132 | # but I don't want to flip the default during 2.11's RC cycle 133 | OVERRIDE_USEJAVACP="-Dscala.usejavacp=true" 134 | 135 | while [[ $# -gt 0 ]]; do 136 | case "$1" in 137 | -D*) 138 | # pass to scala as well: otherwise we lose it sometimes when we 139 | # need it, e.g. communicating with a server compiler. 140 | java_args+=("$1") 141 | scala_args+=("$1") 142 | # respect user-supplied -Dscala.usejavacp 143 | case "$1" in -Dscala.usejavacp*) OVERRIDE_USEJAVACP="";; esac 144 | shift 145 | ;; 146 | -J*) 147 | # as with -D, pass to scala even though it will almost 148 | # never be used. 149 | java_args+=("${1:2}") 150 | scala_args+=("$1") 151 | shift 152 | ;; 153 | -toolcp) 154 | TOOL_CLASSPATH="${TOOL_CLASSPATH}${SEP}${2}" 155 | shift 2 156 | ;; 157 | -nobootcp) 158 | unset usebootcp 159 | shift 160 | ;; 161 | -usebootcp) 162 | usebootcp="true" 163 | shift 164 | ;; 165 | -debug) 166 | SCALA_RUNNER_DEBUG=1 167 | shift 168 | ;; 169 | *) 170 | scala_args+=("$1") 171 | shift 172 | ;; 173 | esac 174 | done 175 | 176 | # reset "$@" to the remaining args 177 | set -- "${scala_args[@]}" 178 | 179 | if [[ -z "$JAVACMD" && -n "$JAVA_HOME" && -x "$JAVA_HOME/bin/java" ]]; then 180 | JAVACMD="$JAVA_HOME/bin/java" 181 | fi 182 | 183 | declare -a classpath_args 184 | 185 | # default to the boot classpath for speed, except on cygwin/mingw because 186 | # JLine on Windows requires a custom DLL to be loaded. 187 | unset usebootcp 188 | if [[ -z "$cygwin$mingw" ]]; then 189 | usebootcp="true" 190 | fi 191 | 192 | # If using the boot classpath, also pass an empty classpath 193 | # to java to suppress "." from materializing. 194 | if [[ -n $usebootcp ]]; then 195 | classpath_args=("-Xbootclasspath/a:$TOOL_CLASSPATH" -classpath "\"\"") 196 | else 197 | classpath_args=(-classpath "$TOOL_CLASSPATH") 198 | fi 199 | 200 | # note that variables which may intentionally be empty must not 201 | # be quoted: otherwise an empty string will appear as a command line 202 | # argument, and java will think that is the program to run. 203 | execCommand \ 204 | "${JAVACMD:=java}" \ 205 | $JAVA_OPTS \ 206 | "${java_args[@]}" \ 207 | "${classpath_args[@]}" \ 208 | -Dscala.home="$SCALA_HOME" \ 209 | $OVERRIDE_USEJAVACP \ 210 | "$EMACS_OPT" \ 211 | $WINDOWS_OPT \ 212 | scala.tools.scalap.Main "$@" 213 | 214 | # record the exit status lest it be overwritten: 215 | # then reenable echo and propagate the code. 216 | scala_exit_status=$? 217 | onExit 218 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/bin/scalap.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | rem ########################################################################## 4 | rem # Copyright 2002-2013 LAMP/EPFL 5 | rem # 6 | rem # This is free software; see the distribution for copying conditions. 7 | rem # There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A 8 | rem # PARTICULAR PURPOSE. 9 | rem ########################################################################## 10 | 11 | setlocal enableextensions enabledelayedexpansion 12 | 13 | set _LINE_TOOLCP= 14 | 15 | rem Use "%~1" to handle spaces in paths. See http://ss64.com/nt/syntax-args.html 16 | rem SI-7295 The goto here is needed to avoid problems with `scala Script.cmd "arg(with)paren"`, 17 | rem we must not evaluate %~2 eagerly, but delayed expansion doesn't seem to allow 18 | rem removal of quotation marks. 19 | if not [%~1]==[-toolcp] ( 20 | goto :notoolcp 21 | ) 22 | shift 23 | set _LINE_TOOLCP=%~1 24 | shift 25 | 26 | :notoolcp 27 | 28 | rem SI-8358, SI-8368 -- the default should really be false, 29 | rem but I don't want to flip the default during 2.11's RC cycle 30 | set _OVERRIDE_USEJAVACP="-Dscala.usejavacp=true" 31 | 32 | rem We keep in _JAVA_PARAMS all -J-prefixed and -D-prefixed arguments 33 | set _JAVA_PARAMS= 34 | 35 | if [%1]==[] goto param_afterloop 36 | set _TEST_PARAM=%~1 37 | if not "%_TEST_PARAM:~0,1%"=="-" goto param_afterloop 38 | 39 | rem ignore -e "scala code" 40 | if "%_TEST_PARAM:~0,2%"=="-e" ( 41 | shift 42 | shift 43 | if [%1]==[] goto param_afterloop 44 | ) 45 | 46 | set _TEST_PARAM=%~1 47 | if "%_TEST_PARAM:~0,2%"=="-J" ( 48 | set _JAVA_PARAMS=%_TEST_PARAM:~2% 49 | ) 50 | 51 | if "%_TEST_PARAM:~0,2%"=="-D" ( 52 | rem Only match beginning of the -D option. The relevant bit is 17 chars long. 53 | if "%_TEST_PARAM:~0,17%"=="-Dscala.usejavacp" ( 54 | set _OVERRIDE_USEJAVACP= 55 | ) 56 | rem test if this was double-quoted property "-Dprop=42" 57 | for /F "delims== tokens=1-2" %%G in ("%_TEST_PARAM%") DO ( 58 | if not "%%G" == "%_TEST_PARAM%" ( 59 | rem double quoted: "-Dprop=42" -> -Dprop="42" 60 | set _JAVA_PARAMS=%%G="%%H" 61 | ) else if [%2] neq [] ( 62 | rem it was a normal property: -Dprop=42 or -Drop="42" 63 | set _JAVA_PARAMS=%_TEST_PARAM%=%2 64 | shift 65 | ) 66 | ) 67 | ) 68 | 69 | :param_loop 70 | shift 71 | 72 | if [%1]==[] goto param_afterloop 73 | set _TEST_PARAM=%~1 74 | if not "%_TEST_PARAM:~0,1%"=="-" goto param_afterloop 75 | 76 | rem ignore -e "scala code" 77 | if "%_TEST_PARAM:~0,2%"=="-e" ( 78 | shift 79 | shift 80 | if [%1]==[] goto param_afterloop 81 | ) 82 | 83 | set _TEST_PARAM=%~1 84 | if "%_TEST_PARAM:~0,2%"=="-J" ( 85 | set _JAVA_PARAMS=%_JAVA_PARAMS% %_TEST_PARAM:~2% 86 | ) 87 | 88 | if "%_TEST_PARAM:~0,2%"=="-D" ( 89 | rem test if this was double-quoted property "-Dprop=42" 90 | for /F "delims== tokens=1-2" %%G in ("%_TEST_PARAM%") DO ( 91 | if not "%%G" == "%_TEST_PARAM%" ( 92 | rem double quoted: "-Dprop=42" -> -Dprop="42" 93 | set _JAVA_PARAMS=%_JAVA_PARAMS% %%G="%%H" 94 | ) else if [%2] neq [] ( 95 | rem it was a normal property: -Dprop=42 or -Drop="42" 96 | set _JAVA_PARAMS=%_JAVA_PARAMS% %_TEST_PARAM%=%2 97 | shift 98 | ) 99 | ) 100 | ) 101 | goto param_loop 102 | :param_afterloop 103 | 104 | if "%OS%" NEQ "Windows_NT" ( 105 | echo "Warning, your version of Windows is not supported. Attempting to start scala anyway." 106 | ) 107 | 108 | @setlocal 109 | call :set_home 110 | 111 | rem We use the value of the JAVACMD environment variable if defined 112 | set _JAVACMD=%JAVACMD% 113 | 114 | if not defined _JAVACMD ( 115 | if not "%JAVA_HOME%"=="" ( 116 | if exist "%JAVA_HOME%\bin\java.exe" set "_JAVACMD=%JAVA_HOME%\bin\java.exe" 117 | ) 118 | ) 119 | 120 | if "%_JAVACMD%"=="" set _JAVACMD=java 121 | 122 | rem We use the value of the JAVA_OPTS environment variable if defined 123 | set _JAVA_OPTS=%JAVA_OPTS% 124 | if not defined _JAVA_OPTS set _JAVA_OPTS=-Xmx256M -Xms32M 125 | 126 | rem We append _JAVA_PARAMS java arguments to JAVA_OPTS if necessary 127 | if defined _JAVA_PARAMS set _JAVA_OPTS=%_JAVA_OPTS% %_JAVA_PARAMS% 128 | 129 | set _TOOL_CLASSPATH= 130 | if "%_TOOL_CLASSPATH%"=="" ( 131 | for %%f in ("!_SCALA_HOME!\lib\*.jar") do call :add_cpath "%%f" 132 | for /d %%f in ("!_SCALA_HOME!\lib\*") do call :add_cpath "%%f" 133 | ) 134 | 135 | if not "%_LINE_TOOLCP%"=="" call :add_cpath "%_LINE_TOOLCP%" 136 | 137 | set _PROPS=-Dscala.home="!_SCALA_HOME!" -Denv.emacs="%EMACS%" %_OVERRIDE_USEJAVACP% 138 | 139 | rem echo "%_JAVACMD%" %_JAVA_OPTS% %_PROPS% -cp "%_TOOL_CLASSPATH%" scala.tools.scalap.Main %* 140 | "%_JAVACMD%" %_JAVA_OPTS% %_PROPS% -cp "%_TOOL_CLASSPATH%" scala.tools.scalap.Main %* 141 | goto end 142 | 143 | rem ########################################################################## 144 | rem # subroutines 145 | 146 | :add_cpath 147 | if "%_TOOL_CLASSPATH%"=="" ( 148 | set _TOOL_CLASSPATH=%~1 149 | ) else ( 150 | set _TOOL_CLASSPATH=%_TOOL_CLASSPATH%;%~1 151 | ) 152 | goto :eof 153 | 154 | rem Variable "%~dps0" works on WinXP SP2 or newer 155 | rem (see http://support.microsoft.com/?kbid=833431) 156 | rem set _SCALA_HOME=%~dps0.. 157 | :set_home 158 | set _BIN_DIR= 159 | for %%i in (%~sf0) do set _BIN_DIR=%_BIN_DIR%%%~dpsi 160 | set _SCALA_HOME=%_BIN_DIR%.. 161 | goto :eof 162 | 163 | :end 164 | @endlocal 165 | 166 | REM exit code fix, see http://stackoverflow.com/questions/4632891/exiting-batch-with-exit-b-x-where-x-1-acts-as-if-command-completed-successfu 167 | @"%COMSPEC%" /C exit %errorlevel% >nul 168 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/doc/LICENSE.md: -------------------------------------------------------------------------------- 1 | Scala is licensed under the [BSD 3-Clause License](http://opensource.org/licenses/BSD-3-Clause). 2 | 3 | ## Scala License 4 | 5 | Copyright (c) 2002-2013 EPFL 6 | 7 | Copyright (c) 2011-2013 Typesafe, Inc. 8 | 9 | All rights reserved. 10 | 11 | Redistribution and use in source and binary forms, with or without modification, 12 | are permitted provided that the following conditions are met: 13 | 14 | * Redistributions of source code must retain the above copyright notice, 15 | this list of conditions and the following disclaimer. 16 | * Redistributions in binary form must reproduce the above copyright notice, 17 | this list of conditions and the following disclaimer in the documentation 18 | and/or other materials provided with the distribution. 19 | * Neither the name of the EPFL nor the names of its contributors 20 | may be used to endorse or promote products derived from this software 21 | without specific prior written permission. 22 | 23 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 24 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 25 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 26 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 27 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 28 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 29 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 30 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 31 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 32 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 33 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 | 35 | # Other Licenses 36 | 37 | This software includes projects with the following licenses, 38 | which are also included in the `licenses/` directory: 39 | 40 | ### [Apache License](http://www.apache.org/licenses/LICENSE-2.0.html) 41 | This license is used by the following third-party libraries: 42 | 43 | * jansi 44 | 45 | ### [BSD License](http://www.opensource.org/licenses/bsd-license.php) 46 | This license is used by the following third-party libraries: 47 | 48 | * jline 49 | 50 | ### [BSD 3-Clause License](http://opensource.org/licenses/BSD-3-Clause) 51 | This license is used by the following third-party libraries: 52 | 53 | * asm 54 | 55 | ### [MIT License](http://www.opensource.org/licenses/MIT) 56 | This license is used by the following third-party libraries: 57 | 58 | * jquery 59 | * jquery-ui 60 | * jquery-layout 61 | * sizzle 62 | * tools tooltip 63 | 64 | ### Public Domain 65 | The following libraries are freely available in the public domain: 66 | 67 | * forkjoin 68 | 69 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/doc/License.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 2 | {\fonttbl\f0\fswiss\fcharset0 Helvetica;} 3 | {\colortbl;\red255\green255\blue255;} 4 | \margl1440\margr1440\vieww25140\viewh18960\viewkind0 5 | \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural 6 | 7 | \f0\fs26 \cf0 Scala is licensed under the {\field{\*\fldinst{HYPERLINK "http://opensource.org/licenses/BSD-3-Clause"}}{\fldrslt BSD 3-Clause License}}.\ 8 | \ 9 | 10 | \fs48 Scala License 11 | \fs40 \ 12 | 13 | \fs26 Copyright (c) 2002-2013 EPFL\ 14 | Copyright (c) 2011-2013 Typesafe, Inc.\ 15 | All rights reserved.\ 16 | \ 17 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\ 18 | \'95 Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\ 19 | \'95 Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\ 20 | \'95 Neither the name of the EPFL nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\ 21 | \ 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \'93AS IS\'94 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\ 23 | 24 | \fs52 \ 25 | 26 | \fs48 Other Licenses 27 | \fs52 \ 28 | 29 | \fs26 This software includes projects with the following licenses, which are also included in the 30 | \fs24 licenses/ 31 | \fs26 directory:\ 32 | 33 | \fs30 \ 34 | {\field{\*\fldinst{HYPERLINK "http://www.apache.org/licenses/LICENSE-2.0.html"}}{\fldrslt Apache License}}\ 35 | 36 | \fs26 This license is used by the following third-party libraries:\ 37 | \'95 jansi\ 38 | 39 | \fs30 \ 40 | {\field{\*\fldinst{HYPERLINK "http://www.opensource.org/licenses/bsd-license.php"}}{\fldrslt BSD License}}\ 41 | 42 | \fs26 This license is used by the following third-party libraries:\ 43 | \'95 jline\ 44 | 45 | \fs30 \ 46 | {\field{\*\fldinst{HYPERLINK "http://opensource.org/licenses/BSD-3-Clause"}}{\fldrslt BSD 3-Clause License}}\ 47 | 48 | \fs26 This license is used by the following third-party libraries:\ 49 | \'95 asm\ 50 | 51 | \fs30 \ 52 | {\field{\*\fldinst{HYPERLINK "http://www.opensource.org/licenses/MIT"}}{\fldrslt MIT License}}\ 53 | 54 | \fs26 This license is used by the following third-party libraries:\ 55 | \'95 jquery\ 56 | \'95 jquery-ui\ 57 | \'95 jquery-layout\ 58 | \'95 sizzle\ 59 | \'95 tools tooltip\ 60 | 61 | \fs30 \ 62 | Public Domain\ 63 | 64 | \fs26 The following libraries are freely available in the public domain:\ 65 | \'95 forkjoin} -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/doc/README: -------------------------------------------------------------------------------- 1 | Scala Distribution 2 | ------------------ 3 | 4 | The Scala distribution requires Java 1.6 or above. 5 | 6 | Please report bugs at https://issues.scala-lang.org/. 7 | We welcome contributions at https://github.com/scala/scala! 8 | 9 | Scala Tools 10 | ----------- 11 | 12 | - scala Scala interactive interpreter 13 | - scalac Scala compiler 14 | - fsc Scala resident compiler 15 | - scaladoc Scala API documentation generator 16 | - scalap Scala classfile decoder 17 | 18 | Run the command "scalac -help" to display the list of available 19 | compiler options. 20 | 21 | 22 | Installation 23 | ------------ 24 | 25 | Decompress the archive and run the above commands directly from `bin` directory. 26 | We recommend adding the full path of the `bin` directory to the `PATH` 27 | environment variable. 28 | 29 | 30 | Licenses 31 | -------- 32 | 33 | Scala is licensed under the standard 3-clause BSD license, 34 | included in the distribution as the file `doc/LICENSE`. 35 | The licenses of the software included in the Scala distribution can 36 | be found in the `doc/licenses` directory. -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/doc/licenses/apache_jansi.txt: -------------------------------------------------------------------------------- 1 | Scala includes the JLine library, which includes the Jansi library. 2 | 3 | Apache License 4 | Version 2.0, January 2004 5 | http://www.apache.org/licenses/ 6 | 7 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 8 | 9 | 1. Definitions. 10 | 11 | "License" shall mean the terms and conditions for use, reproduction, 12 | and distribution as defined by Sections 1 through 9 of this document. 13 | 14 | "Licensor" shall mean the copyright owner or entity authorized by 15 | the copyright owner that is granting the License. 16 | 17 | "Legal Entity" shall mean the union of the acting entity and all 18 | other entities that control, are controlled by, or are under common 19 | control with that entity. For the purposes of this definition, 20 | "control" means (i) the power, direct or indirect, to cause the 21 | direction or management of such entity, whether by contract or 22 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 23 | outstanding shares, or (iii) beneficial ownership of such entity. 24 | 25 | "You" (or "Your") shall mean an individual or Legal Entity 26 | exercising permissions granted by this License. 27 | 28 | "Source" form shall mean the preferred form for making modifications, 29 | including but not limited to software source code, documentation 30 | source, and configuration files. 31 | 32 | "Object" form shall mean any form resulting from mechanical 33 | transformation or translation of a Source form, including but 34 | not limited to compiled object code, generated documentation, 35 | and conversions to other media types. 36 | 37 | "Work" shall mean the work of authorship, whether in Source or 38 | Object form, made available under the License, as indicated by a 39 | copyright notice that is included in or attached to the work 40 | (an example is provided in the Appendix below). 41 | 42 | "Derivative Works" shall mean any work, whether in Source or Object 43 | form, that is based on (or derived from) the Work and for which the 44 | editorial revisions, annotations, elaborations, or other modifications 45 | represent, as a whole, an original work of authorship. For the purposes 46 | of this License, Derivative Works shall not include works that remain 47 | separable from, or merely link (or bind by name) to the interfaces of, 48 | the Work and Derivative Works thereof. 49 | 50 | "Contribution" shall mean any work of authorship, including 51 | the original version of the Work and any modifications or additions 52 | to that Work or Derivative Works thereof, that is intentionally 53 | submitted to Licensor for inclusion in the Work by the copyright owner 54 | or by an individual or Legal Entity authorized to submit on behalf of 55 | the copyright owner. For the purposes of this definition, "submitted" 56 | means any form of electronic, verbal, or written communication sent 57 | to the Licensor or its representatives, including but not limited to 58 | communication on electronic mailing lists, source code control systems, 59 | and issue tracking systems that are managed by, or on behalf of, the 60 | Licensor for the purpose of discussing and improving the Work, but 61 | excluding communication that is conspicuously marked or otherwise 62 | designated in writing by the copyright owner as "Not a Contribution." 63 | 64 | "Contributor" shall mean Licensor and any individual or Legal Entity 65 | on behalf of whom a Contribution has been received by Licensor and 66 | subsequently incorporated within the Work. 67 | 68 | 2. Grant of Copyright License. Subject to the terms and conditions of 69 | this License, each Contributor hereby grants to You a perpetual, 70 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 71 | copyright license to reproduce, prepare Derivative Works of, 72 | publicly display, publicly perform, sublicense, and distribute the 73 | Work and such Derivative Works in Source or Object form. 74 | 75 | 3. Grant of Patent License. Subject to the terms and conditions of 76 | this License, each Contributor hereby grants to You a perpetual, 77 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 78 | (except as stated in this section) patent license to make, have made, 79 | use, offer to sell, sell, import, and otherwise transfer the Work, 80 | where such license applies only to those patent claims licensable 81 | by such Contributor that are necessarily infringed by their 82 | Contribution(s) alone or by combination of their Contribution(s) 83 | with the Work to which such Contribution(s) was submitted. If You 84 | institute patent litigation against any entity (including a 85 | cross-claim or counterclaim in a lawsuit) alleging that the Work 86 | or a Contribution incorporated within the Work constitutes direct 87 | or contributory patent infringement, then any patent licenses 88 | granted to You under this License for that Work shall terminate 89 | as of the date such litigation is filed. 90 | 91 | 4. Redistribution. You may reproduce and distribute copies of the 92 | Work or Derivative Works thereof in any medium, with or without 93 | modifications, and in Source or Object form, provided that You 94 | meet the following conditions: 95 | 96 | (a) You must give any other recipients of the Work or 97 | Derivative Works a copy of this License; and 98 | 99 | (b) You must cause any modified files to carry prominent notices 100 | stating that You changed the files; and 101 | 102 | (c) You must retain, in the Source form of any Derivative Works 103 | that You distribute, all copyright, patent, trademark, and 104 | attribution notices from the Source form of the Work, 105 | excluding those notices that do not pertain to any part of 106 | the Derivative Works; and 107 | 108 | (d) If the Work includes a "NOTICE" text file as part of its 109 | distribution, then any Derivative Works that You distribute must 110 | include a readable copy of the attribution notices contained 111 | within such NOTICE file, excluding those notices that do not 112 | pertain to any part of the Derivative Works, in at least one 113 | of the following places: within a NOTICE text file distributed 114 | as part of the Derivative Works; within the Source form or 115 | documentation, if provided along with the Derivative Works; or, 116 | within a display generated by the Derivative Works, if and 117 | wherever such third-party notices normally appear. The contents 118 | of the NOTICE file are for informational purposes only and 119 | do not modify the License. You may add Your own attribution 120 | notices within Derivative Works that You distribute, alongside 121 | or as an addendum to the NOTICE text from the Work, provided 122 | that such additional attribution notices cannot be construed 123 | as modifying the License. 124 | 125 | You may add Your own copyright statement to Your modifications and 126 | may provide additional or different license terms and conditions 127 | for use, reproduction, or distribution of Your modifications, or 128 | for any such Derivative Works as a whole, provided Your use, 129 | reproduction, and distribution of the Work otherwise complies with 130 | the conditions stated in this License. 131 | 132 | 5. Submission of Contributions. Unless You explicitly state otherwise, 133 | any Contribution intentionally submitted for inclusion in the Work 134 | by You to the Licensor shall be under the terms and conditions of 135 | this License, without any additional terms or conditions. 136 | Notwithstanding the above, nothing herein shall supersede or modify 137 | the terms of any separate license agreement you may have executed 138 | with Licensor regarding such Contributions. 139 | 140 | 6. Trademarks. This License does not grant permission to use the trade 141 | names, trademarks, service marks, or product names of the Licensor, 142 | except as required for reasonable and customary use in describing the 143 | origin of the Work and reproducing the content of the NOTICE file. 144 | 145 | 7. Disclaimer of Warranty. Unless required by applicable law or 146 | agreed to in writing, Licensor provides the Work (and each 147 | Contributor provides its Contributions) on an "AS IS" BASIS, 148 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 149 | implied, including, without limitation, any warranties or conditions 150 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 151 | PARTICULAR PURPOSE. You are solely responsible for determining the 152 | appropriateness of using or redistributing the Work and assume any 153 | risks associated with Your exercise of permissions under this License. 154 | 155 | 8. Limitation of Liability. In no event and under no legal theory, 156 | whether in tort (including negligence), contract, or otherwise, 157 | unless required by applicable law (such as deliberate and grossly 158 | negligent acts) or agreed to in writing, shall any Contributor be 159 | liable to You for damages, including any direct, indirect, special, 160 | incidental, or consequential damages of any character arising as a 161 | result of this License or out of the use or inability to use the 162 | Work (including but not limited to damages for loss of goodwill, 163 | work stoppage, computer failure or malfunction, or any and all 164 | other commercial damages or losses), even if such Contributor 165 | has been advised of the possibility of such damages. 166 | 167 | 9. Accepting Warranty or Additional Liability. While redistributing 168 | the Work or Derivative Works thereof, You may choose to offer, 169 | and charge a fee for, acceptance of support, warranty, indemnity, 170 | or other liability obligations and/or rights consistent with this 171 | License. However, in accepting such obligations, You may act only 172 | on Your own behalf and on Your sole responsibility, not on behalf 173 | of any other Contributor, and only if You agree to indemnify, 174 | defend, and hold each Contributor harmless for any liability 175 | incurred by, or claims asserted against, such Contributor by reason 176 | of your accepting any such warranty or additional liability. 177 | 178 | END OF TERMS AND CONDITIONS 179 | 180 | APPENDIX: How to apply the Apache License to your work. 181 | 182 | To apply the Apache License to your work, attach the following 183 | boilerplate notice, with the fields enclosed by brackets "[]" 184 | replaced with your own identifying information. (Don't include 185 | the brackets!) The text should be enclosed in the appropriate 186 | comment syntax for the file format. We also recommend that a 187 | file or class name and description of purpose be included on the 188 | same "printed page" as the copyright notice for easier 189 | identification within third-party archives. 190 | 191 | Copyright [yyyy] [name of copyright owner] 192 | 193 | Licensed under the Apache License, Version 2.0 (the "License"); 194 | you may not use this file except in compliance with the License. 195 | You may obtain a copy of the License at 196 | 197 | http://www.apache.org/licenses/LICENSE-2.0 198 | 199 | Unless required by applicable law or agreed to in writing, software 200 | distributed under the License is distributed on an "AS IS" BASIS, 201 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 202 | See the License for the specific language governing permissions and 203 | limitations under the License. 204 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/doc/licenses/bsd_asm.txt: -------------------------------------------------------------------------------- 1 | Scala includes the ASM library. 2 | 3 | Copyright (c) 2000-2011 INRIA, France Telecom 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions 8 | are met: 9 | 10 | 1. Redistributions of source code must retain the above copyright 11 | notice, this list of conditions and the following disclaimer. 12 | 13 | 2. Redistributions in binary form must reproduce the above copyright 14 | notice, this list of conditions and the following disclaimer in the 15 | documentation and/or other materials provided with the distribution. 16 | 17 | 3. Neither the name of the copyright holders nor the names of its 18 | contributors may be used to endorse or promote products derived from 19 | this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 25 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 26 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 27 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 31 | THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/doc/licenses/bsd_jline.txt: -------------------------------------------------------------------------------- 1 | Scala includes the JLine library: 2 | 3 | Copyright (c) 2002-2006, Marc Prud'hommeaux 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or 7 | without modification, are permitted provided that the following 8 | conditions are met: 9 | 10 | Redistributions of source code must retain the above copyright 11 | notice, this list of conditions and the following disclaimer. 12 | 13 | Redistributions in binary form must reproduce the above copyright 14 | notice, this list of conditions and the following disclaimer 15 | in the documentation and/or other materials provided with 16 | the distribution. 17 | 18 | Neither the name of JLine nor the names of its contributors 19 | may be used to endorse or promote products derived from this 20 | software without specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 23 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, 24 | BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 25 | AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 26 | EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE 27 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, 28 | OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 29 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 30 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 31 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 33 | IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 34 | OF THE POSSIBILITY OF SUCH DAMAGE. 35 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/doc/licenses/mit_jquery-layout.txt: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2010 Fabrizio Balliano, Kevin Dalman 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/doc/licenses/mit_jquery-ui.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011 Paul Bakaus, http://jqueryui.com/ 2 | 3 | This software consists of voluntary contributions made by many 4 | individuals (AUTHORS.txt, http://jqueryui.com/about) For exact 5 | contribution history, see the revision history and logs, available 6 | at http://jquery-ui.googlecode.com/svn/ 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining 9 | a copy of this software and associated documentation files (the 10 | "Software"), to deal in the Software without restriction, including 11 | without limitation the rights to use, copy, modify, merge, publish, 12 | distribute, sublicense, and/or sell copies of the Software, and to 13 | permit persons to whom the Software is furnished to do so, subject to 14 | the following conditions: 15 | 16 | The above copyright notice and this permission notice shall be 17 | included in all copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 20 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 21 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 22 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 23 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 24 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 25 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/doc/licenses/mit_jquery.txt: -------------------------------------------------------------------------------- 1 | Scala includes the jQuery library: 2 | 3 | Copyright (c) 2010 John Resig 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/doc/licenses/mit_sizzle.txt: -------------------------------------------------------------------------------- 1 | Scala includes the Sizzle library: 2 | 3 | Copyright (c) 2010 The Dojo Foundation 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/doc/licenses/mit_tools.tooltip.txt: -------------------------------------------------------------------------------- 1 | Scala includes the Tools Tooltip library: 2 | 3 | Copyright (c) 2009 Tero Piirainen 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/doc/tools/css/style.css: -------------------------------------------------------------------------------- 1 | .SansSerif { 2 | font-family: Arial, Helvetica, sans-serif; 3 | } 4 | 5 | .ContentList { font-size: 90%; style: margin-left: 3.4em; } 6 | 7 | .Note { 8 | margin-left: 4em; 9 | margin-right: 4em; 10 | font-size: 90%; 11 | } 12 | 13 | /* see http://www.maxdesign.com.au/presentation/external/ */ 14 | a.external span { 15 | position: absolute; 16 | left: -5000px; 17 | width: 4000px; 18 | } 19 | 20 | a.external:link { 21 | background: url(../images/external.gif) no-repeat 100% 0; 22 | padding: 0px 20px 0px 0px; 23 | } 24 | 25 | a.external:visited { 26 | color: purple; 27 | background-color: white; 28 | background: url(../images/external.gif) no-repeat 100% -100px; 29 | padding: 0px 20px 0px 0px; 30 | } 31 | 32 | a.external:hover { 33 | color: red; 34 | background-color: white; 35 | background: url(../images/external.gif) no-repeat 100% -200px; 36 | padding: 0px 20px 0px 0px; 37 | } 38 | 39 | h2 { font-family: Arial, Helvetica, sans-serif; } 40 | 41 | h3 { 42 | margin-left: 1.4em; 43 | margin-bottom: .1em; 44 | font-family: Arial, Helvetica, sans-serif; 45 | } 46 | 47 | hr { 48 | margin: 1em 0 1em 0; 49 | } 50 | 51 | img { 52 | border:none; 53 | } 54 | 55 | li { 56 | margin-left: 1.7em; 57 | } 58 | 59 | span.tool { 60 | font-family: Courier, Sans-Serif; 61 | font-weight: bold; 62 | } 63 | 64 | table.basic { 65 | width: 100%; 66 | } 67 | 68 | table.basic td { 69 | margin: 0; 70 | padding: 2px; 71 | } 72 | 73 | table.basic th { 74 | text-align: left; 75 | } 76 | 77 | table.basic th.links, td.links { 78 | white-space: nowrap; 79 | } 80 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/doc/tools/fsc.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | fsc man page 7 | 8 | 9 | 10 | 17 | 18 | 19 | 20 | 21 |
22 |
23 | fsc(1) 24 |
25 |
26 | fsc(1) 27 |
28 |
29 | USER COMMANDS 30 |
31 |
32 | 33 |

NAME

34 |

35 | fsc – Fast offline compiler for the Scala 2 language

36 | 37 |

SYNOPSIS

38 |

39 | fsc [ <options> ] <source files>

40 | 41 |

PARAMETERS

42 |

43 |

44 |
45 | <options> 46 |
47 |
48 | Command line options. See OPTIONS below.
49 |
50 | <source files> 51 |
52 |
53 | One or more source files to be compiled (such as MyClass.scala).
54 |
55 |

56 | 57 |

OPTIONS

58 |

59 | The offline compiler supports all options of scalac plus the following:

60 |

61 |

62 |
63 | –reset 64 |
65 |
66 | Reset compile server caches.
67 |
68 | –shutdown 69 |
70 |
71 | Shut down the compilation daemon. The daemon attempts to restart itself as necessary, but sometimes an explicit shutdown is required. A common example is if jars on the class path have changed.
72 |
73 | –server <hostname:portnumber> 74 |
75 |
76 | Specify compile server host at port number. Usually this option is not needed. Note that the hostname must be for a host that shares the same filesystem.
77 |
78 | –J<flag> 79 |
80 |
81 | Pass <flag> directly to the Java VM for the compilation daemon.
82 |
83 |

84 | 85 |

DESCRIPTION

86 |

87 | The fsc tool submits Scala compilation jobs to a compilation daemon. The first time it is executed, the daemon is started automatically. On subsequent runs, the same daemon can be reused, thus resulting in a faster compilation. The tool is especially effective when repeatedly compiling with the same class paths, because the compilation daemon can reuse a compiler instance.

88 |

89 | The compilation daemon is smart enough to flush its cached compiler when the class path changes. However, if the contents of the class path change, for example due to upgrading a library, then the daemon should be explicitly shut down with -shutdown.

90 |

91 | Note that the scala script runner will also use the offline compiler by default, with the same advantages and caveats.

92 | 93 |

EXAMPLE

94 |

95 | The following session shows a typical speed up due to using the offline compiler.

96 |
> fsc -verbose -d /tmp test.scala
 97 | \&...
 98 | [Port number: 32834]
 99 | [Starting new Scala compile server instance]
100 | [Classpath = ...]
101 | [loaded directory path ... in 692ms]
102 | \&...
103 | [parsing test.scala]
104 | \&...
105 | [total in 943ms]
106 | 
107 | > fsc -verbose -d /tmp test.scala
108 | \&...
109 | [Port number: 32834]
110 | [parsing test.scala]
111 | \&...
112 | [total in 60ms]
113 | 
114 | > fsc -verbose -d /tmp test.scala
115 | \&...
116 | [Port number: 32834]
117 | [parsing test.scala]
118 | \&...
119 | [total in 42ms]
120 | 
121 | > fsc -verbose -shutdown
122 | [Scala compile server exited]
123 | 
124 | 125 |

ENVIRONMENT

126 |

127 |

128 |
129 | JAVACMD 130 |
131 |
132 | Specify the java command to be used for running the Scala code. Arguments may be specified as part of the environment variable; spaces, quotation marks, etc., will be passed directly to the shell for expansion.
133 |
134 | JAVA_HOME 135 |
136 |
137 | Specify JDK/JRE home directory. This directory is used to locate the java command unless JAVACMD variable set.
138 |
139 | JAVA_OPTS 140 |
141 |
142 |
143 | Specify the options to be passed to the java command defined by JAVACMD. 144 |
145 |
146 | With Java 1.5 (or newer) one may for example configure the memory usage of the JVM as follows: JAVA_OPTS="-Xmx512M -Xms16M -Xss16M" 147 |
148 |
149 | With GNU Java one may configure the memory usage of the GIJ as follows: JAVA_OPTS="--mx512m --ms16m" 150 |
151 |
152 |
153 |

154 | 155 |

EXIT STATUS

156 |

157 | fsc returns a zero exit status if it succeeds to compile the specified input files. Non zero is returned in case of failure.

158 | 159 |

AUTHOR

160 |

161 | Written by Martin Odersky and other members of the Scala team.

162 | 163 |

REPORTING BUGS

164 |

165 | Report bugs to https://issues.scala-lang.org/.

166 | 167 | 168 |

169 | This is open-source software, available to you under a BSD-like license. See accompanying "copyright" or "LICENSE" file for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

170 | 171 |

SEE ALSO

172 |

173 | scala(1), scalac(1), scaladoc(1), scalap(1)

174 | 175 |
176 |
177 | version 0.5 178 |
179 |
180 | fsc(1) 181 |
182 |
183 | March 2012 184 |
185 |
186 | 187 | 188 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/doc/tools/images/external.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iron-io/dockers/475c55f0e3739fef80a0abd4602ce05318f2666d/scala/2.11/scala-2.11.7/doc/tools/images/external.gif -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/doc/tools/images/scala_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iron-io/dockers/475c55f0e3739fef80a0abd4602ce05318f2666d/scala/2.11/scala-2.11.7/doc/tools/images/scala_logo.png -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/doc/tools/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Scala Development Tools 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | Scala 22 |
23 |
24 |   25 |
26 |
27 |

Scala Tools and Utilities

28 |
29 |
30 | 31 |
32 | 33 |

General

34 | 35 | 42 | 43 |

Standard Scala Tools and Utilities

44 | 45 |
    46 |
  • 47 | Basic Tools (fsc, 48 | scala, scalac, scaladoc, 49 | scalap) 50 |
  • 51 |
52 |
53 | 54 |

55 | NOTE - Some tools have separate reference pages for Windows, Linux and Solaris 56 | to accommodate minor differences in configuration and usage -- for example, the character 57 | used to specify directory separators may be different. 58 |

59 | 60 |
61 | 62 |

63 | General Information 64 |

65 |

66 | The following documents contain important information you will need to 67 | know to get the most out of the SDK tools. 68 |

69 | 70 | 71 | 72 | 84 | 85 | 88 | 94 | 95 | 96 | 97 | 100 | 104 | 105 |
86 | Setting the Classpath 87 | 89 | [Solaris and Linux] 91 | [Windows] 93 |
98 | How Classes are Found 99 | 101 | [Solaris, Linux and Windows] 103 |
106 | 107 |
108 |

109 | Basic Tools 110 |

111 | 112 |

113 | These tools are the foundation of the Scala SDK. They are the tools you 114 | use to create and build applications. 115 |

116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 127 | 130 | 133 | 134 | 135 | 138 | 141 | 144 | 145 | 146 | 149 | 152 | 155 | 156 | 157 | 160 | 163 | 166 | 167 | 168 | 171 | 174 | 177 | 178 |
Tool NameBrief DescriptionLinks to Reference Pages
125 | fsc 126 | 128 | The fast Scala compiler. 129 |
136 | scala 137 | 139 | Run Scala code. 140 |
147 | scalac 148 | 150 | Compile Scala code ahead of time. 151 |
158 | scaladoc 159 | 161 | The API document generator. 162 |
169 | scalap 170 | 172 | The Scala class file decoder. 173 |
179 | 180 |
181 | 182 |
183 | Copyright (c) 2002-2013 EPFL, 184 | Lausanne, unless specified otherwise.
185 | All rights reserved. 186 |
187 | 188 | 189 | 190 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/doc/tools/scala.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | scala man page 7 | 8 | 9 | 10 | 17 | 18 | 19 | 20 | 21 |
22 |
23 | scala(1) 24 |
25 |
26 | scala(1) 27 |
28 |
29 | USER COMMANDS 30 |
31 |
32 | 33 |

NAME

34 |

35 | scala – Run code in the Scala 2 language

36 | 37 |

SYNOPSIS

38 |

39 | scala [ <option> ]... [ <torun> <argument>... ]

40 | 41 |

PARAMETERS

42 |

43 |

44 |
45 | <compiler-option> 46 |
47 |
48 | Any scalac option. See scalac(1).
49 |
50 | –howtorun:<how> 51 |
52 |
53 | How to execute <torun>, if it is present. Options for <how> are guess (the default), script, jar, and object.
54 |
55 | –i <file> 56 |
57 |
58 | Requests that a file be pre-loaded. It is only meaningful for interactive shells.
59 |
60 | –e <string> 61 |
62 |
63 | Requests that its argument be executed as Scala code.
64 |
65 | –savecompiled 66 |
67 |
68 | Save this compiled version of scripts in order to speed up later executions of the same script. When running a script, save the compiled version in a file with the same name as the script but with an extension of .jar. On subsequent runs of the same script, the pre-compiled .jar file will be used if it is newer than the script file.
69 |
70 | –nocompdaemon 71 |
72 |
73 | Do not use the fsc offline compiler.
74 |
75 | –Dproperty=value 76 |
77 |
78 | Set a Java system property. If no value is specified, then the property is set to the empty string.
79 |
80 | <torun> 81 |
82 |
83 | A top-level object or a script file to run.
84 |
85 | <argument> 86 |
87 |
88 | An arguments to pass to <torun>.
89 |
90 |

91 | 92 |

DESCRIPTION

93 |

94 | The scala utility runs Scala code using a Java runtime environment. The Scala code to run is specified in one of three ways:

95 |
    96 |
  1. With no arguments specified, a Scala shell starts and reads commands interactively.
  2. With -howtorun:object specified, the fully qualified name of a top-level Scala object may be specified. The object should previously have been compiled using scalac(1).
  3. With -howtorun:script specified, a file containing Scala code may be specified.
97 |

98 | If -howtorun: is left as the default (guess), then the scala command will check whether a file of the specified name exists. If it does, then it will treat it as a script file; if it does not, then it will treat it as the name of an object.

99 |

100 | In all three cases, arbitrary scalac options may be specified. The most common option is to specify a classpath with -classpath, but see the scalac(1) page for full details.

101 |

102 | If an object is specified to run, then that object must be a top-level Scala object with the specified name. The object must define a method main with the following signature:

103 |

104 | def main(args: Array[String]): Unit

105 |

106 | The method must return a Unit value, and it must accept a String array as a parameter. All arguments specified on the command line will be passed as arguments to the main method.

107 |

108 | If a script file is specified to run, then the file is read and all Scala statements and declarations in the file are processed in order. Any arguments specified will be available via the argsvariable.

109 |

110 | Script files may have an optional header that is ignored if present. There are two ways to format the header: either beginning with #! and ending with !#, or beginning with ::#! and ending with ::!#.

111 |

112 | Such a header must have each header boundary start at the beginning of a line. Headers can be used to make stand-alone script files, as shown in the examples below.

113 |

114 | If scala is run from an sbaz(1) directory, then it will add to its classpath any jars installed in the lib directory of the sbaz directory. Additionally, if no -classpath option is specified, then scala will add ".", the current directory, to the end of the classpath.

115 | 116 |

OPTIONS

117 |

118 | If any compiler options are specified, they must be first in the command line and must be followed by a bare hypen ("-") character. If no arguments are specified after the optional compiler arguments, then an interactive Scala shell is started. Otherwise, either a script file is run, or a pre-compiled Scala object is run. It is possible to distinguish the last two cases by using an explicit -object or -script flag, but usually the program can guess correctly.

119 | 120 |

ENVIRONMENT

121 |

122 |

123 |
124 | JAVACMD 125 |
126 |
127 | Specify the java command to be used for running the Scala code. Arguments may be specified as part of the environment variable; spaces, quotation marks, etc., will be passed directly to the shell for expansion.
128 |
129 | JAVA_HOME 130 |
131 |
132 | Specify JDK/JRE home directory. This directory is used to locate the java command unless JAVACMD variable set.
133 |
134 | JAVA_OPTS 135 |
136 |
137 |
138 | Specify the options to be passed to the java command defined by JAVACMD. 139 |
140 |
141 | With Java 1.5 (or newer) one may for example configure the memory usage of the JVM as follows: JAVA_OPTS="-Xmx512M -Xms16M -Xss16M" 142 |
143 |
144 | With GNU Java one may configure the memory usage of the GIJ as follows: JAVA_OPTS="--mx512m --ms16m" 145 |
146 |
147 |
148 |

149 | 150 |

EXAMPLES

151 |

152 | Here are some examples of running Scala code:

153 |

154 |

155 |
156 | Execute a Scala program generated in the current directory 157 |
158 |
159 | scala hello.HelloWorld
160 |
161 | Execute a Scala program generated in a user-defined directory classes 162 |
163 |
164 | scala –classpath classes hello.HelloWorld
165 |
166 | Execute a Scala program using a user-defined java command 167 |
168 |
169 | env JAVACMD=/usr/local/bin/cacao scala –classpath classes hello.HelloWorld
170 |
171 | Execute a Scala program using JVM options 172 |
173 |
174 | env JAVACMD=java JAVA_OPTS="-Dmsg=hello -enableassertions" scala –classpath classes hello.HelloWorld
175 |
176 |

177 |

178 | Here is a complete Scala script for Unix:

179 |
#!/bin/sh
180 | exec scala "$0" "$@"
181 | !#
182 | Console.println("Hello, world!")
183 | args.toList foreach Console.println
184 |

185 | Here is a complete Scala script for MS Windows:

186 |
::#!
187 | @echo off
188 | call scala %0 %*
189 | goto :eof
190 | ::!#
191 | Console.println("Hello, world!")
192 | args.toList foreach Console.println
193 |

194 | If you want to use the compilation cache to speed up multiple executions of the script, then add -savecompiled to the scala command:

195 |
#!/bin/sh
196 | exec scala -savecompiled "$0" "$@"
197 | !#
198 | Console.println("Hello, world!")
199 | args.toList foreach Console.println
200 | 201 |

EXIT STATUS

202 |

203 | The scala command returns a zero exit status if it succeeds. Non zero is returned in case of any error. If a script or top-level object is executed and returns a value, then that return value is passed on to scala.

204 | 205 |

AUTHOR

206 |

207 | Written by Martin Odersky and other members of the Scala team.

208 | 209 |

REPORTING BUGS

210 |

211 | Report bugs to https://issues.scala-lang.org/.

212 | 213 | 214 |

215 | This is open-source software, available to you under a BSD-like license. See accompanying "copyright" or "LICENSE" file for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

216 | 217 |

SEE ALSO

218 |

219 | fsc(1), scalac(1), scaladoc(1), scalap(1)

220 | 221 |
222 |
223 | version 0.5 224 |
225 |
226 | scala(1) 227 |
228 |
229 | April 2007 230 |
231 |
232 | 233 | 234 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/doc/tools/scaladoc.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | scaladoc man page 7 | 8 | 9 | 10 | 17 | 18 | 19 | 20 | 21 |
22 |
23 | scaladoc(1) 24 |
25 |
26 | scaladoc(1) 27 |
28 |
29 | USER COMMANDS 30 |
31 |
32 | 33 |

NAME

34 |

35 | scaladoc – Documentation generator for the Scala 2 language

36 | 37 |

SYNOPSIS

38 |

39 | scaladoc [ <options> ] <source files>

40 | 41 |

PARAMETERS

42 |

43 |

44 |
45 | <options> 46 |
47 |
48 | Command line options. See OPTIONS below.
49 |
50 | <source files> 51 |
52 |
53 | One or more source files to be compiled (such as MyClass.scala).
54 |
55 |

56 | 57 |

DESCRIPTION

58 |

59 | The scaladoc tool reads class and object definitions, written in the Scala 2 programming language, and generates their API as HTML files.

60 |

61 | By default, the generator puts each HTML file in the same directory as its source file. You can specify a separate destination directory with –d (see OPTIONS, below).

62 |

63 | The recognised format of comments in source is described in the online documentation

64 | 65 |

OPTIONS

66 | 67 |

Standard Options

68 |

69 |

70 |
71 | –d <directory> 72 |
73 |
74 | Specify where to generate documentation.
75 |
76 | –version 77 |
78 |
79 | Print product version and exit.
80 |
81 | –help 82 |
83 |
84 | Print a synopsis of available options.
85 |
86 |

87 | 88 |

Documentation Options

89 |

90 |

91 |
92 | –doc-title <title> 93 |
94 |
95 | Define the overall title of the documentation, typically the name of the library being documented.
96 |
97 | –doc-version <version> 98 |
99 |
100 | Define the overall version number of the documentation, typically the version of the library being documented.
101 |
102 | –doc-source-url <url> 103 |
104 |
105 | Define a URL to be concatenated with source locations for link to source files.
106 |
107 | –doc-external-doc <external-doc> 108 |
109 |
110 | Define a comma-separated list of classpath_entry_path#doc_URL pairs describing external dependencies.
111 |
112 |

113 | 114 |

Compiler Options

115 |

116 |

117 |
118 | –verbose 119 |
120 |
121 | Output messages about what the compiler is doing
122 |
123 | –deprecation 124 |
125 |
126 |
127 | Indicate whether source should be compiled with deprecation information; defaults to off (accepted values are: on, off, yes and no) 128 |
129 |
130 | Available since Scala version 2.2.1 131 |
132 |
133 |
134 | –classpath <path> 135 |
136 |
137 |
138 | Specify where to find user class files (on Unix-based systems a colon-separated list of paths, on Windows-based systems, a semicolon-separate list of paths). This does not override the built-in ("boot") search path. 139 |
140 |
141 | The default class path is the current directory. Setting the CLASSPATH variable or using the -classpath command-line option overrides that default, so if you want to include the current directory in the search path, you must include "." in the new settings. 142 |
143 |
144 |
145 | –sourcepath <path> 146 |
147 |
148 | Specify where to find input source files.
149 |
150 | –bootclasspath <path> 151 |
152 |
153 | Override location of bootstrap class files (where to find the standard built-in classes, such as "scala.List").
154 |
155 | –extdirs <dirs> 156 |
157 |
158 | Override location of installed extensions.
159 |
160 | –encoding <encoding> 161 |
162 |
163 |
164 | Specify character encoding used by source files. 165 |
166 |
167 | The default value is platform-specific (Linux: "UTF8", Windows: "Cp1252"). Executing the following code in the Scala interpreter will return the default value on your system: 168 |
169 |
170 | scala> new java.io.InputStreamReader(System.in).getEncoding 171 |
172 |
173 |
174 |

175 | 176 |

EXIT STATUS

177 |

178 | scaladoc returns a zero exit status if it succeeds at processing the specified input files. Non zero is returned in case of failure.

179 | 180 |

AUTHORS

181 |

182 | This version of Scaladoc was written by Gilles Dubochet with contributions by Pedro Furlanetto and Johannes Rudolph. It is based on the original Scaladoc (Sean McDirmid, Geoffrey Washburn, Vincent Cremet and Stéphane Micheloud), on vScaladoc (David Bernard), as well as on an unreleased version of Scaladoc 2 (Manohar Jonnalagedda).

183 | 184 |

SEE ALSO

185 |

186 | fsc(1), scala(1), scalac(1), scalap(1)

187 | 188 |
189 |
190 | version 2.0 191 |
192 |
193 | scaladoc(1) 194 |
195 |
196 | June 2010 197 |
198 |
199 | 200 | 201 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/doc/tools/scalap.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | scalap man page 7 | 8 | 9 | 10 | 17 | 18 | 19 | 20 | 21 |
22 |
23 | scalap(1) 24 |
25 |
26 | scalap(1) 27 |
28 |
29 | USER COMMANDS 30 |
31 |
32 | 33 |

NAME

34 |

35 | scalap – Scala class file decoder for the Scala 2 language

36 | 37 |

SYNOPSIS

38 |

39 | scalap [ <options> ] <class name>

40 | 41 |

PARAMETERS

42 |

43 |

44 |
45 | <options> 46 |
47 |
48 | Command line options. See OPTIONS below.
49 |
50 | <class name> 51 |
52 |
53 | Full-qualified name of a class to be decoded (such as hello.HelloWorld).
54 |
55 |

56 | 57 |

DESCRIPTION

58 |

59 | The scalap tool reads a class file generated by theScala compiler, and displays object and class definitions.

60 |

61 | By default, scalap looks for the given class file in the current directory. You can specify a separate classpath with –classpath (see OPTIONS, below).

62 | 63 |

OPTIONS

64 |

65 | The decoder has a set of standard options that are supported on the current development environment and will be supported in future releases.

66 | 67 |

Standard Options

68 |

69 |

70 |
71 | –help 72 |
73 |
74 | Display this usage message.
75 |
76 | –private 77 |
78 |
79 | Print private definitions.
80 |
81 | –verbose 82 |
83 |
84 | Print out additional information.
85 |
86 | –version 87 |
88 |
89 | Print product version and exit.
90 |
91 | –cp | –classpath 92 |
93 |
94 | Specify where to find user class files.
95 |
96 |

97 | 98 |

EXAMPLES

99 |

100 |

101 |
102 | Display definitions for a generated class file 103 |
104 |
105 | scalap hello.HelloWorld
106 |
107 |

108 | 109 |

EXIT STATUS

110 |

111 | scalap returns a zero exist status if it succeeds to process the specified input files. Non zero is returned in case of failure.

112 | 113 |

AUTHOR

114 |

115 | Written by Ilya Sergey.

116 | 117 |

REPORTING BUGS

118 |

119 | Report bugs to https://issues.scala-lang.org/.

120 | 121 | 122 |

123 | This is open-source software, available to you under a BSD-like license. See accompanying "copyright" or "LICENSE" file for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

124 | 125 |

SEE ALSO

126 |

127 | fsc(1), scala(1), scalac(1), scaladoc(1)

128 | 129 |
130 |
131 | version 1.0 132 |
133 |
134 | scalap(1) 135 |
136 |
137 | June 2006 138 |
139 |
140 | 141 | 142 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/lib/akka-actor_2.11-2.3.10.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iron-io/dockers/475c55f0e3739fef80a0abd4602ce05318f2666d/scala/2.11/scala-2.11.7/lib/akka-actor_2.11-2.3.10.jar -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/lib/config-1.2.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iron-io/dockers/475c55f0e3739fef80a0abd4602ce05318f2666d/scala/2.11/scala-2.11.7/lib/config-1.2.1.jar -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/lib/jline-2.12.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iron-io/dockers/475c55f0e3739fef80a0abd4602ce05318f2666d/scala/2.11/scala-2.11.7/lib/jline-2.12.1.jar -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/lib/scala-actors-2.11.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iron-io/dockers/475c55f0e3739fef80a0abd4602ce05318f2666d/scala/2.11/scala-2.11.7/lib/scala-actors-2.11.0.jar -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/lib/scala-actors-migration_2.11-1.1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iron-io/dockers/475c55f0e3739fef80a0abd4602ce05318f2666d/scala/2.11/scala-2.11.7/lib/scala-actors-migration_2.11-1.1.0.jar -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/lib/scala-compiler.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iron-io/dockers/475c55f0e3739fef80a0abd4602ce05318f2666d/scala/2.11/scala-2.11.7/lib/scala-compiler.jar -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/lib/scala-continuations-library_2.11-1.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iron-io/dockers/475c55f0e3739fef80a0abd4602ce05318f2666d/scala/2.11/scala-2.11.7/lib/scala-continuations-library_2.11-1.0.2.jar -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/lib/scala-continuations-plugin_2.11.7-1.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iron-io/dockers/475c55f0e3739fef80a0abd4602ce05318f2666d/scala/2.11/scala-2.11.7/lib/scala-continuations-plugin_2.11.7-1.0.2.jar -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/lib/scala-library.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iron-io/dockers/475c55f0e3739fef80a0abd4602ce05318f2666d/scala/2.11/scala-2.11.7/lib/scala-library.jar -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/lib/scala-parser-combinators_2.11-1.0.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iron-io/dockers/475c55f0e3739fef80a0abd4602ce05318f2666d/scala/2.11/scala-2.11.7/lib/scala-parser-combinators_2.11-1.0.4.jar -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/lib/scala-reflect.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iron-io/dockers/475c55f0e3739fef80a0abd4602ce05318f2666d/scala/2.11/scala-2.11.7/lib/scala-reflect.jar -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/lib/scala-swing_2.11-1.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iron-io/dockers/475c55f0e3739fef80a0abd4602ce05318f2666d/scala/2.11/scala-2.11.7/lib/scala-swing_2.11-1.0.2.jar -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/lib/scala-xml_2.11-1.0.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iron-io/dockers/475c55f0e3739fef80a0abd4602ce05318f2666d/scala/2.11/scala-2.11.7/lib/scala-xml_2.11-1.0.4.jar -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/lib/scalap-2.11.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iron-io/dockers/475c55f0e3739fef80a0abd4602ce05318f2666d/scala/2.11/scala-2.11.7/lib/scalap-2.11.7.jar -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/man/man1/fsc.1: -------------------------------------------------------------------------------- 1 | .\" ########################################################################## 2 | .\" # __ # 3 | .\" # ________ ___ / / ___ Scala 2 On-line Manual Pages # 4 | .\" # / __/ __// _ | / / / _ | (c) 2002-2013, LAMP/EPFL # 5 | .\" # __\ \/ /__/ __ |/ /__/ __ | # 6 | .\" # /____/\___/_/ |_/____/_/ | | http://scala-lang.org/ # 7 | .\" # |/ # 8 | .\" ########################################################################## 9 | .\" 10 | .\" Process this file with nroff -man scala.1 11 | .\" 12 | .TH fsc 1 "March 2012" "version 0.5" "USER COMMANDS" 13 | .\" 14 | .\" ############################## NAME ############################### 15 | .\" 16 | .SH NAME 17 | .PP 18 | \fBfsc\fR \- Fast offline compiler for the Scala 2 language 19 | .\" 20 | .\" ############################## SYNOPSIS ############################### 21 | .\" 22 | .SH SYNOPSIS 23 | .PP 24 | \fBfsc\fR [ <\fIoptions\fR> ] <\fIsource files\fR> 25 | .\" 26 | .\" ############################## PARAMETERS ############################### 27 | .\" 28 | .SH PARAMETERS 29 | .PP 30 | .TP 31 | <\fIoptions\fR> 32 | Command line options. See \fBOPTIONS\fR below. 33 | .TP 34 | <\fIsource files\fR> 35 | One or more source files to be compiled (such as MyClass.scala). 36 | .\" 37 | .\" ############################## OPTIONS ############################### 38 | .\" 39 | .SH OPTIONS 40 | .PP 41 | The offline compiler supports all options of \fBscalac\fR plus the following: 42 | .PP 43 | .TP 44 | \fB\-reset\fR 45 | Reset compile server caches. 46 | .TP 47 | \fB\-shutdown\fR 48 | Shut down the compilation daemon. The daemon attempts to restart itself as necessary, but sometimes an explicit shutdown is required. A common example is if jars on the class path have changed. 49 | .TP 50 | \fB\-server\fR <\fIhostname:portnumber\fR> 51 | Specify compile server host at port number. Usually this option is not needed. Note that the hostname must be for a host that shares the same filesystem. 52 | .TP 53 | \fB\-J\fR<\fIflag\fR> 54 | Pass <\fIflag\fR> directly to the Java VM for the compilation daemon. 55 | .\" 56 | .\" ############################## DESCRIPTION ############################### 57 | .\" 58 | .SH DESCRIPTION 59 | .PP 60 | The \fBfsc\fR tool submits Scala compilation jobs to a compilation daemon. The first time it is executed, the daemon is started automatically. On subsequent runs, the same daemon can be reused, thus resulting in a faster compilation. The tool is especially effective when repeatedly compiling with the same class paths, because the compilation daemon can reuse a compiler instance. 61 | .PP 62 | The compilation daemon is smart enough to flush its cached compiler when the class path changes. However, if the contents of the class path change, for example due to upgrading a library, then the daemon should be explicitly shut down with \fB-shutdown\fR. 63 | .PP 64 | Note that the \fBscala\fR script runner will also use the offline compiler by default, with the same advantages and caveats. 65 | .\" 66 | .\" ############################## EXAMPLE ############################### 67 | .\" 68 | .SH EXAMPLE 69 | .PP 70 | The following session shows a typical speed up due to using the offline compiler. 71 | 72 | .nf 73 | > fsc -verbose -d /tmp test.scala 74 | \&... 75 | [Port number: 32834] 76 | [Starting new Scala compile server instance] 77 | [Classpath = ...] 78 | [loaded directory path ... in 692ms] 79 | \&... 80 | [parsing test.scala] 81 | \&... 82 | [total in 943ms] 83 | 84 | > fsc -verbose -d /tmp test.scala 85 | \&... 86 | [Port number: 32834] 87 | [parsing test.scala] 88 | \&... 89 | [total in 60ms] 90 | 91 | > fsc -verbose -d /tmp test.scala 92 | \&... 93 | [Port number: 32834] 94 | [parsing test.scala] 95 | \&... 96 | [total in 42ms] 97 | 98 | > fsc -verbose -shutdown 99 | [Scala compile server exited] 100 | 101 | .fi 102 | .\" 103 | .\" ############################## ENVIRONMENT ############################### 104 | .\" 105 | .SH ENVIRONMENT 106 | .PP 107 | .TP 108 | \fBJAVACMD\fR 109 | Specify the \fBjava\fR command to be used for running the Scala code. Arguments may be specified as part of the environment variable; spaces, quotation marks, etc., will be passed directly to the shell for expansion. 110 | .TP 111 | \fBJAVA_HOME\fR 112 | Specify JDK/JRE home directory. This directory is used to locate the \fBjava\fR command unless \fBJAVACMD\fR variable set. 113 | .TP 114 | \fBJAVA_OPTS\fR 115 | Specify the options to be passed to the \fBjava\fR command defined by \fBJAVACMD\fR. 116 | .IP 117 | With Java 1.5 (or newer) one may for example configure the memory usage of the JVM as follows: JAVA_OPTS="-Xmx512M -Xms16M -Xss16M" 118 | .IP 119 | With GNU Java one may configure the memory usage of the GIJ as follows: JAVA_OPTS="--mx512m --ms16m" 120 | .IP 121 | 122 | .\" 123 | .\" ############################## EXIT STATUS ############################### 124 | .\" 125 | .SH "EXIT STATUS" 126 | .PP 127 | \fBfsc\fR returns a zero exit status if it succeeds to compile the specified input files. Non zero is returned in case of failure. 128 | .\" 129 | .\" ############################## AUTHOR ############################### 130 | .\" 131 | .SH AUTHOR 132 | .PP 133 | Written by Martin Odersky and other members of the Scala team. 134 | .\" 135 | .\" ############################## REPORTING BUGS ############################### 136 | .\" 137 | .SH "REPORTING BUGS" 138 | .PP 139 | Report bugs to https://issues.scala-lang.org/. 140 | .\" 141 | .\" ############################## COPYRIGHT ############################### 142 | .\" 143 | .SH COPYRIGHT 144 | .PP 145 | This is open-source software, available to you under a BSD-like license. See accompanying "copyright" or "LICENSE" file for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 146 | .\" 147 | .\" ############################## SEE ALSO ############################### 148 | .\" 149 | .SH "SEE ALSO" 150 | .PP 151 | \fBscala\fR(1), \fBscalac\fR(1), \fBscaladoc\fR(1), \fBscalap\fR(1) 152 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/man/man1/scala.1: -------------------------------------------------------------------------------- 1 | .\" ########################################################################## 2 | .\" # __ # 3 | .\" # ________ ___ / / ___ Scala 2 On-line Manual Pages # 4 | .\" # / __/ __// _ | / / / _ | (c) 2002-2013, LAMP/EPFL # 5 | .\" # __\ \/ /__/ __ |/ /__/ __ | # 6 | .\" # /____/\___/_/ |_/____/_/ | | http://scala-lang.org/ # 7 | .\" # |/ # 8 | .\" ########################################################################## 9 | .\" 10 | .\" Process this file with nroff -man scala.1 11 | .\" 12 | .TH scala 1 "April 2007" "version 0.5" "USER COMMANDS" 13 | .\" 14 | .\" ############################## NAME ############################### 15 | .\" 16 | .SH NAME 17 | .PP 18 | \fBscala\fR \- Run code in the Scala 2 language 19 | .\" 20 | .\" ############################## SYNOPSIS ############################### 21 | .\" 22 | .SH SYNOPSIS 23 | .PP 24 | \fBscala\fR [ <\fIoption\fR> ]... [ <\fItorun\fR> <\fIargument\fR>... ] 25 | .\" 26 | .\" ############################## PARAMETERS ############################### 27 | .\" 28 | .SH PARAMETERS 29 | .PP 30 | .TP 31 | <\fIcompiler-option\fR> 32 | Any scalac option. See \fBscalac\fR(1). 33 | .TP 34 | \fB\-howtorun:\fR<\fIhow\fR> 35 | How to execute <\fItorun\fR>, if it is present. Options for <\fIhow\fR> are guess (the default), script, jar, and object. 36 | .TP 37 | \fB\-i\fR <\fIfile\fR> 38 | Requests that a file be pre-loaded. It is only meaningful for interactive shells. 39 | .TP 40 | \fB\-e\fR <\fIstring\fR> 41 | Requests that its argument be executed as Scala code. 42 | .TP 43 | \fB\-savecompiled\fR 44 | Save this compiled version of scripts in order to speed up later executions of the same script. When running a script, save the compiled version in a file with the same name as the script but with an extension of .jar. On subsequent runs of the same script, the pre-compiled .jar file will be used if it is newer than the script file. 45 | .TP 46 | \fB\-nocompdaemon\fR 47 | Do not use the \fBfsc\fR offline compiler. 48 | .TP 49 | \fB\-D\fRproperty=value 50 | Set a Java system property. If no value is specified, then the property is set to the empty string. 51 | .TP 52 | <\fItorun\fR> 53 | A top-level object or a script file to run. 54 | .TP 55 | <\fIargument\fR> 56 | An arguments to pass to <\fItorun\fR>. 57 | .\" 58 | .\" ############################## DESCRIPTION ############################### 59 | .\" 60 | .SH DESCRIPTION 61 | .PP 62 | The \fBscala\fR utility runs Scala code using a Java runtime environment. The Scala code to run is specified in one of three ways: 63 | .IP " 1." 64 | With no arguments specified, a Scala shell starts and reads commands interactively. 65 | .IP " 2." 66 | With -howtorun:object specified, the fully qualified name of a top-level Scala object may be specified. The object should previously have been compiled using \fBscalac\fR(1). 67 | .IP " 3." 68 | With -howtorun:script specified, a file containing Scala code may be specified. 69 | .PP 70 | If -howtorun: is left as the default (guess), then the \fBscala\fR command will check whether a file of the specified name exists. If it does, then it will treat it as a script file; if it does not, then it will treat it as the name of an object. 71 | .PP 72 | In all three cases, arbitrary scalac options may be specified. The most common option is to specify a classpath with -classpath, but see the \fBscalac\fR(1) page for full details. 73 | .PP 74 | If an object is specified to run, then that object must be a top-level Scala object with the specified name. The object must define a method \fBmain\fR with the following signature: 75 | .TP 76 | \fBdef\fR main(args: Array[String]): Unit 77 | .PP 78 | The method must return a \fBUnit\fR value, and it must accept a \fBString\fR array as a parameter. All arguments specified on the command line will be passed as arguments to the \fBmain\fR method. 79 | .PP 80 | If a script file is specified to run, then the file is read and all Scala statements and declarations in the file are processed in order. Any arguments specified will be available via the argsvariable. 81 | .PP 82 | Script files may have an optional header that is ignored if present. There are two ways to format the header: either beginning with #! and ending with !#, or beginning with ::#! and ending with ::!#. 83 | .PP 84 | Such a header must have each header boundary start at the beginning of a line. Headers can be used to make stand-alone script files, as shown in the examples below. 85 | .PP 86 | If scala is run from an sbaz(1) directory, then it will add to its classpath any jars installed in the lib directory of the sbaz directory. Additionally, if no -classpath option is specified, then scala will add ".", the current directory, to the end of the classpath. 87 | .\" 88 | .\" ############################## OPTIONS ############################### 89 | .\" 90 | .SH OPTIONS 91 | .PP 92 | If any compiler options are specified, they must be first in the command line and must be followed by a bare hypen ("-") character. If no arguments are specified after the optional compiler arguments, then an interactive Scala shell is started. Otherwise, either a script file is run, or a pre-compiled Scala object is run. It is possible to distinguish the last two cases by using an explicit -object or -script flag, but usually the program can guess correctly. 93 | .\" 94 | .\" ############################## ENVIRONMENT ############################### 95 | .\" 96 | .SH ENVIRONMENT 97 | .PP 98 | .TP 99 | \fBJAVACMD\fR 100 | Specify the \fBjava\fR command to be used for running the Scala code. Arguments may be specified as part of the environment variable; spaces, quotation marks, etc., will be passed directly to the shell for expansion. 101 | .TP 102 | \fBJAVA_HOME\fR 103 | Specify JDK/JRE home directory. This directory is used to locate the \fBjava\fR command unless \fBJAVACMD\fR variable set. 104 | .TP 105 | \fBJAVA_OPTS\fR 106 | Specify the options to be passed to the \fBjava\fR command defined by \fBJAVACMD\fR. 107 | .IP 108 | With Java 1.5 (or newer) one may for example configure the memory usage of the JVM as follows: JAVA_OPTS="-Xmx512M -Xms16M -Xss16M" 109 | .IP 110 | With GNU Java one may configure the memory usage of the GIJ as follows: JAVA_OPTS="--mx512m --ms16m" 111 | .IP 112 | 113 | .\" 114 | .\" ############################## EXAMPLES ############################### 115 | .\" 116 | .SH EXAMPLES 117 | .PP 118 | Here are some examples of running Scala code: 119 | .PP 120 | .TP 121 | Execute a Scala program generated in the current directory 122 | \fBscala\fR hello.HelloWorld 123 | .TP 124 | Execute a Scala program generated in a user-defined directory \fBclasses\fR 125 | \fBscala\fR \fB\-classpath\fR classes hello.HelloWorld 126 | .TP 127 | Execute a Scala program using a user-defined \fBjava\fR command 128 | \fBenv JAVACMD\fR=/usr/local/bin/cacao \fBscala\fR \fB\-classpath\fR classes hello.HelloWorld 129 | .TP 130 | Execute a Scala program using JVM options 131 | \fBenv JAVACMD\fR=java \fBJAVA_OPTS\fR="-Dmsg=hello -enableassertions" \fBscala\fR \fB\-classpath\fR classes hello.HelloWorld 132 | .PP 133 | Here is a complete Scala script for Unix: 134 | 135 | .nf 136 | #!/bin/sh 137 | exec scala "$0" "$@" 138 | !# 139 | Console.println("Hello, world!") 140 | args.toList foreach Console.println 141 | .fi 142 | .PP 143 | Here is a complete Scala script for MS Windows: 144 | 145 | .nf 146 | ::#! 147 | @echo off 148 | call scala %0 %* 149 | goto :eof 150 | ::!# 151 | Console.println("Hello, world!") 152 | args.toList foreach Console.println 153 | .fi 154 | .PP 155 | If you want to use the compilation cache to speed up multiple executions of the script, then add -savecompiled to the scala command: 156 | 157 | .nf 158 | #!/bin/sh 159 | exec scala -savecompiled "$0" "$@" 160 | !# 161 | Console.println("Hello, world!") 162 | args.toList foreach Console.println 163 | .fi 164 | .\" 165 | .\" ############################## EXIT STATUS ############################### 166 | .\" 167 | .SH "EXIT STATUS" 168 | .PP 169 | The \fBscala\fR command returns a zero exit status if it succeeds. Non zero is returned in case of any error. If a script or top-level object is executed and returns a value, then that return value is passed on to \fBscala\fR. 170 | .\" 171 | .\" ############################## AUTHOR ############################### 172 | .\" 173 | .SH AUTHOR 174 | .PP 175 | Written by Martin Odersky and other members of the Scala team. 176 | .\" 177 | .\" ############################## REPORTING BUGS ############################### 178 | .\" 179 | .SH "REPORTING BUGS" 180 | .PP 181 | Report bugs to https://issues.scala-lang.org/. 182 | .\" 183 | .\" ############################## COPYRIGHT ############################### 184 | .\" 185 | .SH COPYRIGHT 186 | .PP 187 | This is open-source software, available to you under a BSD-like license. See accompanying "copyright" or "LICENSE" file for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 188 | .\" 189 | .\" ############################## SEE ALSO ############################### 190 | .\" 191 | .SH "SEE ALSO" 192 | .PP 193 | \fBfsc\fR(1), \fBscalac\fR(1), \fBscaladoc\fR(1), \fBscalap\fR(1) 194 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/man/man1/scalac.1: -------------------------------------------------------------------------------- 1 | .\" ########################################################################## 2 | .\" # __ # 3 | .\" # ________ ___ / / ___ Scala 2 On-line Manual Pages # 4 | .\" # / __/ __// _ | / / / _ | (c) 2002-2013, LAMP/EPFL # 5 | .\" # __\ \/ /__/ __ |/ /__/ __ | # 6 | .\" # /____/\___/_/ |_/____/_/ | | http://scala-lang.org/ # 7 | .\" # |/ # 8 | .\" ########################################################################## 9 | .\" 10 | .\" Process this file with nroff -man scala.1 11 | .\" 12 | .TH scalac 1 "March 2012" "version 1.0" "USER COMMANDS" 13 | .\" 14 | .\" ############################## NAME ############################### 15 | .\" 16 | .SH NAME 17 | .PP 18 | \fBscalac\fR \- Compiler for the Scala 2 language 19 | .\" 20 | .\" ############################## SYNOPSIS ############################### 21 | .\" 22 | .SH SYNOPSIS 23 | .PP 24 | \fBscalac\fR [ <\fIoptions\fR> ] <\fIsource files\fR> 25 | .\" 26 | .\" ############################## PARAMETERS ############################### 27 | .\" 28 | .SH PARAMETERS 29 | .PP 30 | .TP 31 | <\fIoptions\fR> 32 | Command line options. See \fBOPTIONS\fR below. 33 | .TP 34 | <\fIsource files\fR> 35 | One or more source files to be compiled (such as MyClass.scala). 36 | .\" 37 | .\" ############################## DESCRIPTION ############################### 38 | .\" 39 | .SH DESCRIPTION 40 | .PP 41 | The \fBscalac\fR tool reads class and object definitions, written in the Scala programming language, and compiles them into bytecode class files. 42 | .PP 43 | By default, the compiler puts each class file in the same directory as its source file. You can specify a separate destination directory with -d (see \fBOPTIONS\fR, below). 44 | .\" 45 | .\" ############################## OPTIONS ############################### 46 | .\" 47 | .SH OPTIONS 48 | .PP 49 | The compiler has a set of standard options that are supported on the current development environment and will be supported in future releases. An additional set of non-standard options are specific to the current virtual machine implementation and are subject to change in the future. Non-standard options begin with \fB-X\fR. 50 | .\" 51 | .\" ############################## Standard Options ############################### 52 | .\" 53 | .SS "Standard Options" 54 | .PP 55 | .TP 56 | \fB\-D\fRproperty=value 57 | Pass \fB\-D\fRproperty=value directly to the runtime system. 58 | .TP 59 | \fB\-J\fR<\fIflag\fR> 60 | Pass <\fIflag\fR> directly to the runtime system. 61 | .TP 62 | \fB\-P:\fR<\fIplugin:opt\fR> 63 | Pass an option to a plugin 64 | .TP 65 | \fB\-X\fR 66 | Print a synopsis of advanced options. 67 | .TP 68 | \fB\-bootclasspath\fR <\fIpath\fR> 69 | Override location of bootstrap class files (where to find the standard built-in classes, such as "scala.List"). 70 | .TP 71 | \fB\-classpath\fR <\fIpath\fR> 72 | Specify where to find user class files (on Unix-based systems a colon-separated list of paths, on Windows-based systems, a semicolon-separate list of paths). This does not override the built-in ("boot") search path. 73 | .IP 74 | The default class path is the current directory. Setting the CLASSPATH variable or using the -classpath command-line option overrides that default, so if you want to include the current directory in the search path, you must include "." in the new settings. 75 | .IP 76 | 77 | .TP 78 | \fB\-d\fR <\fIdirectory|jar\fR> 79 | Specify where to place generated class files. 80 | .TP 81 | \fB\-deprecation\fR 82 | Emit warning and location for usages of deprecated APIs. 83 | .IP 84 | Available since Scala version 2.2.1 85 | .IP 86 | 87 | .TP 88 | \fB\-encoding\fR <\fIencoding\fR> 89 | Specify character encoding used by source files. 90 | .IP 91 | The default value is platform-specific (Linux: "UTF8", Windows: "Cp1252"). Executing the following code in the Scala interpreter will return the default value on your system: 92 | .IP 93 | \fB scala> \fRnew java.io.InputStreamReader(System.in).getEncoding 94 | .IP 95 | 96 | .TP 97 | \fB\-explaintypes\fR 98 | Explain type errors in more detail. 99 | .TP 100 | \fB\-extdirs\fR <\fIdirs\fR> 101 | Override location of installed extensions. 102 | .TP 103 | \fB\-feature\fR 104 | Emit warning and location for usages of features that should be imported explicitly. 105 | .TP 106 | \fB\-g:\fR{none,source,line,vars,notailcalls} 107 | "none" generates no debugging info, 108 | .IP 109 | "source" generates only the source file attribute, 110 | .IP 111 | "line" generates source and line number information, 112 | .IP 113 | "vars" generates source, line number and local variable information, 114 | .IP 115 | "notailcalls" generates all of the above and \fIwill not\fR perform tail call optimization. 116 | .IP 117 | 118 | .TP 119 | \fB\-help\fR 120 | Print a synopsis of standard options. 121 | .TP 122 | \fB\-javabootclasspath\fR <\fIpath\fR> 123 | Override Java boot classpath. 124 | .TP 125 | \fB\-javaextdirs\fR <\fIpath\fR> 126 | Override Java extdirs classpath. 127 | .TP 128 | \fB\-language:\fR<\fIfeature\fR> 129 | Enable one or more language features. 130 | .TP 131 | \fB\-no-specialization\fR 132 | Ignore \fI@specialize\fR annotations. 133 | .TP 134 | \fB\-nobootcp\fR 135 | Do not use the boot classpath for the Scala jar files. 136 | .TP 137 | \fB\-nowarn\fR 138 | Generate no warnings 139 | .TP 140 | \fB\-optimise\fR 141 | Generates faster bytecode by applying optimisations to the program. 142 | .TP 143 | \fB\-print\fR 144 | Print program with all Scala-specific features removed. 145 | .TP 146 | \fB\-sourcepath\fR <\fIpath\fR> 147 | Specify location(s) of source files. 148 | .TP 149 | \fB\-target:\fR{jvm-1.5,jvm-1.6,jvm-1.7,jvm-1.8} 150 | "jvm-1.5" target JVM 1.5 (deprecated), 151 | .IP 152 | "jvm-1.6" target JVM 1.6 (default), 153 | .IP 154 | "jvm-1.7" target JVM 1.7, 155 | .IP 156 | "jvm-1.8" target JVM 1.8, 157 | .IP 158 | 159 | .TP 160 | \fB\-toolcp\fR <\fIpath\fR> 161 | Add to the runner classpath. 162 | .TP 163 | \fB\-unchecked\fR 164 | Enable detailed unchecked (erasure) warnings 165 | .IP 166 | Non variable type-arguments in type patterns are unchecked since they are eliminated by erasure 167 | .IP 168 | Available since Scala version 2.3.0 169 | .IP 170 | 171 | .TP 172 | \fB\-uniqid\fR 173 | Uniquely tag all identifiers in debugging output. 174 | .TP 175 | \fB\-usejavacp\fR 176 | Utilize the java.class.path in classpath resolution. 177 | .TP 178 | \fB\-usemanifestcp\fR 179 | Utilize the manifest in classpath resolution. 180 | .TP 181 | \fB\-verbose\fR 182 | Output messages about what the compiler is doing 183 | .TP 184 | \fB\-version\fR 185 | Print product version and exit. 186 | .TP 187 | \fB@\fR<\fIfile\fR> 188 | A text file containing compiler arguments (options and source files) 189 | .\" 190 | .\" ############################## Advanced Options ############################### 191 | .\" 192 | .SS "Advanced Options" 193 | .PP 194 | .TP 195 | \fB\-Xcheckinit\fR 196 | Wrap field accessors to throw an exception on uninitialized access. 197 | .TP 198 | \fB\-Xdev\fR 199 | Enable warnings for developers working on the Scala compiler 200 | .TP 201 | \fB\-Xdisable-assertions\fR 202 | Generate no assertions and assumptions 203 | .TP 204 | \fB\-Xelide-below\fR <\fIn\fR> 205 | Calls to \fI@elidable\fR methods are omitted if method priority is lower than argument. 206 | .TP 207 | \fB\-Xexperimental\fR 208 | Enable experimental extensions 209 | .TP 210 | \fB\-Xfatal-warnings\fR 211 | Fail the compilation if there are any warnings. 212 | .TP 213 | \fB\-Xfull-lubs\fR 214 | Retain pre 2.10 behavior of less aggressive truncation of least upper bounds. 215 | .TP 216 | \fB\-Xfuture\fR 217 | Turn on future language features. 218 | .TP 219 | \fB\-Xgenerate-phase-graph\fR <\fIfile\fR> 220 | Generate the phase graphs (outputs .dot files) to fileX.dot. 221 | .TP 222 | \fB\-Xlint\fR 223 | Enable recommended additional warnings. 224 | .TP 225 | \fB\-Xlog-free-terms\fR 226 | Print a message when reification creates a free term. 227 | .TP 228 | \fB\-Xlog-free-types\fR 229 | Print a message when reification resorts to generating a free type. 230 | .TP 231 | \fB\-Xlog-implicit-conversions\fR 232 | Print a message whenever an implicit conversion is inserted. 233 | .TP 234 | \fB\-Xlog-implicits\fR 235 | Show more detail on why some implicits are not applicable. 236 | .TP 237 | \fB\-Xlog-reflective-calls\fR 238 | Print a message when a reflective method call is generated. 239 | .TP 240 | \fB\-Xmacro-settings:\fR<\fIoption\fR> 241 | Custom settings for macros. 242 | .TP 243 | \fB\-Xmain-class\fR <\fIpath\fR> 244 | Class for manifest's Main-Class entry (only useful with -d ). 245 | .TP 246 | \fB\-Xmax-classfile-name\fR <\fIn\fR> 247 | Maximum filename length for generated classes. 248 | .TP 249 | \fB\-Xmigration:\fR<\fIversion\fR> 250 | Warn about constructs whose behavior may have changed since<\fIversion\fR>. 251 | .TP 252 | \fB\-Xno-forwarders\fR 253 | Do not generate static forwarders in mirror classes. 254 | .TP 255 | \fB\-Xno-patmat-analysis\fR 256 | Don't perform exhaustivity/unreachability analysis. Also, ignore \fI@switch\fR annotation. 257 | .TP 258 | \fB\-Xno-uescape\fR 259 | Disable handling of \eu unicode escapes 260 | .TP 261 | \fB\-Xnojline\fR 262 | Do not use JLine for editing. 263 | .TP 264 | \fB\-Xplugin:\fR<\fIpaths\fR> 265 | Load a plugin from each classpath. 266 | .TP 267 | \fB\-Xplugin-disable:\fR<\fIplugin\fR> 268 | Disable plugins by name. 269 | .TP 270 | \fB\-Xplugin-list\fR 271 | Print a synopsis of loaded plugins. 272 | .TP 273 | \fB\-Xplugin-require:\fR<\fIplugin\fR> 274 | Abort if a named plugin is not loaded. 275 | .TP 276 | \fB\-Xpluginsdir\fR <\fIpath\fR> 277 | Path to search for plugin archives. 278 | .TP 279 | \fB\-Xprint:\fR<\fIphases\fR> 280 | Print out program after <\fIphases\fR> (see below). 281 | .TP 282 | \fB\-Xprint-icode\fR[:<\fIphases\fR>] 283 | Log internal icode to *.icode files after<\fIphases\fR> (default: icode). 284 | .TP 285 | \fB\-Xprint-pos\fR 286 | Print tree positions, as offsets. 287 | .TP 288 | \fB\-Xprint-types\fR 289 | Print tree types (debugging option). 290 | .TP 291 | \fB\-Xprompt\fR 292 | Display a prompt after each error (debugging option). 293 | .TP 294 | \fB\-Xresident\fR 295 | Compiler stays resident, files to compile are read from standard input. 296 | .TP 297 | \fB\-Xscript\fR <\fIobject\fR> 298 | Treat the source file as a script and wrap it in a main method. 299 | .TP 300 | \fB\-Xshow-class\fR <\fIclass\fR> 301 | Show internal representation of class. 302 | .TP 303 | \fB\-Xshow-object\fR <\fIobject\fR> 304 | Show internal representation of object. 305 | .TP 306 | \fB\-Xshow-phases\fR 307 | Print a synopsis of compiler phases. 308 | .TP 309 | \fB\-Xsource:\fR<\fIversion\fR> 310 | Treat compiler input as Scala source for the specified version, see SI-8126. 311 | .TP 312 | \fB\-Xsource-reader\fR <\fIclassname\fR> 313 | Specify a custom method for reading source files. 314 | .TP 315 | \fB\-Xstrict-inference\fR 316 | Don't infer known-unsound types. 317 | .TP 318 | \fB\-Xverify\fR 319 | Verify generic signatures in generated bytecode (asm backend only). 320 | .TP 321 | \fB\-Y\fR 322 | Print a synopsis of private options. 323 | .\" 324 | .\" ############################## Compilation Phases ############################### 325 | .\" 326 | .SS "Compilation Phases" 327 | .PP 328 | .TP 329 | \fIparser\fR 330 | parse source into ASTs, perform simple desugaring 331 | .TP 332 | \fInamer\fR 333 | resolve names, attach symbols to named trees 334 | .TP 335 | \fIpackageobjects\fR 336 | load package objects 337 | .TP 338 | \fItyper\fR 339 | the meat and potatoes: type the trees 340 | .TP 341 | \fIpatmat\fR 342 | translate match expressions 343 | .TP 344 | \fIsuperaccessors\fR 345 | add super accessors in traits and nested classes 346 | .TP 347 | \fIextmethods\fR 348 | add extension methods for inline classes 349 | .TP 350 | \fIpickler\fR 351 | serialize symbol tables 352 | .TP 353 | \fIrefchecks\fR 354 | reference/override checking, translate nested objects 355 | .TP 356 | \fIselectiveanf\fR 357 | ANF pre-transform for \fI@cps\fR (CPS plugin) 358 | .TP 359 | \fIselectivecps\fR 360 | \fI@cps\fR-driven transform of selectiveanf assignments (CPS plugin) 361 | .TP 362 | \fIuncurry\fR 363 | uncurry, translate function values to anonymous classes 364 | .TP 365 | \fItailcalls\fR 366 | replace tail calls by jumps 367 | .TP 368 | \fIspecialize\fR 369 | \fI@specialized\fR-driven class and method specialization 370 | .TP 371 | \fIexplicitouter\fR 372 | this refs to outer pointers, translate patterns 373 | .TP 374 | \fIerasure\fR 375 | erase types, add interfaces for traits 376 | .TP 377 | \fIposterasure\fR 378 | clean up erased inline classes 379 | .TP 380 | \fIlazyvals\fR 381 | allocate bitmaps, translate lazy vals into lazified defs 382 | .TP 383 | \fIlambdalift\fR 384 | move nested functions to top level 385 | .TP 386 | \fIconstructors\fR 387 | move field definitions into constructors 388 | .TP 389 | \fIflatten\fR 390 | eliminate inner classes 391 | .TP 392 | \fImixin\fR 393 | mixin composition 394 | .TP 395 | \fIcleanup\fR 396 | platform-specific cleanups, generate reflective calls 397 | .TP 398 | \fIdelambdafy\fR 399 | remove lambdas 400 | .TP 401 | \fIicode\fR 402 | generate portable intermediate code 403 | .TP 404 | \fIinliner\fR 405 | optimization: do inlining 406 | .TP 407 | \fIinlineHandlers\fR 408 | optimization: inline exception handlers 409 | .TP 410 | \fIcloselim\fR 411 | optimization: eliminate uncalled closures 412 | .TP 413 | \fIconstopt\fR 414 | optimization: optimize null and other constants 415 | .TP 416 | \fIdce\fR 417 | optimization: eliminate dead code 418 | .TP 419 | \fIjvm\fR 420 | generate JVM bytecode 421 | .TP 422 | \fIterminal\fR 423 | the last phase in the compiler chain 424 | .TP 425 | \fIall\fR 426 | matches all phases 427 | .\" 428 | .\" ############################## ENVIRONMENT ############################### 429 | .\" 430 | .SH ENVIRONMENT 431 | .PP 432 | .TP 433 | \fBJAVACMD\fR 434 | Specify the \fBjava\fR command to be used for running the Scala code. Arguments may be specified as part of the environment variable; spaces, quotation marks, etc., will be passed directly to the shell for expansion. 435 | .TP 436 | \fBJAVA_HOME\fR 437 | Specify JDK/JRE home directory. This directory is used to locate the \fBjava\fR command unless \fBJAVACMD\fR variable set. 438 | .TP 439 | \fBJAVA_OPTS\fR 440 | Specify the options to be passed to the \fBjava\fR command defined by \fBJAVACMD\fR. 441 | .IP 442 | With Java 1.5 (or newer) one may for example configure the memory usage of the JVM as follows: JAVA_OPTS="-Xmx512M -Xms16M -Xss16M" 443 | .IP 444 | With GNU Java one may configure the memory usage of the GIJ as follows: JAVA_OPTS="--mx512m --ms16m" 445 | .IP 446 | 447 | .\" 448 | .\" ############################## EXAMPLES ############################### 449 | .\" 450 | .SH EXAMPLES 451 | .PP 452 | .TP 453 | Compile a Scala program to the current directory 454 | \fBscalac\fR HelloWorld 455 | .TP 456 | Compile a Scala program to the destination directory \fBclasses\fR 457 | \fBscalac\fR \fB\-d\fR classes HelloWorld.scala 458 | .TP 459 | Compile a Scala program using a user-defined \fBjava\fR command 460 | \fBenv JAVACMD\fR=/usr/local/bin/cacao \fBscalac\fR \fB\-d\fR classes HelloWorld.scala 461 | .TP 462 | Compile all Scala files found in the source directory \fBsrc\fR to the destination directory \fBclasses\fR 463 | \fBscalac\fR \fB\-d\fR classes src/*.scala 464 | .\" 465 | .\" ############################## EXIT STATUS ############################### 466 | .\" 467 | .SH "EXIT STATUS" 468 | .PP 469 | \fBscalac\fR returns a zero exist status if it succeeds to compile the specified input files. Non zero is returned in case of failure. 470 | .\" 471 | .\" ############################## AUTHOR ############################### 472 | .\" 473 | .SH AUTHOR 474 | .PP 475 | Written by Martin Odersky and other members of the Scala team. 476 | .\" 477 | .\" ############################## REPORTING BUGS ############################### 478 | .\" 479 | .SH "REPORTING BUGS" 480 | .PP 481 | Report bugs to https://issues.scala-lang.org/. 482 | .\" 483 | .\" ############################## COPYRIGHT ############################### 484 | .\" 485 | .SH COPYRIGHT 486 | .PP 487 | This is open-source software, available to you under a BSD-like license. See accompanying "copyright" or "LICENSE" file for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 488 | .\" 489 | .\" ############################## SEE ALSO ############################### 490 | .\" 491 | .SH "SEE ALSO" 492 | .PP 493 | \fBfsc\fR(1), \fBscala\fR(1), \fBscaladoc\fR(1), \fBscalap\fR(1) 494 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/man/man1/scaladoc.1: -------------------------------------------------------------------------------- 1 | .\" ########################################################################## 2 | .\" # __ # 3 | .\" # ________ ___ / / ___ Scala 2 On-line Manual Pages # 4 | .\" # / __/ __// _ | / / / _ | (c) 2002-2013, LAMP/EPFL # 5 | .\" # __\ \/ /__/ __ |/ /__/ __ | # 6 | .\" # /____/\___/_/ |_/____/_/ | | http://scala-lang.org/ # 7 | .\" # |/ # 8 | .\" ########################################################################## 9 | .\" 10 | .\" Process this file with nroff -man scala.1 11 | .\" 12 | .TH scaladoc 1 "June 2010" "version 2.0" "USER COMMANDS" 13 | .\" 14 | .\" ############################## NAME ############################### 15 | .\" 16 | .SH NAME 17 | .PP 18 | \fBscaladoc\fR \- Documentation generator for the Scala 2 language 19 | .\" 20 | .\" ############################## SYNOPSIS ############################### 21 | .\" 22 | .SH SYNOPSIS 23 | .PP 24 | \fBscaladoc\fR [ <\fIoptions\fR> ] <\fIsource files\fR> 25 | .\" 26 | .\" ############################## PARAMETERS ############################### 27 | .\" 28 | .SH PARAMETERS 29 | .PP 30 | .TP 31 | <\fIoptions\fR> 32 | Command line options. See \fBOPTIONS\fR below. 33 | .TP 34 | <\fIsource files\fR> 35 | One or more source files to be compiled (such as MyClass.scala). 36 | .\" 37 | .\" ############################## DESCRIPTION ############################### 38 | .\" 39 | .SH DESCRIPTION 40 | .PP 41 | The \fBscaladoc\fR tool reads class and object definitions, written in the Scala 2 programming language, and generates their API as HTML files. 42 | .PP 43 | By default, the generator puts each HTML file in the same directory as its source file. You can specify a separate destination directory with \fB\-d\fR (see \fBOPTIONS\fR, below). 44 | .PP 45 | The recognised format of comments in source is described in the online documentation 46 | .\" 47 | .\" ############################## OPTIONS ############################### 48 | .\" 49 | .SH OPTIONS 50 | .\" 51 | .\" ############################## Standard Options ############################### 52 | .\" 53 | .SS "Standard Options" 54 | .PP 55 | .TP 56 | \fB\-d\fR <\fIdirectory\fR> 57 | Specify where to generate documentation. 58 | .TP 59 | \fB\-version\fR 60 | Print product version and exit. 61 | .TP 62 | \fB\-help\fR 63 | Print a synopsis of available options. 64 | .\" 65 | .\" ############################## Documentation Options ############################### 66 | .\" 67 | .SS "Documentation Options" 68 | .PP 69 | .TP 70 | \fB\-doc-title\fR <\fItitle\fR> 71 | Define the overall title of the documentation, typically the name of the library being documented. 72 | .TP 73 | \fB\-doc-version\fR <\fIversion\fR> 74 | Define the overall version number of the documentation, typically the version of the library being documented. 75 | .TP 76 | \fB\-doc-source-url\fR <\fIurl\fR> 77 | Define a URL to be concatenated with source locations for link to source files. 78 | .TP 79 | \fB\-doc-external-doc\fR <\fIexternal-doc\fR> 80 | Define a comma-separated list of classpath_entry_path#doc_URL pairs describing external dependencies. 81 | .\" 82 | .\" ############################## Compiler Options ############################### 83 | .\" 84 | .SS "Compiler Options" 85 | .PP 86 | .TP 87 | \fB\-verbose\fR 88 | Output messages about what the compiler is doing 89 | .TP 90 | \fB\-deprecation\fR 91 | Indicate whether source should be compiled with deprecation information; defaults to off (accepted values are: on, off, yes and no) 92 | .IP 93 | Available since Scala version 2.2.1 94 | .IP 95 | 96 | .TP 97 | \fB\-classpath\fR <\fIpath\fR> 98 | Specify where to find user class files (on Unix-based systems a colon-separated list of paths, on Windows-based systems, a semicolon-separate list of paths). This does not override the built-in ("boot") search path. 99 | .IP 100 | The default class path is the current directory. Setting the CLASSPATH variable or using the -classpath command-line option overrides that default, so if you want to include the current directory in the search path, you must include "." in the new settings. 101 | .IP 102 | 103 | .TP 104 | \fB\-sourcepath\fR <\fIpath\fR> 105 | Specify where to find input source files. 106 | .TP 107 | \fB\-bootclasspath\fR <\fIpath\fR> 108 | Override location of bootstrap class files (where to find the standard built-in classes, such as "scala.List"). 109 | .TP 110 | \fB\-extdirs\fR <\fIdirs\fR> 111 | Override location of installed extensions. 112 | .TP 113 | \fB\-encoding\fR <\fIencoding\fR> 114 | Specify character encoding used by source files. 115 | .IP 116 | The default value is platform-specific (Linux: "UTF8", Windows: "Cp1252"). Executing the following code in the Scala interpreter will return the default value on your system: 117 | .IP 118 | \fB scala> \fRnew java.io.InputStreamReader(System.in).getEncoding 119 | .IP 120 | 121 | .\" 122 | .\" ############################## EXIT STATUS ############################### 123 | .\" 124 | .SH "EXIT STATUS" 125 | .PP 126 | \fBscaladoc\fR returns a zero exit status if it succeeds at processing the specified input files. Non zero is returned in case of failure. 127 | .\" 128 | .\" ############################## AUTHORS ############################### 129 | .\" 130 | .SH AUTHORS 131 | .PP 132 | This version of Scaladoc was written by Gilles Dubochet with contributions by Pedro Furlanetto and Johannes Rudolph. It is based on the original Scaladoc (Sean McDirmid, Geoffrey Washburn, Vincent Cremet and Stéphane Micheloud), on vScaladoc (David Bernard), as well as on an unreleased version of Scaladoc 2 (Manohar Jonnalagedda). 133 | .\" 134 | .\" ############################## SEE ALSO ############################### 135 | .\" 136 | .SH "SEE ALSO" 137 | .PP 138 | \fBfsc\fR(1), \fBscala\fR(1), \fBscalac\fR(1), \fBscalap\fR(1) 139 | -------------------------------------------------------------------------------- /scala/2.11/scala-2.11.7/man/man1/scalap.1: -------------------------------------------------------------------------------- 1 | .\" ########################################################################## 2 | .\" # __ # 3 | .\" # ________ ___ / / ___ Scala 2 On-line Manual Pages # 4 | .\" # / __/ __// _ | / / / _ | (c) 2002-2013, LAMP/EPFL # 5 | .\" # __\ \/ /__/ __ |/ /__/ __ | # 6 | .\" # /____/\___/_/ |_/____/_/ | | http://scala-lang.org/ # 7 | .\" # |/ # 8 | .\" ########################################################################## 9 | .\" 10 | .\" Process this file with nroff -man scala.1 11 | .\" 12 | .TH scalap 1 "June 2006" "version 1.0" "USER COMMANDS" 13 | .\" 14 | .\" ############################## NAME ############################### 15 | .\" 16 | .SH NAME 17 | .PP 18 | \fBscalap\fR \- Scala class file decoder for the Scala 2 language 19 | .\" 20 | .\" ############################## SYNOPSIS ############################### 21 | .\" 22 | .SH SYNOPSIS 23 | .PP 24 | \fBscalap\fR [ <\fIoptions\fR> ] <\fIclass name\fR> 25 | .\" 26 | .\" ############################## PARAMETERS ############################### 27 | .\" 28 | .SH PARAMETERS 29 | .PP 30 | .TP 31 | <\fIoptions\fR> 32 | Command line options. See \fBOPTIONS\fR below. 33 | .TP 34 | <\fIclass name\fR> 35 | Full-qualified name of a class to be decoded (such as hello.HelloWorld). 36 | .\" 37 | .\" ############################## DESCRIPTION ############################### 38 | .\" 39 | .SH DESCRIPTION 40 | .PP 41 | The \fBscalap\fR tool reads a class file generated by theScala compiler, and displays object and class definitions. 42 | .PP 43 | By default, \fBscalap\fR looks for the given class file in the current directory. You can specify a separate classpath with \fB\-classpath\fR (see \fBOPTIONS\fR, below). 44 | .\" 45 | .\" ############################## OPTIONS ############################### 46 | .\" 47 | .SH OPTIONS 48 | .PP 49 | The decoder has a set of standard options that are supported on the current development environment and will be supported in future releases. 50 | .\" 51 | .\" ############################## Standard Options ############################### 52 | .\" 53 | .SS "Standard Options" 54 | .PP 55 | .TP 56 | \fB\-help\fR 57 | Display this usage message. 58 | .TP 59 | \fB\-private\fR 60 | Print private definitions. 61 | .TP 62 | \fB\-verbose\fR 63 | Print out additional information. 64 | .TP 65 | \fB\-version\fR 66 | Print product version and exit. 67 | .TP 68 | \fB\-cp\fR | \fB\-classpath\fR 69 | Specify where to find user class files. 70 | .\" 71 | .\" ############################## EXAMPLES ############################### 72 | .\" 73 | .SH EXAMPLES 74 | .PP 75 | .TP 76 | Display definitions for a generated class file 77 | \fBscalap\fR hello.HelloWorld 78 | .\" 79 | .\" ############################## EXIT STATUS ############################### 80 | .\" 81 | .SH "EXIT STATUS" 82 | .PP 83 | \fBscalap\fR returns a zero exist status if it succeeds to process the specified input files. Non zero is returned in case of failure. 84 | .\" 85 | .\" ############################## AUTHOR ############################### 86 | .\" 87 | .SH AUTHOR 88 | .PP 89 | Written by Ilya Sergey. 90 | .\" 91 | .\" ############################## REPORTING BUGS ############################### 92 | .\" 93 | .SH "REPORTING BUGS" 94 | .PP 95 | Report bugs to https://issues.scala-lang.org/. 96 | .\" 97 | .\" ############################## COPYRIGHT ############################### 98 | .\" 99 | .SH COPYRIGHT 100 | .PP 101 | This is open-source software, available to you under a BSD-like license. See accompanying "copyright" or "LICENSE" file for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 102 | .\" 103 | .\" ############################## SEE ALSO ############################### 104 | .\" 105 | .SH "SEE ALSO" 106 | .PP 107 | \fBfsc\fR(1), \fBscala\fR(1), \fBscalac\fR(1), \fBscaladoc\fR(1) 108 | -------------------------------------------------------------------------------- /utils/builder.rb: -------------------------------------------------------------------------------- 1 | 2 | class ExecError < StandardError 3 | attr_accessor :exit_status, :last_line 4 | 5 | def initialize(exit_status, last_line) 6 | super("Error on cmd. #{exit_status}") 7 | self.exit_status = exit_status 8 | self.last_line = last_line 9 | end 10 | end 11 | 12 | def stream_exec(cmd) 13 | puts "Executing cmd: #{cmd}" 14 | exit_status = nil 15 | last_line = "" 16 | Open3.popen2e(cmd) do |stdin, stdout_stderr, wait_thread| 17 | Thread.new do 18 | stdout_stderr.each {|l| 19 | puts l 20 | # Save last line for error checking 21 | last_line = l 22 | } 23 | end 24 | 25 | # stdin.puts 'ls' 26 | # stdin.close 27 | 28 | exit_status = wait_thread.value 29 | raise ExecError.new(exit_status, last_line) if exit_status.exitstatus != 0 30 | end 31 | return exit_status 32 | end 33 | 34 | def build(name) 35 | puts "Building #{name}..." 36 | cmd = "docker build --no-cache -t #{name} ." 37 | 38 | stream_exec(cmd) 39 | end 40 | 41 | # vtag tags the versions and returns which tags it added 42 | # numtags is how many version tags starting from patch. If 1, then only patch will be applied. 43 | def vtag(name, fromtag, v, dev=false, numtags=3) 44 | tags_added = [fromtag] 45 | newnum = [numtags, v.split(".").length()].min() 46 | newnum.times do |i| 47 | t = v 48 | t += "-dev" if dev 49 | to = "#{name}:#{t}" 50 | from = "#{name}:#{fromtag}" 51 | puts "Tagging #{from} with #{to}" 52 | status = stream_exec("docker tag #{from} #{to}") 53 | tags_added << t 54 | v = v[0...v.rindex('.')] if i < (newnum - 1) 55 | end 56 | return tags_added 57 | end 58 | 59 | def push_all(name, tags) 60 | tags.each do |t| 61 | fullname = "#{name}:#{t}" 62 | puts "Pushing #{fullname}" 63 | status = stream_exec("docker push #{fullname}") 64 | end 65 | end 66 | --------------------------------------------------------------------------------