Version 2.15.0-250.0.dev
Merge commit 'ecc6ed1b32de257f24665bd212bbd4edf5d8019a' into 'dev'
diff --git a/DEPS b/DEPS
index 3823819..726c533 100644
--- a/DEPS
+++ b/DEPS
@@ -139,7 +139,7 @@
"pool_rev": "7abe634002a1ba8a0928eded086062f1307ccfae",
"process_rev": "56ece43b53b64c63ae51ec184b76bd5360c28d0b",
"protobuf_rev": "c1eb6cb51af39ccbaa1a8e19349546586a5c8e31",
- "pub_rev": "400f21e9883ce6555b66d3ef82f0b732ba9b9fc8",
+ "pub_rev": "489a7a0b91966c7547da4f3761a9810f09caffb6",
"pub_semver_rev": "a43ad72fb6b7869607581b5fedcb186d1e74276a",
"root_certificates_rev": "692f6d6488af68e0121317a9c2c9eb393eb0ee50",
"rust_revision": "b7856f695d65a8ebc846754f97d15814bcb1c244",
diff --git a/pkg/dartdev/lib/dartdev.dart b/pkg/dartdev/lib/dartdev.dart
index c0082b3..9367cf6 100644
--- a/pkg/dartdev/lib/dartdev.dart
+++ b/pkg/dartdev/lib/dartdev.dart
@@ -122,7 +122,14 @@
addCommand(FormatCommand(verbose: verbose));
addCommand(LanguageServerCommand(verbose: verbose));
addCommand(MigrateCommand(verbose: verbose));
- addCommand(pubCommand());
+ addCommand(
+ pubCommand(
+ analytics: PubAnalytics(
+ () => analytics,
+ dependencyKindCustomDimensionName: dependencyKindCustomDimensionName,
+ ),
+ ),
+ );
addCommand(RunCommand(verbose: verbose));
addCommand(TestCommand());
}
diff --git a/pkg/dartdev/lib/src/analytics.dart b/pkg/dartdev/lib/src/analytics.dart
index e5e10de..3072c34 100644
--- a/pkg/dartdev/lib/src/analytics.dart
+++ b/pkg/dartdev/lib/src/analytics.dart
@@ -121,6 +121,7 @@
IOPostHandler(),
applicationName: appName,
applicationVersion: getDartVersion(),
+ batchingDelay: Duration(),
);
@override
diff --git a/pkg/dartdev/lib/src/events.dart b/pkg/dartdev/lib/src/events.dart
index eb30e78..65469c0 100644
--- a/pkg/dartdev/lib/src/events.dart
+++ b/pkg/dartdev/lib/src/events.dart
@@ -20,10 +20,14 @@
commandExitCode, // cd1
enabledExperiments, // cd2
commandFlags, // cd3
+ dependencyKind, // cd4
}
String _cdKey(_CustomDimensions cd) => 'cd${cd.index + 1}';
+final String dependencyKindCustomDimensionName =
+ _cdKey(_CustomDimensions.dependencyKind);
+
Map<String, String> _useCdKeys(Map<_CustomDimensions, String> parameters) {
return parameters.map(
(_CustomDimensions k, String v) => MapEntry<String, String>(_cdKey(k), v),
diff --git a/pkg/dartdev/test/analytics_test.dart b/pkg/dartdev/test/analytics_test.dart
index b3e1f8b..3ae1f16 100644
--- a/pkg/dartdev/test/analytics_test.dart
+++ b/pkg/dartdev/test/analytics_test.dart
@@ -129,8 +129,12 @@
]);
});
- test('pub get', () {
- final p = project(logAnalytics: true);
+ test('pub get dry run', () {
+ final p = project(logAnalytics: true, pubspec: {
+ 'name': 'foo',
+ 'environment': {'sdk': '>=2.10.0 <3.0.0'},
+ 'dependencies': {'_dummy_pkg': '0.0.1'}
+ });
final result = p.runSync(['pub', 'get', '--dry-run']);
expect(extractAnalytics(result), [
{
@@ -160,6 +164,60 @@
]);
});
+ test('pub get', () {
+ final p = project(logAnalytics: true, pubspec: {
+ 'name': 'foo',
+ 'environment': {'sdk': '>=2.10.0 <3.0.0'},
+ 'dependencies': {'_dummy_pkg': '0.0.1'}
+ });
+ final result = p.runSync(['pub', 'get']);
+ expect(extractAnalytics(result), [
+ {
+ 'hitType': 'screenView',
+ 'message': {'viewName': 'pub/get'}
+ },
+ {
+ 'hitType': 'event',
+ 'message': {
+ 'category': 'pub-get',
+ 'action': '_dummy_pkg',
+ 'label': '0.0.1',
+ 'value': 1,
+ 'ni': '1',
+ 'cd4': 'direct'
+ }
+ },
+ {
+ 'hitType': 'timing',
+ 'message': {
+ 'variableName': 'resolution',
+ 'time': isA<int>(),
+ 'category': 'pub-get',
+ 'label': null
+ }
+ },
+ {
+ 'hitType': 'event',
+ 'message': {
+ 'category': 'dartdev',
+ 'action': 'pub/get',
+ 'label': null,
+ 'value': null,
+ 'cd1': '0',
+ }
+ },
+ {
+ 'hitType': 'timing',
+ 'message': {
+ 'variableName': 'pub/get',
+ 'time': isA<int>(),
+ 'category': 'commands',
+ 'label': null
+ }
+ }
+ ]);
+ });
+
test('format', () {
final p = project(logAnalytics: true);
final result = p.runSync(['format', '-l80', '.']);
diff --git a/pkg/dartdev/test/utils.dart b/pkg/dartdev/test/utils.dart
index ae6be55..73f944f 100644
--- a/pkg/dartdev/test/utils.dart
+++ b/pkg/dartdev/test/utils.dart
@@ -23,12 +23,14 @@
String analysisOptions,
bool logAnalytics = false,
String name = TestProject._defaultProjectName,
- VersionConstraint sdkConstraint}) =>
+ VersionConstraint sdkConstraint,
+ Map<String, dynamic> pubspec}) =>
TestProject(
mainSrc: mainSrc,
analysisOptions: analysisOptions,
logAnalytics: logAnalytics,
- sdkConstraint: sdkConstraint);
+ sdkConstraint: sdkConstraint,
+ pubspec: pubspec);
class TestProject {
static const String _defaultProjectName = 'dartdev_temp';
@@ -47,21 +49,28 @@
final VersionConstraint sdkConstraint;
+ final Map<String, dynamic> pubspec;
+
TestProject(
{String mainSrc,
String analysisOptions,
this.name = _defaultProjectName,
this.logAnalytics = false,
- this.sdkConstraint}) {
+ this.sdkConstraint,
+ this.pubspec}) {
dir = Directory.systemTemp.createTempSync('a');
- file('pubspec.yaml', '''
+ file(
+ 'pubspec.yaml',
+ pubspec == null
+ ? '''
name: $name
environment:
sdk: '${sdkConstraint ?? '>=2.10.0 <3.0.0'}'
dev_dependencies:
test: any
-''');
+'''
+ : json.encode(pubspec));
if (analysisOptions != null) {
file('analysis_options.yaml', analysisOptions);
}
diff --git a/tools/VERSION b/tools/VERSION
index 3483753..9540a64 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 15
PATCH 0
-PRERELEASE 249
+PRERELEASE 250
PRERELEASE_PATCH 0
\ No newline at end of file