dart-sdk/pkg
Sam Rawlins d77ded508e Report invalid mustCallSuper annotation targets
Fixes https://github.com/dart-lang/sdk/issues/49499

Change-Id: Ibea55a78b58ee83b9290c33bca5e69039c995d55
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/252865
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2022-07-28 17:48:15 +00:00
..
_fe_analyzer_shared Prepare to publish analyzer 4.3.1 and _fe_analyzer_shared 43.0.0 2022-07-25 22:17:15 +00:00
_js_interop_checks [dart2wasm] Enable RTI tests for oddball and interface types. 2022-07-23 00:56:38 +00:00
analysis_server (conditionally) add trailing commas for wrapping streambuilders 2022-07-27 22:48:39 +00:00
analysis_server_client [analyzer] use package:lints for pkg/analysis_server_client, pkg/analyzer_plugin 2022-07-06 19:54:00 +00:00
analyzer Report invalid mustCallSuper annotation targets 2022-07-28 17:48:15 +00:00
analyzer_cli Tweak dartanalyzer readme now that the package is only intended for internal use 2022-07-20 16:03:48 +00:00
analyzer_plugin bump package:analyzer version in dependencies of analyzer_plugin to support new property names 2022-07-28 14:47:30 +00:00
analyzer_utilities [analysis_server] minor cleanups to analysis server spec generation 2022-06-27 17:21:02 +00:00
async_helper Fixed various typos in a lot of files 2022-07-25 12:21:59 +00:00
build_integration [pkg/build_integration] analyze using package:lints 2022-07-07 20:59:08 +00:00
compiler [dart2js] test for #49502 2022-07-28 04:18:40 +00:00
dart2js_info [dart2js] Filling out visitor functions for ProgramInfoNode transformer 2022-07-27 23:08:29 +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 [dart2wasm] Add noSuchMethod forwarders. 2022-07-28 02:18:34 +00:00
dart_internal [dart_internal] Support 2.19 2022-07-19 09:00:36 +00:00
dartdev [ CLI ] Add better logging to the DartDev isolate 2022-07-25 14:44:59 +00:00
dds [dds] Bump to version 2.2.6 and add changelog entry 2022-07-27 17:18:13 +00:00
dds_service_extensions [pkg] use package:lints when analying pkg/ 2022-07-07 14:29:22 +00:00
dev_compiler [ddc] Fix the use of the wrong null literal 2022-07-25 19:22:49 +00:00
expect [pkg] use package:lints when analyzing pkg/smith, pkg/expect 2022-07-06 22:29:24 +00:00
front_end [cfe] Update incremental tests for advanced invalidation coverage 2022-07-18 20:57:18 +00:00
frontend_server Fixed various typos in a lot of files 2022-07-25 12:21:59 +00:00
js Fixed various typos in a lot of files 2022-07-25 12:21:59 +00:00
js_ast [pkg] prefer 'any' deps for package dev dependencies 2022-05-27 01:34:59 +00:00
js_runtime [pkg] use package:lints for pkg/_js_interop_checks, pkg/js_runtime 2022-07-18 17:27:53 +00:00
js_shared [pkg/js_shared] address a few analysis issues 2022-06-23 23:34:18 +00:00
kernel Fixed various typos in a lot of files 2022-07-25 12:21:59 +00:00
language_versioning_2_7_test [pkg] ignore some intentional analysis issues 2022-07-01 20:04:10 +00:00
meta Report invalid mustCallSuper annotation targets 2022-07-28 17:48:15 +00:00
modular_test Fixed various typos in a lot of files 2022-07-25 12:21:59 +00:00
native_stack_traces Revert "[vm/compiler] Add symbols for read-only data when requested." 2022-07-27 13:30:28 +00:00
nnbd_migration Fixed various typos in a lot of files 2022-07-25 12:21:59 +00:00
scrape Deprecate ClassDeclaration/ClassTypeAlias.isAbstract 2022-07-26 01:51:27 +00:00
smith Delete the old fe comparison logic in the test runner. 2022-07-07 17:21:43 +00:00
sourcemap_testing [ddc] Migrate sourcemap and stacktrace tests 2022-06-22 22:05:25 +00:00
status_file [pkg/status_file] analyze using package:lints 2022-07-06 22:48:35 +00:00
telemetry [pkg] use package:lints when analying pkg/ 2022-07-07 14:29:22 +00:00
test_runner [dart2wasm] Remove support for not using non-nullable locals. 2022-07-27 22:47:30 +00:00
testing [testing] Remove language version from generated library 2022-07-12 10:51:17 +00:00
vm Revert "[cfe/ffi] Improve FFI call mismatched types compile errors" 2022-07-25 18:18:29 +00:00
vm_service Fixed various typos in a lot of files 2022-07-25 12:21:59 +00:00
vm_snapshot_analysis [CFE] Remove support for .packages file 2022-06-24 08:20:39 +00:00
wasm_builder [dart2wasm] Remove support for not using non-nullable locals. 2022-07-27 22:47:30 +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 [gardening] Mark pkg/vm/test/kernel_front_end_test as Slow 2022-07-18 17:07:43 +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