| Index: third_party/pkg/angular/DEVELOPER.md
|
| diff --git a/third_party/pkg/angular/DEVELOPER.md b/third_party/pkg/angular/DEVELOPER.md
|
| index ec2f93254e0ae90ef44d7966098466d76af0c096..31071d12022379b2f732b989f5804755eda26500 100644
|
| --- a/third_party/pkg/angular/DEVELOPER.md
|
| +++ b/third_party/pkg/angular/DEVELOPER.md
|
| @@ -1,16 +1,20 @@
|
| # Building and Testing AngularDart
|
|
|
| -This document describes how to set up your development environment to build and test AngularDart, and
|
| -explains the basic mechanics of using `git`, `node`, and `npm`.
|
| +This document describes how to set up your development environment to build and
|
| +test AngularDart, and explains the basic mechanics of using `git`, `node`, and
|
| +`npm`.
|
|
|
| -See the [contributing guidelines](https://github.com/angular/angular.dart/blob/master/CONTRIBUTING.md) for how to contribute your own code to
|
| +See the [contributing guidelines](https://github.com/angular/angular.dart/blob/master/CONTRIBUTING.md)
|
| +for how to contribute your own code to
|
|
|
| 1. [Prerequisite Software](#prerequisite-software)
|
| 2. [Getting the Sources](#getting-the-sources)
|
| 3. [Environment Variable Setup](#environment-variable-setup)
|
| 4. [Installing NPM Modules and Dart Packages](#installing-npm-modules-and-dart-packages)
|
| 5. [Running Tests Locally](#running-tests-locally)
|
| -6. [Continuous Integration using Travis](#continuous-integration-using-travis)
|
| +6. [Dart Editor configuration](#dart-editor-configuration)
|
| +7. [WebStorm configuration](#webstorm-configuration)
|
| +8. [Continuous Integration using Travis](#travis-ci)
|
|
|
| ## Prerequisite Software
|
|
|
| @@ -40,10 +44,13 @@ following products on your development machine:
|
|
|
| Forking and Cloning the AngularDart repository:
|
|
|
| -1. Login to your Github account or create one by following the instructions given [here](https://github.com/signup/free).
|
| +1. Login to your Github account or create one by following the instructions
|
| +given [here](https://github.com/signup/free).
|
| Afterwards.
|
| -2. [Fork](http://help.github.com/forking) the [main AngularDart repository](https://github.com/angular/angular.dart).
|
| -3. Clone your fork of the AngularDart repository and define an `upstream` remote pointing back to the AngularDart repository that you forked in the first place:
|
| +2. [Fork](http://help.github.com/forking) the [main AngularDart repository]
|
| +(https://github.com/angular/angular.dart).
|
| +3. Clone your fork of the AngularDart repository and define an `upstream` remote
|
| +pointing back to the AngularDart repository that you forked in the first place:
|
|
|
| ```shell
|
| # Clone your Github repository:
|
| @@ -71,14 +78,16 @@ illustrative purposes.)
|
| # CHROME_BIN: path to a Chrome browser executable; e.g.,
|
| export CHROME_BIN="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
|
|
|
| -# CHROME_CANARY_BIN: path to a Dartium browser executable; e.g.,
|
| -export CHROME_CANARY_BIN="$DART_EDITOR_DIR/chromium/Chromium.app/Contents/MacOS/Chromium"
|
| +# DARTIUM_BIN: path to a Dartium browser executable; e.g.,
|
| +export DARTIUM_BIN="$DART_EDITOR_DIR/chromium/Chromium.app/Contents/MacOS/Chromium"
|
| ```
|
| -**Note**: the `$CHROME_CANARY_BIN` environment variable is used by karma to run your tests
|
| -in dartium instead of chromium. If you don't do this, the dart2js compile will make the tests
|
| -run extremely slow since it has to wait for a full js compile each time.
|
| +**Note**: the `$DARTIUM_BIN` environment variable is used by karma to run
|
| +your tests in dartium instead of chromium. If you don't do this, the dart2js
|
| +compile will make the tests run extremely slow since it has to wait for a full
|
| +js compile each time.
|
|
|
| -You should also add the Dart SDK `bin` directory to your path and/or define `DART_SDK`; e.g.
|
| +You should also add the Dart SDK `bin` directory to your path and/or define
|
| +`DART_SDK`; e.g.
|
|
|
| ```shell
|
| # DART_SDK: path to a Dart SDK directory; e.g.,
|
| @@ -116,9 +125,9 @@ To run base tests:
|
| dart --checked test/io/all.dart
|
|
|
| # Run expression extractor tests:
|
| -scripts/test-expression-extractor.sh
|
| +./scripts/test-expression-extractor.sh
|
|
|
| -Run the Dart Analyzer:
|
| +# Run the Dart Analyzer:
|
| ./scripts/analyze.sh
|
| ```
|
|
|
| @@ -137,31 +146,107 @@ tests proper by executing:
|
|
|
| ```shell
|
| . ./scripts/env.sh
|
| -karma_run.sh
|
| +./scripts/karma_run.sh
|
| ```
|
|
|
| **Note:**: If the dart analyzer fails with warnings, the tests will not run.
|
| -You can manually run the tests if this happens:
|
| +You can manually run the tests if this happens:
|
|
|
| ```shell
|
| karma run --port=8765
|
| ```
|
|
|
| -## Debugging
|
| +**Note**: If you want to only run a single test you can alter the test you wish
|
| +to run by changing `it` to `iit` or `describe` to `ddescribe`. This will only
|
| +run that individual test and make it much easier to debug. `xit` and `xdescribe`
|
| +can also be useful to exclude a test and a group of tests respectively.
|
|
|
| -In the dart editor you can configure a dartium launch target for the karma test runner debug page.
|
| -The menu option is under Run > Manage Launches > Create new Dartium Launch.
|
| +## Dart Editor configuration
|
| +
|
| +In the dart editor you can configure a dartium launch target for the karma test
|
| +runner debug page. The menu option is under "Run > Manage Launches > Create new
|
| +Dartium Launch".
|
|
|
| ```
|
| http://localhost:8765/debug.html
|
| ```
|
|
|
| -If you want to only run a single test you can alter the test you wish to run by changing `it` to `iit`
|
| -or `describe` to `ddescribe`. This will only run that individual test and make it much easier to debug.
|
| +## WebStorm configuration
|
| +
|
| +### Recent releases
|
| +
|
| +With the recent releases of WebStorm and the karma plugin, you could run the
|
| +test suite by only adding a karma run configuration.
|
| +
|
| +Right-click on the `karma.conf.js` at the root of the project and select
|
| +"create 'karma.conf.js'...".
|
| +
|
| +Set the parameters as follow:
|
| +- **Node interpreter**: `/path/to/node`
|
| +- **Karma node package**: `/path/to/node_modules/karma`
|
| +- **Configuration file (usually *.conf.js)**: `path/to/angular.dart/karma.conf.js`
|
| +- **Environment variables**:
|
| + - **DARTIUM_BIN**: `/path/to/dartium`
|
| + - **PATH**: `/path/to/dart-sdk/bin`
|
| + - **DART_FLAGS**: `--checked`
|
| +
|
| +Now just hit the run button next to the configuration name in the Toolbar and
|
| +you should see the test running. The test suite is automatically executed each
|
| +time a source file is modified.
|
| +
|
| +If you encounter troubles with this configuration, try using the one from the
|
| +following section.
|
| +
|
| +### Former releases
|
| +
|
| +Start by creating a run configuration to launch the Karma server. Go to the menu
|
| +"Run > Edit Configuration Menu" add create a `Node.js` configuration named
|
| +"Karma server".
|
|
|
| +Set the parameters as follow:
|
| +- **Node interpreter**: `/path/to/node`
|
| +- **Working directory**: `/path/to/angular.dart`
|
| +- **JavaScript file**: `node_modules/karma/bin/karma`
|
| +- **Application parameters**: `start karma.conf --reporters dots --port 8765 --browsers=Dartium`
|
| +- **Environment variables**:
|
| + - **DARTIUM_BIN**: `/path/to/dartium`
|
| + - **PATH**: `/path/to/dart-sdk/bin`
|
| + - **DART_FLAGS**: `--checked`
|
|
|
| +Launch the server by selecting the "Karmer server" configuration in the toolbar
|
| +and pressing the play icon. You should see the following message at the bottom
|
| +of the run window:
|
| +`INFO [Chrome 34.0.1847 (Linux)]: Connected on socket 97GpzQz-MfHFPHgHOVkc with id 10199707`
|
| +
|
| +#### Running the tests
|
| +
|
| +You need to create a "Karma tests" run configuration. Start by copying the
|
| +"Karma server" run configuration and xhange the **Application parameters** to
|
| +`run --port=8765`.
|
| +
|
| +To execute the test suite, you just need to run this "Karma tests"
|
| +configuration. You should make sure to execute "Karma server" first _(You do not
|
| +need to restart the server once it has been started once)_.
|
| +
|
| +#### Debugging
|
| +
|
| +You need to create a "JavaScript Debug" configuration named "Karma debug". Set
|
| +the parameters as follow:
|
| +- **URL**: `http://localhost:8765/debug.html`
|
| +- **Browser**: Dartium,
|
| +- **Remote URLs of local files (optional)**:
|
| + - `path/to/angular.dart`: `http://localhost:8765/base`
|
| + - `path/to/angular.dart/lib`: `http://localhost:8765/package:angular`
|
| +
|
| +You can now put breakpoint in your karma tests, run this configuration and debug
|
| +your tests step by step.
|
| +
|
| +You might be asked to install the "JetBrains IDE Support" in Dartium, if not you
|
| +can install it [manually](https://chrome.google.com/webstore/detail/jetbrains-ide-support/hmhgeddbohgjknpmjagkdomcpobmllji).
|
| +
|
| +<a name="travis-ci"></a>
|
| ## Continuous Integration using Travis
|
|
|
| See the instructions given [here](https://github.com/angular/angular.dart/blob/master/travis.md).
|
|
|
| ------
|
| +
|
|
|