Find a file
Mike Fairhurst 748cfdff7e Refactor to efficiently find analysis roots correctly fix #31343 & #31344.
Move logic out into a ContextCache since we're not interested in caching
at least two if not three things (the options, the options path, and
optionally the builder).

Move some convenience methods around accessing contexts into a mixin.

Regarding some semantic decisions for finding analysis roots:
* treat the analysis_options.yaml file as the analysis root if it exists
* if it doesn't exist, assume the directory passed in is the root
* if custom options are provided, assume they "overwrite" the others
  _in-place_.

Tests to confirm this logic via excludes configurations with & without
the yaml file specified, passing in the root in some cases and
subdirectories in others.

Also change to use PathFinder for handling wildcards in excludes.

Bug: 31343,31344
Change-Id: I400fe30a1ec379f9040f812fc0bd9481d42a13cf
Reviewed-on: https://dart-review.googlesource.com/41570
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-03-05 23:51:00 +00:00
build [infra] Roll toolchain. 2018-03-01 20:09:29 +00:00
client Remove old annotated_steps buildbot scripts and dispatcher 2017-05-23 16:17:02 +02:00
docs Draft feature specification for mixin inference 2018-02-23 05:56:03 +00:00
pkg Refactor to efficiently find analysis roots correctly fix #31343 & #31344. 2018-03-05 23:51:00 +00:00
runtime Revert "[VM] Support some 32bit instructions in 64bit assemblers." 2018-03-05 15:29:56 +00:00
samples Make strong mode the default under --preview-dart-2. 2018-02-27 22:16:07 +00:00
samples-dev New methods on Iterable, List, Set, Queue, Map. 2018-02-07 06:12:53 +00:00
sdk Revert "Do not return this on RandomAccessFile.close" 2018-03-05 13:10:41 +00:00
tests Cleanup language_2 .status 2018-03-05 23:26:00 +00:00
third_party DEPS in package:http_io 2018-01-26 18:49:59 +00:00
tools Also exclude 'Ok' as a valid status to ignore when checking for runtime errors 2018-03-05 22:19:40 +00:00
utils Add rules to build dart2js platform in strong mode 2018-03-02 22:19:19 +00:00
.clang-format VM: Re-format to use at most one newline between functions 2017-07-13 08:08:37 -07:00
.gitattributes Migrate the lingering language_strong tests over to language_2. 2017-10-27 23:44:08 +00:00
.gitignore Git ignore vscode project files. 2017-03-23 15:26:06 -07:00
.gn Starting work on full GN build 2016-09-23 07:47:36 -07:00
.mailmap Add .mailmap file. 2015-05-18 19:33:16 +02:00
.packages Remove typed_mock 2018-02-21 22:22:32 +00:00
AUTHORS Add Cristian Almstrand to AUTHORS 2015-07-16 09:51:56 -07:00
BUILD.gn [VM] Exclude runtime/bin:precompiler_entry_points_json from being generated for ia32/dbc 2018-02-27 10:57:47 +00:00
CHANGELOG.md Bring in the latest pub 2018-02-27 23:49:46 +00:00
codereview.settings Update codereview.settings to Gerrit (dart-review.googlesource.com) 2017-09-04 12:52:09 +00:00
DEPS Roll async in DEPS to 2.0.6 2018-03-03 02:09:14 +00:00
LICENSE Remove the Dromaeo and TodoMVC samples. 2016-01-11 13:09:26 -08:00
PATENTS Move LICENSE, AUTHORS, PATENTS into the dart directory. 2014-02-10 06:48:47 +00:00
PRESUBMIT.py Move new tests from tests/isolate to tests/lib_2/isolate. 2018-02-22 10:03:23 +00:00
README.dart-sdk remove docgen from the sdk 2015-09-18 13:18:10 -07:00
README.md [gardening] Whitespace change to trigger bots. 2017-04-28 10:08:58 -07:00
WATCHLISTS Creates a watchlist for sdk/lib/_http and adds me to it 2018-01-02 18:39:53 +00:00

Dart

Dart is an open-source, scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps.

Using Dart

Visit the dartlang.org to learn more about the language, tools, getting started, and more.

Browse pub.dartlang.org for more packages and libraries contributed by the community and the Dart team.

Building Dart

If you want to build Dart yourself, here is a guide to getting the source, preparing your machine to build the SDK, and building.

There are more documents on our wiki.

Contributing to Dart

The easiest way to contribute to Dart is to file issues.

You can also contribute patches, as described in Contributing.

License & patents

See LICENSE and PATENTS.