blob: d040021210a722d5607a5a91de153ec04558f92b [file] [log] [blame]
#!/usr/bin/env bash
# Copyright (c) 2018, 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.
# Analyze Dart code in the flutter/flutter repo.
set -ex
checkout=$(pwd)
dart=$checkout/out/ReleaseX64/dart-sdk/bin/dart
sdk=$checkout/out/ReleaseX64/dart-sdk
tmpdir=$(mktemp -d)
cleanup() {
rm -rf "$tmpdir"
}
trap cleanup EXIT HUP INT QUIT TERM PIPE
cd "$tmpdir"
git clone --single-branch -vv \
https://dart.googlesource.com/external/github.com/flutter/flutter
cd flutter
bin/flutter config --no-analytics
pinned_dart_sdk=$(cat bin/cache/dart-sdk/revision)
patch=$checkout/tools/patches/flutter-engine/${pinned_dart_sdk}.flutter.patch
if [ -e "$patch" ]; then
git apply $patch
fi
bin/flutter update-packages
# Analyze the flutter/flutter source code.
$dart --enable-asserts dev/bots/analyze.dart --dart-sdk $sdk
# Test flutter's use of data-driven fixes.
pushd packages/flutter/test_fixes
../../../bin/dart fix --compare-to-golden
popd
# Analyze the sample code in dartdoc snippets.
./bin/dart dev/bots/analyze_sample_code.dart