Add example to flutter_lints package (#354)

This commit is contained in:
Michael Goderbauer
2021-05-13 12:39:13 -07:00
committed by GitHub
parent 1b5a36994b
commit f18ba69189
8 changed files with 99 additions and 3 deletions

View File

@ -32,7 +32,7 @@ task:
- name: format+analyze
format_script: ./script/tool_runner.sh format --fail-on-change --clang-format=clang-format-5.0
license_script: pub global run flutter_plugin_tools license-check
analyze_script: ./script/tool_runner.sh analyze --custom-analysis=web_benchmarks/testing/test_app
analyze_script: ./script/tool_runner.sh analyze --custom-analysis=web_benchmarks/testing/test_app,flutter_lints/example
- name: publishable
version_script: ./script/tool_runner.sh version-check
publishable_script: ./script/tool_runner.sh publish-check

View File

@ -1,3 +1,7 @@
## 1.0.1
* Added an example project
## 1.0.0
* Initial release

View File

@ -0,0 +1,16 @@
An example project that showcases how to enable the lint set from
`package:flutter_lints`, which contains recommended lints for Flutter apps,
packages, and plugins.
The `flutter_lints` packages is listed as a dev_dependency in the `pubspec.yaml`
file.
The lint set provided by the package is activated in the `analysis_options.yaml`
file. The lints enforced for this project can be further customized in that
file.
The Dart code in this project (e.g. `lib/main.dart`) is analyzed using the
lint configuration provided by `package:flutter_lints`.
The issues identified by the analyzer are surfaced in IDEs with Dart support or
by invoking `flutter analyze` from the command line.

View File

@ -0,0 +1,29 @@
# This file configures the analyzer, which statically analyzes Dart code to
# check for errors, warnings, and lints.
#
# The issues identified by the analyzer are surfaced in the UI of Dart-enabled
# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
# invoked from the command line by running `flutter analyze`.
# The following line activates a set of recommended lints for Flutter apps,
# packages, and plugins designed to encourage good coding practices.
include: package:flutter_lints/flutter.yaml
linter:
# The lint rules applied to this project can be customized in the
# section below to disable rules from the `package:flutter_lints/flutter.yaml`
# included above or to enable additional rules. A list of all available lints
# and their documentation is published at
# https://dart-lang.github.io/linter/lints/index.html.
#
# Instead of disabling a lint rule for the entire project in the
# section below, it can also be suppressed for a single line of code
# or a specific dart file by using the `// ignore: name_of_lint` and
# `// ignore_for_file: name_of_lint` syntax on the line or in the file
# producing the lint.
rules:
# avoid_print: false # Uncomment to disable the `avoid_print` rule
# prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule
# Additional information about this file can be found at
# https://dart.dev/guides/language/analysis-options

View File

@ -0,0 +1,33 @@
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// The code in this file (and all other dart files in the package) is
// analyzed using the rules activated in `analysis_options.yaml`.
// The following syntax deactivates a lint for the entire file:
// ignore_for_file: avoid_renaming_method_parameters
void main() {
const String partOne = 'Hello';
const String partTwo = 'World';
// The following syntax deactivates a lint on a per-line bases:
print('$partOne $partTwo'); // ignore: avoid_print
}
abstract class Base {
int methodA(int foo);
String methodB(String foo);
}
// Normally, the parameter renaming from `foo` to `bar` in this class would
// trigger the `avoid_renaming_method_parameters` lint, but it has been
// deactivated for the file with the `ignore_for_file` comment above.
class Sub extends Base {
@override
int methodA(int bar) => bar;
@override
String methodB(String bar) => bar;
}

View File

@ -0,0 +1,13 @@
name: example
description: A project that showcases how to enable the recommended lints for Flutter apps, packages, and plugins.
publish_to: none
environment:
sdk: '>=2.12.0 <3.0.0'
# Add the latest version of `package:flutter_lints` as a dev_dependency. The
# lint set provided by this package is activated in the `analysis_options.yaml`
# file located next to this `pubspec.yaml` file.
dev_dependencies:
flutter_lints: ^1.0.0 # Check https://pub.dev/packages/flutter_lints for latest version number.

View File

@ -1,6 +1,6 @@
name: flutter_lints
description: Recommended lints for Flutter apps, packages, and plugins to encourage good coding practices.
version: 1.0.0
version: 1.0.1
homepage: https://github.com/flutter/packages/tree/master/packages/flutter_lints
environment:

View File

@ -3,7 +3,8 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
filecount=`find . -name '*.dart' | wc -l`
# Dart sources are only allowed in the example directory.
filecount=`find . -name '*.dart' ! -path './example/*' | wc -l`
if [ $filecount -ne 0 ]
then
echo 'Dart sources are not allowed in this package:'