diff --git a/docs/docs/contributing/getting-started.md b/docs/docs/contributing/getting-started.md index 010de42bdb6e..4baf842720aa 100644 --- a/docs/docs/contributing/getting-started.md +++ b/docs/docs/contributing/getting-started.md @@ -65,5 +65,14 @@ or via bash: $ dotr ``` + +Generating Documentation +------------------------- +To generate this page and other static page docs, run +```bash +$ sbt +> genDocs +``` + Before contributing to Dotty, we invite you to consult the [Dotty Developer Guidelines](https://github.com/lampepfl/dotty/blob/master/CONTRIBUTING). diff --git a/docs/docs/usage/getting-started.md b/docs/docs/usage/getting-started.md new file mode 100644 index 000000000000..1a1d0ce3fbf0 --- /dev/null +++ b/docs/docs/usage/getting-started.md @@ -0,0 +1,98 @@ +--- +layout: doc-page +title: Getting Started: Users +--- + + + +Basics +------------ +Make sure that you are using Java 8 or later. The output of `java -version` +should contain `1.8`. + + +Option 1: Install Dotty +------------- +If you're a Mac user, you can install dotty with [brew](https://brew.sh/) + +```bash +brew install lampepfl/brew/dotty +``` + +If you're a Linux or Windows user, download the [latest release](https://github.com/lampepfl/dotty/releases). Optionally add path of the folder `bin/` to the system environment variable `PATH`. + +Option 2: Using Dotty directly from source +------------- +```bash +$ git clone --recursive https://github.com/lampepfl/dotty.git +$ cd dotty +$ sbt managedSources # Needed for IDE import to succeed +``` + +Dotty provides a standard sbt build: compiling, running and starting a repl can +all be done from within sbt: + +```bash +$ sbt +> dotc tests/pos/HelloWorld.scala +> dotr HelloWorld +hello world +``` + +Try Dotty +---------- +Try it in your browser with [Scastie](https://scastie.scala-lang.org/?target=dotty) + + +Create a Dotty Project +----------------------- +The fastest way to create a new project in dotty is using [sbt (0.13.5+)](http://www.scala-sbt.org/) + +Create a dotty project: +```bash +$ sbt new lampepfl/dotty.g8 +``` + +Or a Dotty project that cross compiles with Scala 2: +```bash +$ sbt new lampepfl/dotty-cross.g8 +``` + +For an example project, see the [Dotty Example Proejct](https://github.com/lampepfl/dotty-example-project) + + +Bash Scripts +------------- +Assuming that you have cloned the Dotty repo locally, append the following line on your `.bash_profile`: + +```shell +$ export PATH=$HOME/dotty/bin:$PATH +``` + +and you will be able to run the corresponding commands directly from your console: + +```shell +# Compile code using Dotty +$ dotc tests/pos/HelloWorld.scala + +# Run it with the proper classpath +$ dotr HelloWorld +``` + + +Starting a REPL +---------------- +```bash +$ sbt +> repl +Welcome to Scala.next (pre-alpha) (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_101). +Type in expressions to have them evaluated. +Type :help for more information. +scala> +``` + +or via bash: + +```bash +$ dotr +``` diff --git a/docs/sidebar.yml b/docs/sidebar.yml index d67d474fe5c2..3fe51c77d90b 100644 --- a/docs/sidebar.yml +++ b/docs/sidebar.yml @@ -3,6 +3,8 @@ sidebar: url: blog/index.html - title: Usage subsection: + - title: Getting Started + url: docs/usage/getting-started.html - title: sbt-projects url: docs/usage/sbt-projects.html - title: IDE support for Dotty