dart-sdk/pkg
Ahmed Ashour 572f24882f [analyzer_plugin] consistent hashCode for SourceFileEdit
Fixes #49371

Change-Id: I853323df821a9b6481f6fdd190ccecba2c01aa2b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/250380
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-07-06 16:03:20 +00:00
..
_fe_analyzer_shared [cfe] Handle augment super expressions 2022-07-04 12:37:50 +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 [analyzer_plugin] consistent hashCode for SourceFileEdit 2022-07-06 16:03:20 +00:00
analysis_server_client [analyzer_plugin] consistent hashCode for SourceFileEdit 2022-07-06 16:03:20 +00:00
analyzer Feature sets inconsistency is implemented as INCONSISTENT_LANGUAGE_VERSION_OVERRIDE. 2022-07-06 15:55:50 +00:00
analyzer_cli Move 'libraryFiles' to LibraryFileStateKind. 2022-06-29 15:49:35 +00:00
analyzer_plugin [analyzer_plugin] consistent hashCode for SourceFileEdit 2022-07-06 16:03:20 +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] Add a couple scripts to aid our migration. 2022-07-02 04:25:21 +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] Move FutureOr normalization to its own visitor 2022-07-01 18:55:50 +00:00
expect [pkg] prefer 'any' deps for package dev dependencies 2022-05-27 01:34:59 +00:00
front_end [cfe] Handle augment super expressions 2022-07-04 12:37:50 +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] Handle augment super expressions 2022-07-04 12:37:50 +00:00
language_versioning_2_7_test [pkg] ignore some intentional analysis issues 2022-07-01 20:04:10 +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 Remove dartanalyzer from built SDK. 2022-07-01 17:43:20 +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