Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 4 additions & 0 deletions packages/flutter_lints/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## 1.0.1

* Added an example project

## 1.0.0

* Initial release
16 changes: 16 additions & 0 deletions packages/flutter_lints/example/README.md
Original file line number Diff line number Diff line change
@@ -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.
29 changes: 29 additions & 0 deletions packages/flutter_lints/example/analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -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
33 changes: 33 additions & 0 deletions packages/flutter_lints/example/lib/main.dart
Original file line number Diff line number Diff line change
@@ -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;
}
13 changes: 13 additions & 0 deletions packages/flutter_lints/example/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -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.
2 changes: 1 addition & 1 deletion packages/flutter_lints/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -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:
Expand Down
3 changes: 2 additions & 1 deletion packages/flutter_lints/run_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

filecount=`find . -name '*.dart' ! -path './example/*' | wc -l`
if [ $filecount -ne 0 ]
then
echo 'Dart sources are not allowed in this package:'
Expand Down