Merge pull request #22 from davidmorgan/split-yamls
Split into versioned yaml files; update README.md.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b8fa2c1..36d7c3d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+## 1.7.0
+
+- Add versioned `analysis_options.yaml` files to the package so it's possible
+ to pin to a version without also pinning the pub dependency. See `README.md`
+ for updated usage guide.
+
## 1.6.0
- Enforce six new lint rules:
diff --git a/README.md b/README.md
index 1eec95f..d87d64b 100644
--- a/README.md
+++ b/README.md
@@ -33,30 +33,39 @@
## Enabled Lints
-The currently enabled lints can be found in the sample
-[analysis_options.yaml](https://github.com/dart-lang/pedantic/blob/master/lib/analysis_options.yaml).
+The currently enabled lints can be found in
+[analysis_options.1.7.0.yaml](https://github.com/dart-lang/pedantic/blob/master/lib/analysis_options.1.7.0.yaml).
-To use those lints you can add a dependency in your `pubspec.yaml`:
+## Using the Lints
+
+To use the lints add a dependency in your `pubspec.yaml`:
```yaml
-# If you also need to import `package:pedantic/pedantic.dart`, it's a
-# normal dependency.
+# If you use `package:pedantic/pedantic.dart`, add a normal dependency.
dependencies:
- pedantic: '1.4.0'
+ pedantic: '1.7.0'
# Or, if you just want `analysis_options.yaml`, it can be a dev dependency.
dev_dependencies:
- pedantic: '1.4.0'
+ pedantic: '1.7.0'
```
-and add an include in your `analysis_options.yaml`:
+then, add an include in your `analysis_options.yaml`. If you want to always
+use the latest version of the lints, add a dependency on the main
+`analysis_options` file:
+
```yaml
include: package:pedantic/analysis_options.yaml
```
-This example uses a pinned version because every added lint rule could break a
-build for projects using it.
+If your continuous build and/or presubmit check lints then they will likely
+fail whenever a new version of `package:pedantic` is released. To avoid this,
+specify a specific version of `analysis_options.yaml` instead:
+
+```yaml
+include: package:pedantic/analysis_options.1.7.0.yaml
+```
## Unused Lints
diff --git a/lib/analysis_options.1.0.0.yaml b/lib/analysis_options.1.0.0.yaml
new file mode 100644
index 0000000..b34612f
--- /dev/null
+++ b/lib/analysis_options.1.0.0.yaml
@@ -0,0 +1,23 @@
+# Copyright (c) 2019, 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.
+#
+# Google internally enforced rules. See README.md for more information,
+# including a list of lints that are intentionally _not_ enforced.
+
+linter:
+ rules:
+ - avoid_empty_else
+ - avoid_relative_lib_imports
+ - avoid_return_types_on_setters
+ - avoid_types_as_parameter_names
+ - control_flow_in_finally
+ - no_duplicate_case_values
+ - prefer_contains
+ - prefer_equal_for_default_values
+ - prefer_is_not_empty
+ - recursive_getters
+ - throw_in_finally
+ - unrelated_type_equality_checks
+ - use_rethrow_when_possible
+ - valid_regexps
diff --git a/lib/analysis_options.1.1.0.yaml b/lib/analysis_options.1.1.0.yaml
new file mode 100644
index 0000000..b34612f
--- /dev/null
+++ b/lib/analysis_options.1.1.0.yaml
@@ -0,0 +1,23 @@
+# Copyright (c) 2019, 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.
+#
+# Google internally enforced rules. See README.md for more information,
+# including a list of lints that are intentionally _not_ enforced.
+
+linter:
+ rules:
+ - avoid_empty_else
+ - avoid_relative_lib_imports
+ - avoid_return_types_on_setters
+ - avoid_types_as_parameter_names
+ - control_flow_in_finally
+ - no_duplicate_case_values
+ - prefer_contains
+ - prefer_equal_for_default_values
+ - prefer_is_not_empty
+ - recursive_getters
+ - throw_in_finally
+ - unrelated_type_equality_checks
+ - use_rethrow_when_possible
+ - valid_regexps
diff --git a/lib/analysis_options.1.2.0.yaml b/lib/analysis_options.1.2.0.yaml
new file mode 100644
index 0000000..6c3b1d8
--- /dev/null
+++ b/lib/analysis_options.1.2.0.yaml
@@ -0,0 +1,22 @@
+# Copyright (c) 2019, 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.
+#
+# Google internally enforced rules. See README.md for more information,
+# including a list of lints that are intentionally _not_ enforced.
+
+linter:
+ rules:
+ - avoid_empty_else
+ - avoid_relative_lib_imports
+ - avoid_return_types_on_setters
+ - avoid_types_as_parameter_names
+ - no_duplicate_case_values
+ - prefer_contains
+ - prefer_equal_for_default_values
+ - prefer_is_not_empty
+ - recursive_getters
+ - unrelated_type_equality_checks
+ - use_rethrow_when_possible
+ - unawaited_futures
+ - valid_regexps
diff --git a/lib/analysis_options.1.3.0.yaml b/lib/analysis_options.1.3.0.yaml
new file mode 100644
index 0000000..cc05280
--- /dev/null
+++ b/lib/analysis_options.1.3.0.yaml
@@ -0,0 +1,23 @@
+# Copyright (c) 2019, 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.
+#
+# Google internally enforced rules. See README.md for more information,
+# including a list of lints that are intentionally _not_ enforced.
+
+linter:
+ rules:
+ - avoid_empty_else
+ - avoid_relative_lib_imports
+ - avoid_return_types_on_setters
+ - avoid_types_as_parameter_names
+ - no_duplicate_case_values
+ - prefer_contains
+ - prefer_equal_for_default_values
+ - prefer_is_empty
+ - prefer_is_not_empty
+ - recursive_getters
+ - unrelated_type_equality_checks
+ - use_rethrow_when_possible
+ - unawaited_futures
+ - valid_regexps
diff --git a/lib/analysis_options.1.4.0.yaml b/lib/analysis_options.1.4.0.yaml
new file mode 100644
index 0000000..117a195
--- /dev/null
+++ b/lib/analysis_options.1.4.0.yaml
@@ -0,0 +1,25 @@
+# Copyright (c) 2019, 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.
+#
+# Google internally enforced rules. See README.md for more information,
+# including a list of lints that are intentionally _not_ enforced.
+
+linter:
+ rules:
+ - avoid_empty_else
+ - avoid_init_to_null
+ - avoid_relative_lib_imports
+ - avoid_return_types_on_setters
+ - avoid_types_as_parameter_names
+ - no_duplicate_case_values
+ - null_closures
+ - prefer_contains
+ - prefer_equal_for_default_values
+ - prefer_is_empty
+ - prefer_is_not_empty
+ - recursive_getters
+ - unrelated_type_equality_checks
+ - use_rethrow_when_possible
+ - unawaited_futures
+ - valid_regexps
diff --git a/lib/analysis_options.1.5.0.yaml b/lib/analysis_options.1.5.0.yaml
new file mode 100644
index 0000000..5640307
--- /dev/null
+++ b/lib/analysis_options.1.5.0.yaml
@@ -0,0 +1,28 @@
+# Copyright (c) 2019, 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.
+#
+# Google internally enforced rules. See README.md for more information,
+# including a list of lints that are intentionally _not_ enforced.
+
+linter:
+ rules:
+ - avoid_empty_else
+ - avoid_init_to_null
+ - avoid_relative_lib_imports
+ - avoid_return_types_on_setters
+ - avoid_shadowing_type_parameters
+ - avoid_types_as_parameter_names
+ - empty_constructor_bodies
+ - no_duplicate_case_values
+ - null_closures
+ - prefer_contains
+ - prefer_equal_for_default_values
+ - prefer_is_empty
+ - prefer_is_not_empty
+ - recursive_getters
+ - slash_for_doc_comments
+ - unawaited_futures
+ - unrelated_type_equality_checks
+ - use_rethrow_when_possible
+ - valid_regexps
diff --git a/lib/analysis_options.1.6.0.yaml b/lib/analysis_options.1.6.0.yaml
new file mode 100644
index 0000000..bc56b98
--- /dev/null
+++ b/lib/analysis_options.1.6.0.yaml
@@ -0,0 +1,34 @@
+# Copyright (c) 2019, 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.
+#
+# Google internally enforced rules. See README.md for more information,
+# including a list of lints that are intentionally _not_ enforced.
+
+linter:
+ rules:
+ - avoid_empty_else
+ - avoid_init_to_null
+ - avoid_relative_lib_imports
+ - avoid_return_types_on_setters
+ - avoid_shadowing_type_parameters
+ - avoid_types_as_parameter_names
+ - curly_braces_in_flow_control_structures
+ - empty_catches
+ - empty_constructor_bodies
+ - library_names
+ - library_prefixes
+ - no_duplicate_case_values
+ - null_closures
+ - prefer_contains
+ - prefer_equal_for_default_values
+ - prefer_is_empty
+ - prefer_is_not_empty
+ - recursive_getters
+ - slash_for_doc_comments
+ - type_init_formals
+ - unawaited_futures
+ - unnecessary_null_in_if_null_operators
+ - unrelated_type_equality_checks
+ - use_rethrow_when_possible
+ - valid_regexps
diff --git a/lib/analysis_options.1.7.0.yaml b/lib/analysis_options.1.7.0.yaml
new file mode 100644
index 0000000..bc56b98
--- /dev/null
+++ b/lib/analysis_options.1.7.0.yaml
@@ -0,0 +1,34 @@
+# Copyright (c) 2019, 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.
+#
+# Google internally enforced rules. See README.md for more information,
+# including a list of lints that are intentionally _not_ enforced.
+
+linter:
+ rules:
+ - avoid_empty_else
+ - avoid_init_to_null
+ - avoid_relative_lib_imports
+ - avoid_return_types_on_setters
+ - avoid_shadowing_type_parameters
+ - avoid_types_as_parameter_names
+ - curly_braces_in_flow_control_structures
+ - empty_catches
+ - empty_constructor_bodies
+ - library_names
+ - library_prefixes
+ - no_duplicate_case_values
+ - null_closures
+ - prefer_contains
+ - prefer_equal_for_default_values
+ - prefer_is_empty
+ - prefer_is_not_empty
+ - recursive_getters
+ - slash_for_doc_comments
+ - type_init_formals
+ - unawaited_futures
+ - unnecessary_null_in_if_null_operators
+ - unrelated_type_equality_checks
+ - use_rethrow_when_possible
+ - valid_regexps
diff --git a/lib/analysis_options.yaml b/lib/analysis_options.yaml
index ff8cd7c..9e6a448 100644
--- a/lib/analysis_options.yaml
+++ b/lib/analysis_options.yaml
@@ -4,31 +4,10 @@
#
# Google internally enforced rules. See README.md for more information,
# including a list of lints that are intentionally _not_ enforced.
+#
+# Include this file if you want to always use the latest version. If your
+# continuous build and/or presubmit check lints then they will likely fail
+# whenever a new version of `package:pedantic` is released. To avoid this,
+# specify a specific version of `analysis_options.yaml` instead.
-linter:
- rules:
- - avoid_empty_else
- - avoid_init_to_null
- - avoid_relative_lib_imports
- - avoid_return_types_on_setters
- - avoid_shadowing_type_parameters
- - avoid_types_as_parameter_names
- - curly_braces_in_flow_control_structures
- - empty_catches
- - empty_constructor_bodies
- - library_names
- - library_prefixes
- - no_duplicate_case_values
- - null_closures
- - prefer_contains
- - prefer_equal_for_default_values
- - prefer_is_empty
- - prefer_is_not_empty
- - recursive_getters
- - slash_for_doc_comments
- - type_init_formals
- - unawaited_futures
- - unnecessary_null_in_if_null_operators
- - unrelated_type_equality_checks
- - use_rethrow_when_possible
- - valid_regexps
+include: package:pedantic/analysis_options.1.7.0.yaml
diff --git a/pubspec.yaml b/pubspec.yaml
index 0a23b0c..b20ee30 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
name: pedantic
-version: 1.6.0
+version: 1.7.0
description: How to get the most value from Dart static analysis.
author: Dart Team <misc@dartlang.org>
homepage: https://github.com/dart-lang/pedantic