Skip to content

[analytics] Update the Dart CLI to set analytics ENV variables when invoking sub-tools #62876

Description

@pq

Tracking issue to:

  1. update the main dartdev command to read analytics-related environment variables from its process environment and
  2. pass them down to to any spawned subtools

See dart-lang/tools#2346 (related DAS changes here: https://dart-review.googlesource.com/c/sdk/+/488583)


Sub-Tool Spawning Commands

DartdevCommand Subclasses

Sub-tool spawning:

  • 🟢 AnalyzeCommand (lib/src/commands/analyze.dart)
  • 🟡 BuildCommand (lib/src/commands/build.dart) -- maybe requires package:dart2native updates?
  • 🔴 CompilationServerShutdownCommand (lib/src/commands/compilation_server.dart) -- requires frontend_server changes
  • 🔴 CompilationServerStartCommand (lib/src/commands/compilation_server.dart) -- requires frontend_server changes
  • 🟢 CompileCommand (lib/src/commands/compile.dart)
  • 🔴 CompileDDCCommand (lib/src/commands/compile.dart) -- requires VmInteropHandler.run updates
  • 🟢 CompileJitSnapshotCommand (lib/src/commands/compile.dart)
  • 🔴 CompileJSCommand (lib/src/commands/compile.dart) -- requires VmInteropHandler.run updates
  • 🔴 CompileKernelSnapshotCommand (lib/src/commands/compile.dart) -- requires package:dart2native updates
  • 🔴 CompileNativeCommand (lib/src/commands/compile.dart) -- requires package:dart2native updates
  • 🟢 CompileWasmCommand (lib/src/commands/compile.dart)
  • 🟢 CreateCommand (lib/src/commands/create.dart)
  • 🔴 DartMCPServerCommand (lib/src/commands/dart_mcp_server.dart) -- requires VmInteropHandler.run updates
  • 🔴 DebugAdapterCommand (lib/src/commands/debug_adapter.dart) -- requires DapServer update
  • 🔴 DevelopmentServiceCommand (lib/src/commands/development_service.dart) -- requires VmInteropHandler.run updates
  • 🟡 DevToolsCommand (lib/src/commands/devtools.dart)
  • 🔴 DocCommand (lib/src/commands/doc.dart) -- requires Dartdoc...executeGuarded() update
  • 🟢 FixCommand (lib/src/commands/fix.dart)
  • 🔴 LanguageServerCommand (lib/src/commands/language_server.dart) -- requires VmInteropHandler.run updates
  • 🔴 ToolingDaemonCommand (lib/src/commands/tooling_daemon.dart) -- requires VmInteropHandler.run updates
  • 🔴 _RecordPerformanceCommand (lib/src/commands/info.dart) __ requires package:perf_witness updates

Not:

  • BuildCliSubcommand (lib/src/commands/build.dart)
  • CompilationServerCommand (lib/src/commands/compilation_server.dart) --- only hosts subcommands
  • InfoCommand (lib/src/commands/info.dart)
  • InstalledCommand (lib/src/commands/installed.dart)
  • _DumpCommand (lib/src/commands/info.dart)
  • UninstallCommand (lib/src/commands/uninstall.dart)

To review:

  • InstallCommand (lib/src/commands/install.dart)
  • RunCommand (lib/src/commands/run.dart)
  • TestCommand (lib/src/commands/test.dart)

Metadata

Metadata

Assignees

Labels

P1A high priority bug; for example, a single project is unusable or has many test failuresarea-dart-cliUse area-dart-cli for issues related to the 'dart' command like tool.

Type

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions