diff --git a/analysis_options.yaml b/analysis_options.yaml index 66f5b5ca69a36..13adc0083294f 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -14,13 +14,9 @@ # - "public_member_api_docs" enabled. analyzer: - exclude: [ - # this test pretends to be part of dart:ui and results in lots of false - # positives. - testing/dart/window_hooks_integration_test.dart, + exclude: # Fixture depends on dart:ui and raises false positives. - flutter_frontend_server/test/fixtures/lib/main.dart - ] + - flutter_frontend_server/test/fixtures/lib/main.dart strong-mode: implicit-casts: false implicit-dynamic: false diff --git a/ci/analyze.sh b/ci/analyze.sh index 11d1f3364689e..e51dc46f9bd15 100755 --- a/ci/analyze.sh +++ b/ci/analyze.sh @@ -33,110 +33,40 @@ FLUTTER_DIR="$SRC_DIR/flutter" DART_BIN="$SRC_DIR/third_party/dart/tools/sdks/dart-sdk/bin" PUB="$DART_BIN/pub" DART="$DART_BIN/dart" -DART_ANALYZER="$DART_BIN/dartanalyzer" - -echo "Using analyzer from $DART_ANALYZER" - -"$DART_ANALYZER" --version - -function analyze() ( - local last_arg="${!#}" - local results - # Grep sets its return status to non-zero if it doesn't find what it's - # looking for. - set +e - results="$("$DART_ANALYZER" "$@" 2>&1 | - grep -Ev "No issues found!" | - grep -Ev "Analyzing.+$last_arg")" - set -e - echo "$results" - if [ -n "$results" ]; then - echo "Failed analysis of $last_arg" - return 1 - else - echo "Success: no issues found in $last_arg" - fi - return 0 -) -echo "Analyzing dart:ui library..." -analyze \ - --options "$FLUTTER_DIR/analysis_options.yaml" \ - "$SRC_DIR/out/host_debug_unopt/gen/dart-pkg/sky_engine/lib/ui/ui.dart" - -echo "Analyzing spirv library..." -analyze \ - --packages="$FLUTTER_DIR/lib/spirv/.dart_tool/package_config.json" \ - --options "$FLUTTER_DIR/analysis_options.yaml" \ - "$FLUTTER_DIR/lib/spirv" - -echo "Analyzing ci/" -analyze \ - --packages="$FLUTTER_DIR/ci/.dart_tool/package_config.json" \ - --options "$FLUTTER_DIR/analysis_options.yaml" \ - "$FLUTTER_DIR/ci" - -echo "Analyzing flutter_frontend_server..." -analyze \ - --packages="$FLUTTER_DIR/flutter_frontend_server/.dart_tool/package_config.json" \ - --options "$FLUTTER_DIR/analysis_options.yaml" \ - "$FLUTTER_DIR/flutter_frontend_server" - -echo "Analyzing tools/licenses..." -analyze \ - --packages="$FLUTTER_DIR/tools/licenses/.dart_tool/package_config.json" \ - --options "$FLUTTER_DIR/tools/licenses/analysis_options.yaml" \ - "$FLUTTER_DIR/tools/licenses" - -echo "Analyzing testing/litetest" -analyze \ - --packages="$FLUTTER_DIR/testing/litetest/.dart_tool/package_config.json" \ - --options "$FLUTTER_DIR/analysis_options.yaml" \ - "$FLUTTER_DIR/testing/litetest" - -echo "Analyzing testing/benchmark" -analyze \ - --packages="$FLUTTER_DIR/testing/benchmark/.dart_tool/package_config.json" \ - --options "$FLUTTER_DIR/analysis_options.yaml" \ - "$FLUTTER_DIR/testing/benchmark" - -echo "Analyzing testing/smoke_test_failure" -analyze \ - --packages="$FLUTTER_DIR/testing/smoke_test_failure/.dart_tool/package_config.json" \ - --options "$FLUTTER_DIR/analysis_options.yaml" \ - "$FLUTTER_DIR/testing/smoke_test_failure" - -echo "Analyzing testing/dart..." -analyze \ - --packages="$FLUTTER_DIR/testing/dart/.dart_tool/package_config.json" \ - --options "$FLUTTER_DIR/analysis_options.yaml" \ - "$FLUTTER_DIR/testing/dart" - -echo "Analyzing testing/scenario_app..." -analyze \ - --packages="$FLUTTER_DIR/testing/scenario_app/.dart_tool/package_config.json" \ - --options "$FLUTTER_DIR/analysis_options.yaml" \ - "$FLUTTER_DIR/testing/scenario_app" - -echo "Analyzing testing/symbols..." -analyze \ - --packages="$FLUTTER_DIR/testing/symbols/.dart_tool/package_config.json" \ - --options "$FLUTTER_DIR/analysis_options.yaml" \ - "$FLUTTER_DIR/testing/symbols" - -echo "Analyzing githooks..." -analyze \ - --packages="$FLUTTER_DIR/tools/githooks/.dart_tool/package_config.json" \ - --options "$FLUTTER_DIR/analysis_options.yaml" \ - "$FLUTTER_DIR/tools/githooks" - -echo "Analyzing tools/clang_tidy" -analyze \ - --packages="$FLUTTER_DIR/tools/clang_tidy/.dart_tool/package_config.json" \ - --options "$FLUTTER_DIR/analysis_options.yaml" \ - "$FLUTTER_DIR/tools/clang_tidy" +echo "Using dart from $DART_BIN" +"$DART" --version +echo "" + +"$DART" analyze "$FLUTTER_DIR/lib/ui" + +"$DART" analyze "$FLUTTER_DIR/lib/spirv" + +"$DART" analyze "$FLUTTER_DIR/ci" + +"$DART" analyze "$FLUTTER_DIR/flutter_frontend_server" + +"$DART" analyze "$FLUTTER_DIR/tools/licenses" + +"$DART" analyze "$FLUTTER_DIR/testing/litetest" + +"$DART" analyze "$FLUTTER_DIR/testing/benchmark" + +"$DART" analyze "$FLUTTER_DIR/testing/smoke_test_failure" + +"$DART" analyze "$FLUTTER_DIR/testing/dart" + +"$DART" analyze "$FLUTTER_DIR/testing/scenario_app" + +"$DART" analyze "$FLUTTER_DIR/testing/symbols" + +"$DART" analyze "$FLUTTER_DIR/tools/githooks" + +"$DART" analyze "$FLUTTER_DIR/tools/clang_tidy" + +echo "" # Check that dart libraries conform. echo "Checking web_ui api conformance..." -(cd "$FLUTTER_DIR/web_sdk"; "$PUB" get) +(cd "$FLUTTER_DIR/web_sdk"; "$DART" pub get) (cd "$FLUTTER_DIR"; "$DART" "web_sdk/test/api_conform_test.dart") diff --git a/flutter_frontend_server/pubspec.yaml b/flutter_frontend_server/pubspec.yaml index a6c2772c0f574..a5de8a6279348 100644 --- a/flutter_frontend_server/pubspec.yaml +++ b/flutter_frontend_server/pubspec.yaml @@ -7,7 +7,6 @@ publish_to: none version: 0.1.1-dev description: Communication pipe to Dart Frontend homepage: https://flutter.dev -author: Flutter Authors # Do not add any dependencies that require more than what is provided in # //third_party/pkg, //third_party/dart/pkg or diff --git a/lib/ui/analysis_options.yaml b/lib/ui/analysis_options.yaml new file mode 100644 index 0000000000000..df714af989148 --- /dev/null +++ b/lib/ui/analysis_options.yaml @@ -0,0 +1,6 @@ +include: ../../analysis_options.yaml + +analyzer: + exclude: + # fixtures/ depends on dart:ui and raises false positives. + - fixtures/**