OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | |
2 // for details. All rights reserved. Use of this source code is governed by a | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 | |
5 library pubspec_field_validator; | |
6 | |
7 import '../entrypoint.dart'; | |
8 import '../io.dart'; | |
9 import '../system_cache.dart'; | |
10 import '../validator.dart'; | |
11 | |
12 /// A validator that checks that a LICENSE-like file exists. | |
13 class LicenseValidator extends Validator { | |
14 LicenseValidator(Entrypoint entrypoint) | |
15 : super(entrypoint); | |
16 | |
17 Future validate() { | |
18 return listDir(entrypoint.root.dir).transform((files) { | |
Bob Nystrom
2012/12/08 03:21:50
Does this do a recursive list?
nweiz
2012/12/08 03:24:27
No, we don't want it picking up files in third_par
| |
19 var licenseLike = new RegExp( | |
20 r"^([a-zA-Z0-9]+[-_])?(LICENSE|COPYING)(\..*)?$"); | |
21 if (files.map(basename).some(licenseLike.hasMatch)) return; | |
22 | |
23 errors.add("Your package must have a COPYING or LICENSE file containing " | |
24 "an open-source license. For more details, see " | |
25 "http://pub.dartlang.org/doc/pub-lish.html."); | |
26 }); | |
27 } | |
28 } | |
OLD | NEW |