Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(679)

Unified Diff: sdk/lib/_internal/pub_generated/lib/src/validator.dart

Issue 657673002: Regenerate pub sources. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: sdk/lib/_internal/pub_generated/lib/src/validator.dart
diff --git a/sdk/lib/_internal/pub_generated/lib/src/validator.dart b/sdk/lib/_internal/pub_generated/lib/src/validator.dart
index f8c4b9e3ebf2ffe5ef544a44325129b2d7fd27fd..4580ca1325ac1439f1c328cb4ecf57b64ef968f8 100644
--- a/sdk/lib/_internal/pub_generated/lib/src/validator.dart
+++ b/sdk/lib/_internal/pub_generated/lib/src/validator.dart
@@ -1,5 +1,11 @@
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
library pub.validator;
+
import 'dart:async';
+
import 'entrypoint.dart';
import 'log.dart' as log;
import 'utils.dart';
@@ -13,12 +19,41 @@ import 'validator/name.dart';
import 'validator/pubspec_field.dart';
import 'validator/size.dart';
import 'validator/utf8_readme.dart';
+
+/// The base class for validators that check whether a package is fit for
+/// uploading.
+///
+/// Each validator should override [errors], [warnings], or both to return
+/// lists of errors or warnings to display to the user. Errors will cause the
+/// package not to be uploaded; warnings will require the user to confirm the
+/// upload.
abstract class Validator {
+ /// The entrypoint that's being validated.
final Entrypoint entrypoint;
+
+ /// The accumulated errors for this validator.
+ ///
+ /// Filled by calling [validate].
final errors = <String>[];
+
+ /// The accumulated warnings for this validator.
+ ///
+ /// Filled by calling [validate].
final warnings = <String>[];
+
Validator(this.entrypoint);
+
+ /// Validates the entrypoint, adding any errors and warnings to [errors] and
+ /// [warnings], respectively.
Future validate();
+
+ /// Run all validators on the [entrypoint] package and print their results.
+ ///
+ /// The future completes with the error and warning messages, respectively.
+ ///
+ /// [packageSize], if passed, should complete to the size of the tarred
+ /// package, in bytes. This is used to validate that it's not too big to
+ /// upload to the server.
static Future<Pair<List<String>, List<String>>> runAll(Entrypoint entrypoint,
[Future<int> packageSize]) {
var validators = [
@@ -34,10 +69,12 @@ abstract class Validator {
if (packageSize != null) {
validators.add(new SizeValidator(entrypoint, packageSize));
}
+
return Future.wait(
validators.map((validator) => validator.validate())).then((_) {
var errors = flatten(validators.map((validator) => validator.errors));
var warnings = flatten(validators.map((validator) => validator.warnings));
+
if (!errors.isEmpty) {
log.error("Missing requirements:");
for (var error in errors) {
@@ -45,6 +82,7 @@ abstract class Validator {
}
log.error("");
}
+
if (!warnings.isEmpty) {
log.warning("Suggestions:");
for (var warning in warnings) {
@@ -52,6 +90,7 @@ abstract class Validator {
}
log.warning("");
}
+
return new Pair<List<String>, List<String>>(errors, warnings);
});
}

Powered by Google App Engine
This is Rietveld 408576698