dart-sdk/pkg
Alexander Thomas 81d86a05b2 [testing] Simplify analyzer configurations
Bug: b/237755665
Cq-Include-Trybots: luci.dart.try:analyzer-linux-release-try,analyzer-mac-release-try,analyzer-win-release-try
Change-Id: Ia48331d6fd6bf00df9dbe1b895e157a0957064f2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/249608
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2022-07-01 16:16:42 +00:00
..
_fe_analyzer_shared [_fe_analyzer_shared] fix 4 spaces comments as code block 2022-07-01 15:55:00 +00:00
_js_interop_checks [CFE/pkg:js] Find reference of stub if it already exists 2022-06-28 18:36:02 +00:00
analysis_server Remove DocumentationCache, we cache documentation and more in _ElementCompletionData. 2022-06-30 14:52:06 +00:00
analysis_server_client [analysis_server] minor cleanups to analysis server spec generation 2022-06-27 17:21:02 +00:00
analyzer [_fe_analyzer_shared] fix 4 spaces comments as code block 2022-07-01 15:55:00 +00:00
analyzer_cli Move 'libraryFiles' to LibraryFileStateKind. 2022-06-29 15:49:35 +00:00
analyzer_plugin Extract NullableObjectExtension. 2022-06-30 14:25:26 +00:00
analyzer_utilities [analysis_server] minor cleanups to analysis server spec generation 2022-06-27 17:21:02 +00:00
async_helper [pkg] prefer 'any' deps for package dev dependencies 2022-05-27 01:34:59 +00:00
build_integration [pkg] prefer 'any' deps for package dev dependencies 2022-05-27 01:34:59 +00:00
compiler [dart2js] Adding function kind info to closure call methods 2022-07-01 00:30:46 +00:00
dart2js_info [dart2js] Cleaning up readme and removing out-of-date docs 2022-06-21 04:56:22 +00:00
dart2js_runtime_metrics [pkg] prefer 'any' deps for package dev dependencies 2022-05-27 01:34:59 +00:00
dart2js_tools [pkg] prefer 'any' deps for package dev dependencies 2022-05-27 01:34:59 +00:00
dart2native [pkg/dart2native] Print signing failure diagnostics to stderr. 2022-07-01 12:25:47 +00:00
dart2wasm [CFE/pkg:js] Find reference of stub if it already exists 2022-06-28 18:36:02 +00:00
dart_internal [pkg] ensure each publishable package has a repository pubspec field 2022-04-19 22:13:51 +00:00
dartdev [ CLI ] Ensure training arguments aren't parsed by the CLI for JIT snapshots 2022-06-24 14:26:39 +00:00
dds Update devtools_shared version 2022-06-23 17:15:29 +00:00
dds_service_extensions Update vm service version 2022-06-13 21:18:57 +00:00
dev_compiler [ddc] Fix non-null assertion crash 2022-07-01 16:15:53 +00:00
expect [pkg] prefer 'any' deps for package dev dependencies 2022-05-27 01:34:59 +00:00
front_end Flow analysis: Separate variable and type operations. 2022-07-01 14:13:20 +00:00
frontend_server [CFE/pkg:js] Find reference of stub if it already exists 2022-06-28 18:36:02 +00:00
js [pkg] normalize the headers of the pkg/ readmes 2022-05-31 21:00:13 +00:00
js_ast [pkg] prefer 'any' deps for package dev dependencies 2022-05-27 01:34:59 +00:00
js_runtime [pkg] prefer 'any' deps for package dev dependencies 2022-05-27 01:34:59 +00:00
js_shared [pkg/js_shared] address a few analysis issues 2022-06-23 23:34:18 +00:00
kernel [CFE] Add constant replacer 2022-06-30 18:13:46 +00:00
language_versioning_2.7_test [pkg] prefer 'any' deps for package dev dependencies 2022-05-27 01:34:59 +00:00
meta [pkg/meta] prep for publishing package:meta 1.8.0 2022-05-16 21:56:05 +00:00
modular_test [pkg] prefer 'any' deps for package dev dependencies 2022-05-27 01:34:59 +00:00
native_stack_traces [pkg] prep to publish package:native_stack_traces 2022-05-31 16:39:16 +00:00
nnbd_migration Flow analysis: Separate variable and type operations. 2022-07-01 14:13:20 +00:00
scrape move the third_party/pkg_tested packages into third_party/pkg 2022-06-13 17:04:36 +00:00
smith [pkg] prefer 'any' deps for package dev dependencies 2022-05-27 01:34:59 +00:00
sourcemap_testing [ddc] Migrate sourcemap and stacktrace tests 2022-06-22 22:05:25 +00:00
status_file [pkg] prefer 'any' deps for package dev dependencies 2022-05-27 01:34:59 +00:00
telemetry [pkg] prefer 'any' deps for package dev dependencies 2022-05-27 01:34:59 +00:00
test_runner [testing] Simplify analyzer configurations 2022-07-01 16:16:42 +00:00
testing [CFE] Handle unevaluated constants differently in constant evaluator 2022-06-22 08:51:04 +00:00
vm [vm] Add test for kernel_service --- test relative packageconfig 2022-06-28 13:11:32 +00:00
vm_service Revert "[ VM / Service ] Add abstract flag to Function" 2022-06-24 07:35:29 +00:00
vm_snapshot_analysis [CFE] Remove support for .packages file 2022-06-24 08:20:39 +00:00
wasm_builder [dart2wasm] Support all import and export kinds in wasm_builder 2022-06-10 12:41:45 +00:00
.gitignore [cleanup] Remove remaining references to analysis_server language model 2022-05-30 11:27:42 +00:00
BUILD.gn
OWNERS [infra] validate pkg/ dep ranges against the packages DEP'd in 2022-04-19 19:25:47 +00:00
pkg.status [cfe] Remove Kernel round-trip text serialization 2022-06-21 10:28:24 +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