dart-sdk/pkg
Vyacheslav Egorov a97f85ef0e [tfa] Make kPrintStats runtime configurable
Currently we have to ask users to run TFA from source
(which requires a lot of dances with figuring out
command line and checking out Dart SDK).

However statistics printing does not impose any runtime
overhead (as opposed for example to kPrintTimings
which tracks timings) so it can be runtime configurable.

Inspired by https://github.com/flutter/flutter/issues/136529

TEST=tested manually

Change-Id: Ie496d6babb1e8cbbbb9a665b14656ea334a2eeed
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/331881
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Slava Egorov <vegorov@google.com>
2023-10-26 11:19:24 +00:00
..
_fe_analyzer_shared Improve the behavior of "why not promoted" when field promotion disabled. 2023-10-25 19:41:26 +00:00
_js_interop_checks [kernel] Add ExtensionTypeDeclaration.procedures 2023-10-13 07:42:29 +00:00
analysis_server Update add_missing_switch_cases code template 2023-10-25 19:42:02 +00:00
analysis_server_client Add a method to BulkFixProcessor to compute changes to pubspec 2023-10-16 21:54:25 +00:00
analyzer [analyzer] Mark const iterables unknown if there is a unknown bool in an If Statement entry 2023-10-25 22:31:32 +00:00
analyzer_cli Support for # ignore: comments in pubspec.yaml 2023-10-13 12:44:09 +00:00
analyzer_plugin Complete in the representation field 2023-10-19 21:08:32 +00:00
analyzer_utilities Update analyzer_utilties to Dart 3 and enable more lints 2023-09-14 20:27:26 +00:00
async_helper [deps] roll package:lints to the latest 2023-10-05 03:36:59 +00:00
bisect_dart [bisect_dart] Enable further analysis for bisect_dart tool 2023-10-24 16:21:14 +00:00
build_integration
compiler [dart2js] Add back private indices for entity maps. 2023-10-24 22:49:38 +00:00
dap [dds/dap] Use super-params in generated code 2023-09-26 20:31:43 +00:00
dart2js_info [dart2js_info] Add 'main-only' option to info diff. 2023-10-24 21:38:42 +00:00
dart2js_runtime_metrics [ddc] Update for extra null safety checks in RTI 2023-10-19 21:32:15 +00:00
dart2js_tools [deps] roll package:lints to the latest 2023-10-05 03:36:59 +00:00
dart2native [Reland] [dartdev] Convert gen_kernel.dart.snapshot into an AOT snapshot 2023-09-26 21:46:58 +00:00
dart2wasm [cfe] Add TypeDeclarationType and asInstanceOf 2023-10-26 08:46:48 +00:00
dart_internal Increase maximum sdk version constraint on dart_internal to 3.3.0 2023-07-27 00:29:42 +00:00
dartdev Add a pass to dart fix for pubspec changes 2023-10-24 16:44:07 +00:00
dds [dds/dap] Switch to using isGetter isntead of checking _kind 2023-10-24 17:39:36 +00:00
dds_service_extensions Split package:vm_service into package:vm_service and package:vm_service_interface 2023-10-23 17:00:10 +00:00
dev_compiler [cfe] Add TypeDeclarationType and asInstanceOf 2023-10-26 08:46:48 +00:00
expect [deps] roll package:lints to the latest 2023-10-05 03:36:59 +00:00
front_end [cfe] Support inherited combined member signatures 2023-10-26 09:56:05 +00:00
frontend_server [frontend_server] Cleanup license headers 2023-10-18 06:59:38 +00:00
heap_snapshot Use for-each statement, not 'forEach' method. 2023-10-20 15:32:49 +00:00
js
js_ast [web] do not run most 'pkg' suite on web compilers 2023-10-20 19:08:17 +00:00
js_runtime [deps] roll package:lints to the latest 2023-10-05 03:36:59 +00:00
js_shared [dart2js][ddc] Make rti universe field names const 2023-10-09 21:12:48 +00:00
kernel [cfe] Add TypeDeclarationType and asInstanceOf 2023-10-26 08:46:48 +00:00
language_versioning_2_7_test
linter rule generation codegen tweaks 2023-10-19 16:42:25 +00:00
meta meta 1.11.0 2023-10-10 22:21:05 +00:00
mmap
modular_test [deps] roll package:lints to the latest 2023-10-05 03:36:59 +00:00
native_stack_traces Bump package:lints to the latest; address instances of new lints. 2023-09-25 21:15:15 +00:00
nnbd_migration Improve the behavior of "why not promoted" when field promotion disabled. 2023-10-25 19:41:26 +00:00
scrape [VM] Remove observatory_2 directory and all references to it. 2023-10-16 17:45:46 +00:00
service_extension_router Initial Implementation for Service Extension Router 2023-10-24 21:58:21 +00:00
smith [infra,dart2wasm] Add dart2wasm Firefox test configurations 2023-09-29 12:54:12 +00:00
sourcemap_testing
status_file [test] Remove ARM64-specific status entries. 2023-10-09 19:30:29 +00:00
telemetry
test_runner [test_runner] First batch test after compiler launch gets more timeout 2023-10-25 11:09:38 +00:00
testing Fix incorrect file reference in license headers 2023-09-18 06:44:08 +00:00
vm [tfa] Make kPrintStats runtime configurable 2023-10-26 11:19:24 +00:00
vm_service [ package:vm_service ] Cleanup for 13.0.0 release 2023-10-25 14:02:42 +00:00
vm_service_interface [ package:vm_service ] Cleanup for 13.0.0 release 2023-10-25 14:02:42 +00:00
vm_service_protos [deps] rev package:protobuf 2023-10-23 21:21:30 +00:00
vm_snapshot_analysis
wasm_builder [wasm_builder] Remove duplicate LICENSE file 2023-10-23 12:16:14 +00:00
.gitignore
analysis_options.yaml
BUILD.gn
OWNERS
pkg.dart [deps] roll package:lints to the latest 2023-10-05 03:36:59 +00:00
pkg.status [web] do not run most 'pkg' suite on web compilers 2023-10-20 19:08:17 +00:00
README.md

Package validation

The packages in pkg/ are automatically validated on the LUCI CI bots. The validation is largely done by the tools/package_deps package; it can be tested locally via:

dart tools/package_deps/bin/package_deps.dart

Packages which are published

There are several packages developed in pkg/ which are published to pub. Validation of these packages is particularly important because the pub tools are not used for these packages during development; we get our dependency versions from the DEPS file. Its very easy for the dependencies specified in a package's pubspec file to get out of date wrt the packages and versions actually used.

In order to better ensure we're publishing correct packages, we validate some properties of the pubspec files on our CI system. These validations include:

  • that the dependencies listed in the pubspec are used in the package
  • that all the packages used by the source are listed in the pubspec
  • that we don't use relative path deps to pkg/ or third_party/ packages

Packages which are not published

For packages in pkg/ which we do not intend to be published, we put the following comment in the pubspec.yaml file:

# This package is not intended for consumption on pub.dev. DO NOT publish.
publish_to: none

These pubspecs are still validated by the package validation tool. The contents are more informational as the pubspecs for these packages are not consumed by the pub tool or ecosystem.

We validate:

  • that the dependencies listed in the pubspec are used in the package
  • that all the packages used by the source are listed in the pubspec
  • that a reference to a pkg/ package is done via a relative path dependency