Skip to content
This repository was archived by the owner on Feb 22, 2018. It is now read-only.
Martin Kustermann edited this page Sep 28, 2016 · 11 revisions

Authentication

Configure ssh agent

Dependencies in DEPS files are https:// urls to enable everyone to perform a source checkout. But for a developer (and for private repositories) it is more convenient to use ssh (which avoids http authentication issues, in particular in combination with gclient). It is therefore advisable to put this section into the ~/.gitconfig:

[url "git@github.com:"]
        insteadof = https://github.com/

Running the ssh agent and adding the private key will setup environment variables which allow password less read/write access to the github repository:

$ eval $(ssh-agent)
$ ssh-add ~/.ssh/github_private_key

Source checkout

When upgrading from an GoB checkout, please just add a new remote (e.g. github) and fetch:

cd sdk
git remote add github https://github.com/dart-lang/kernel_sdk.git
git fetch github

A fresh checkout can be made with these steps:

mkdir kernel-sdk
cd kernel-sdk
gclient config --unmanaged --name=sdk https://github.com/dart-lang/kernel_sdk.git
gclient sync
cd sdk
git checkout origin/aot -b aot
gclient sync

Building

In order to build the DartVM and use it for running tests one needs to build the runtime/dart_precompiled_runtime targets (which includes the dart binary (used for JITed mode) and dart_bootstrap/gen_snapshot/dart_precompiled_runtime binaries (used for precompilation))

# Linux:
./tools/build.py --mode=debug --arch=x64 runtime dart_precompiled_runtime
# Mac:
./tools/build.py --mode=debug --arch=x64 runtime runtime_precompiled

Running tests

Running the tests

Run the tests with dartk in JITed mode:

./tools/test.py -mdebug -ax64 --compiler=dartk --runtime=vm dill language co19

Run the tests with dartk in precompilation mode:

./tools/test.py -mdebug -ax64 --compiler=dartkp --runtime=dart_precompiled dill language co19

Running (additional) kernel transformers.

One can run kernel2kernel transformers by using the --kernel-transformers=mytransformer:/path/to/mytransformer.sh command line flag.

Adding a new hand-written test to the dill test suite

edit tests/dill/unsorted/testname_test.dart
git add tests/dill/unsorted/testname_test.dart