mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Reland "add limited analysis options (#17332)" (flutter/engine#17374)
* Reland "add limited analysis options (#17332)" This time I'm starting without Cirrus. Will add Cirrus serpartely from code changes. This reverts commit 27da616b212419552551d1f9a9ed097f133d1221. * disable Cirrus analysis check
This commit is contained in:
parent
913a683352
commit
d20bb30d3a
@ -126,6 +126,16 @@ task:
|
||||
- name: web_tests-7_last-linux # last Web shard must end with _last
|
||||
<< : *WEB_SHARD_TEMPLATE
|
||||
|
||||
# - name: web_engine_analysis
|
||||
# compile_host_script: |
|
||||
# cd $ENGINE_PATH/src
|
||||
# ./flutter/tools/gn --unoptimized --full-dart-sdk
|
||||
# ninja -C out/host_debug_unopt
|
||||
# script:
|
||||
# - cd $ENGINE_PATH/src/flutter/lib/web_ui
|
||||
# - $ENGINE_PATH/src/out/host_debug_unopt/dart-sdk/bin/pub get
|
||||
# - $ENGINE_PATH/src/out/host_debug_unopt/dart-sdk/bin/dartanalyzer --fatal-warnings --fatal-hints dev/ lib/ test/ tool/
|
||||
|
||||
- name: web_engine_integration_test_linux
|
||||
compile_host_script: |
|
||||
cd $ENGINE_PATH/src
|
||||
|
||||
@ -1 +1,87 @@
|
||||
# Intentionally kept empty.
|
||||
# This is copy of the root analysis_options.yaml. As we clean up the Web code,
|
||||
# we'll be uncommenting rules and gradually fix the code. When all rules are
|
||||
# uncommented, we'll delete this file and simply inherit the root options.
|
||||
|
||||
analyzer:
|
||||
# TODO(uncomment) strong-mode:
|
||||
# TODO(uncomment) implicit-casts: false
|
||||
# TODO(uncomment) implicit-dynamic: false
|
||||
errors:
|
||||
missing_required_param: warning
|
||||
missing_return: warning
|
||||
native_function_body_in_non_sdk_code: ignore
|
||||
todo: ignore
|
||||
|
||||
linter:
|
||||
rules:
|
||||
- always_declare_return_types
|
||||
# TODO(uncomment) - always_put_control_body_on_new_line
|
||||
# TODO(uncomment) - always_specify_types
|
||||
# TODO(uncomment) - annotate_overrides
|
||||
# TODO(uncomment) - avoid_classes_with_only_static_members
|
||||
# TODO(uncomment) - avoid_empty_else
|
||||
# TODO(uncomment) - avoid_function_literals_in_foreach_calls
|
||||
# TODO(uncomment) - avoid_init_to_null
|
||||
# TODO(uncomment) - avoid_null_checks_in_equality_operators
|
||||
# TODO(uncomment) - avoid_relative_lib_imports
|
||||
# TODO(uncomment) - avoid_renaming_method_parameters
|
||||
# TODO(uncomment) - avoid_return_types_on_setters
|
||||
# TODO(uncomment) - avoid_slow_async_io
|
||||
# TODO(uncomment) - await_only_futures
|
||||
# TODO(uncomment) - camel_case_types
|
||||
# TODO(uncomment) - cancel_subscriptions
|
||||
# TODO(uncomment) - control_flow_in_finally
|
||||
# TODO(uncomment) - directives_ordering
|
||||
# TODO(uncomment) - empty_catches
|
||||
# TODO(uncomment) - empty_constructor_bodies
|
||||
# TODO(uncomment) - empty_statements
|
||||
# TODO(uncomment) - hash_and_equals
|
||||
# TODO(uncomment) - implementation_imports
|
||||
# TODO(uncomment) - iterable_contains_unrelated_type
|
||||
# TODO(uncomment) - library_names
|
||||
# TODO(uncomment) - library_prefixes
|
||||
# TODO(uncomment) - list_remove_unrelated_type
|
||||
# TODO(uncomment) - no_adjacent_strings_in_list
|
||||
# TODO(uncomment) - no_duplicate_case_values
|
||||
# TODO(uncomment) - non_constant_identifier_names
|
||||
# TODO(uncomment) - overridden_fields
|
||||
# TODO(uncomment) - package_api_docs
|
||||
# TODO(uncomment) - package_names
|
||||
# TODO(uncomment) - package_prefixed_library_names
|
||||
# TODO(uncomment) - prefer_adjacent_string_concatenation
|
||||
# TODO(uncomment) - prefer_asserts_in_initializer_lists
|
||||
# TODO(uncomment) - prefer_collection_literals
|
||||
# TODO(uncomment) - prefer_conditional_assignment
|
||||
# TODO(uncomment) - prefer_const_constructors
|
||||
# TODO(uncomment) - prefer_const_constructors_in_immutables
|
||||
# TODO(uncomment) - prefer_const_declarations
|
||||
# TODO(uncomment) - prefer_const_literals_to_create_immutables
|
||||
# TODO(uncomment) - prefer_contains
|
||||
# TODO(uncomment) - prefer_equal_for_default_values
|
||||
# TODO(uncomment) - prefer_final_locals
|
||||
# TODO(uncomment) - prefer_foreach
|
||||
# TODO(uncomment) - prefer_generic_function_type_aliases
|
||||
# TODO(uncomment) - prefer_initializing_formals
|
||||
# TODO(uncomment) - prefer_is_empty
|
||||
# TODO(uncomment) - prefer_is_not_empty
|
||||
# TODO(uncomment) - prefer_single_quotes
|
||||
# TODO(uncomment) - prefer_typing_uninitialized_variables
|
||||
# TODO(uncomment) - public_member_api_docs
|
||||
# TODO(uncomment) - recursive_getters
|
||||
# TODO(uncomment) - slash_for_doc_comments
|
||||
# TODO(uncomment) - sort_unnamed_constructors_first
|
||||
# TODO(uncomment) - test_types_in_equals
|
||||
# TODO(uncomment) - throw_in_finally
|
||||
# TODO(uncomment) - type_init_formals
|
||||
# TODO(uncomment) - unnecessary_brace_in_string_interps
|
||||
# TODO(uncomment) - unnecessary_const
|
||||
# TODO(uncomment) - unnecessary_getters_setters
|
||||
# TODO(uncomment) - unnecessary_new
|
||||
# TODO(uncomment) - unnecessary_null_aware_assignments
|
||||
# TODO(uncomment) - unnecessary_null_in_if_null_operators
|
||||
# TODO(uncomment) - unnecessary_overrides
|
||||
# TODO(uncomment) - unnecessary_parenthesis
|
||||
# TODO(uncomment) - unnecessary_this
|
||||
# TODO(uncomment) - unrelated_type_equality_checks
|
||||
# TODO(uncomment) - use_rethrow_when_possible
|
||||
# TODO(uncomment) - valid_regexps
|
||||
|
||||
@ -72,7 +72,7 @@ abstract class Browser {
|
||||
_processCompleter.complete(process);
|
||||
|
||||
var output = Uint8Buffer();
|
||||
drainOutput(Stream<List<int>> stream) {
|
||||
void drainOutput(Stream<List<int>> stream) {
|
||||
try {
|
||||
_ioSubscriptions
|
||||
.add(stream.listen(output.addAll, cancelOnError: true));
|
||||
|
||||
@ -2,9 +2,9 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
// @dart = 2.6
|
||||
@TestOn('vm && linux')
|
||||
|
||||
// @dart = 2.6
|
||||
import 'dart:io' as io;
|
||||
|
||||
import 'package:path/path.dart' as path;
|
||||
|
||||
@ -744,7 +744,7 @@ class BrowserManager {
|
||||
|
||||
var suiteID = _suiteID++;
|
||||
RunnerSuiteController controller;
|
||||
closeIframe() {
|
||||
void closeIframe() {
|
||||
if (_closed) return;
|
||||
_controllers.remove(controller);
|
||||
_channel.sink.add({'command': 'closeSuite', 'id': suiteID});
|
||||
|
||||
@ -116,7 +116,7 @@ class SkVertices implements ui.Vertices {
|
||||
}
|
||||
}
|
||||
|
||||
static _encodePoints(List<double> points) {
|
||||
static js.JsArray<js.JsArray<double>> _encodePoints(List<double> points) {
|
||||
if (points == null) return null;
|
||||
|
||||
js.JsArray<js.JsArray<double>> encodedPoints =
|
||||
|
||||
@ -616,7 +616,6 @@ class SurfacePathMetricIterator implements Iterator<ui.PathMetric> {
|
||||
|
||||
SurfacePathMetric _pathMetric;
|
||||
_SurfacePathMeasure _pathMeasure;
|
||||
bool _firstTime = true;
|
||||
|
||||
@override
|
||||
SurfacePathMetric get current => _pathMetric;
|
||||
|
||||
@ -555,9 +555,7 @@ class EngineWindow extends ui.Window {
|
||||
|
||||
bool _handleWebTestEnd2EndMessage(MethodCodec codec, ByteData data) {
|
||||
final MethodCall decoded = codec.decodeMethodCall(data);
|
||||
final Map<String, dynamic> message = decoded.arguments;
|
||||
double ratio = double.parse(decoded.arguments);
|
||||
bool result = false;
|
||||
switch(decoded.method) {
|
||||
case 'setDevicePixelRatio':
|
||||
window.debugOverrideDevicePixelRatio(ratio);
|
||||
|
||||
@ -1069,8 +1069,6 @@ abstract class Shader {
|
||||
/// There are several types of gradients, represented by the various
|
||||
/// constructors on this class.
|
||||
abstract class Gradient extends Shader {
|
||||
Gradient._() : super._();
|
||||
|
||||
/// Creates a linear gradient from `from` to `to`.
|
||||
///
|
||||
/// If `colorStops` is provided, `colorStops[i]` is a number from 0.0 to 1.0
|
||||
|
||||
@ -866,14 +866,6 @@ class TextBox {
|
||||
this.direction,
|
||||
);
|
||||
|
||||
TextBox._(
|
||||
this.left,
|
||||
this.top,
|
||||
this.right,
|
||||
this.bottom,
|
||||
int directionIndex,
|
||||
) : direction = TextDirection.values[directionIndex];
|
||||
|
||||
/// The left edge of the text box, irrespective of direction.
|
||||
///
|
||||
/// To get the leading edge (which may depend on the [direction]), consider [start].
|
||||
|
||||
@ -22,7 +22,7 @@ Future<void> main() async {
|
||||
chunkCallback: (int loaded, int total) {
|
||||
buffer.write('$loaded/$total,');
|
||||
});
|
||||
final ui.FrameInfo frameInfo = await codec.getNextFrame();
|
||||
await codec.getNextFrame();
|
||||
expect(buffer.toString(), '0/100,100/100,');
|
||||
});
|
||||
});
|
||||
|
||||
@ -78,7 +78,7 @@ class BenchmarkDatapoint {
|
||||
int get hashCode => hashValues(name, value);
|
||||
|
||||
@override
|
||||
operator ==(dynamic other) {
|
||||
bool operator ==(dynamic other) {
|
||||
if (identical(this, other)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -4,7 +4,6 @@
|
||||
|
||||
// @dart = 2.6
|
||||
import 'dart:html' as html;
|
||||
import 'dart:js_util' as js_util;
|
||||
|
||||
import 'package:ui/ui.dart' hide TextStyle;
|
||||
import 'package:ui/src/engine.dart' as engine;
|
||||
|
||||
@ -4,7 +4,6 @@
|
||||
|
||||
// @dart = 2.6
|
||||
import 'dart:html' as html;
|
||||
import 'dart:typed_data';
|
||||
|
||||
import 'package:ui/ui.dart' hide TextStyle;
|
||||
import 'package:ui/src/engine.dart';
|
||||
@ -63,8 +62,6 @@ void main() async {
|
||||
|
||||
test('Should calculate tangent on cubic curve', () async {
|
||||
final Path path = Path();
|
||||
double p0x = 150;
|
||||
double p0y = 20;
|
||||
double p1x = 240;
|
||||
double p1y = 120;
|
||||
double p2x = 320;
|
||||
@ -112,8 +109,6 @@ void main() async {
|
||||
final Path path = Path();
|
||||
path.moveTo(50, 130);
|
||||
path.lineTo(150, 20);
|
||||
double p0x = 150;
|
||||
double p0y = 20;
|
||||
double p1x = 240;
|
||||
double p1y = 120;
|
||||
double p2x = 320;
|
||||
@ -122,8 +117,6 @@ void main() async {
|
||||
|
||||
rc.drawPath(path, paint);
|
||||
|
||||
final Float32List buffer = Float32List(6);
|
||||
List<double> points = [p0x, p0y, p1x, p1y, p2x, p2y];
|
||||
double t0 = 0.2;
|
||||
double t1 = 0.7;
|
||||
|
||||
@ -168,8 +161,6 @@ void main() async {
|
||||
final Path path = Path();
|
||||
path.moveTo(50, 130);
|
||||
path.lineTo(150, 20);
|
||||
double p0x = 150;
|
||||
double p0y = 20;
|
||||
double p1x = 40;
|
||||
double p1y = 120;
|
||||
double p2x = 300;
|
||||
@ -180,8 +171,6 @@ void main() async {
|
||||
|
||||
rc.drawPath(path, paint);
|
||||
|
||||
final Float32List buffer = Float32List(6);
|
||||
List<double> points = [p0x, p0y, p1x, p1y, p2x, p2y, p3x, p3y];
|
||||
double t0 = 0.2;
|
||||
double t1 = 0.7;
|
||||
|
||||
|
||||
@ -3,7 +3,6 @@
|
||||
// found in the LICENSE file.
|
||||
|
||||
// @dart = 2.6
|
||||
import 'package:test/test.dart';
|
||||
import 'package:ui/ui.dart';
|
||||
import 'package:ui/src/engine.dart';
|
||||
|
||||
|
||||
@ -1154,5 +1154,6 @@ EngineLineMetrics line(
|
||||
width: width,
|
||||
lineNumber: lineNumber,
|
||||
left: left,
|
||||
endIndexWithoutNewlines: -1,
|
||||
);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user