Misc CI cleanup (#2913)
Co-authored-by: Sam Rawlins <srawlins@google.com>
diff --git a/analysis_options_presubmit.yaml b/analysis_options_presubmit.yaml
index f2bb88a..578bdec 100644
--- a/analysis_options_presubmit.yaml
+++ b/analysis_options_presubmit.yaml
@@ -10,8 +10,6 @@
### Extra ignores for presubmit
deprecated_member_use: ignore
deprecated_member_use_from_same_package: ignore
- ### Temporary presubmit ignore for NNBD migration
- import_of_legacy_library_into_null_safe: ignore
language:
strict-raw-types: true
exclude:
diff --git a/tool/grind.dart b/tool/grind.dart
index 5f748fb..42536e6 100644
--- a/tool/grind.dart
+++ b/tool/grind.dart
@@ -174,42 +174,6 @@
]);
}
-// TODO(jcollins-g): make a library out of this
-final FilePath _pkgDir = FilePath('lib/src/third_party/pkg');
-final FilePath _mustache4dartDir =
- FilePath('lib/src/third_party/pkg/mustache4dart');
-final RegExp _mustache4dartPatches =
- RegExp(r'^\d\d\d-mustache4dart-.*[.]patch$');
-
-@Task('Update third_party forks')
-void updateThirdParty() async {
- run('rm', arguments: ['-rf', _mustache4dartDir.path]);
- Directory(_pkgDir.path).createSync(recursive: true);
- run('git', arguments: [
- 'clone',
- '--branch',
- 'v2.1.2',
- '--depth=1',
- 'git@github.com:valotas/mustache4dart',
- _mustache4dartDir.path,
- ]);
- run('rm', arguments: ['-rf', path.join(_mustache4dartDir.path, '.git')]);
- for (var patchFileName in Directory(_pkgDir.path)
- .listSync()
- .map((e) => path.basename(e.path))
- .where(_mustache4dartPatches.hasMatch)
- .toList()
- ..sort()) {
- run('patch',
- arguments: [
- '-p0',
- '-i',
- patchFileName,
- ],
- workingDirectory: _pkgDir.path);
- }
-}
-
@Task('Analyze dartdoc to ensure there are no errors and warnings')
@Depends(analyzeTestPackages)
void analyze() async {
@@ -448,7 +412,7 @@
.runStreamed('git', ['clone', Directory.current.path, dartdocClean.path]);
await launcher.runStreamed('git', ['checkout', dartdocOriginalBranch],
workingDirectory: dartdocClean.path);
- await launcher.runStreamed(sdkBin('pub'), ['get'],
+ await launcher.runStreamed(sdkBin('dart'), ['pub', 'get'],
workingDirectory: dartdocClean.path);
return dartdocClean.path;
}
@@ -499,7 +463,7 @@
meta:
path: '${sdkClone.path}/pkg/meta'
''', mode: FileMode.append);
- await launcher.runStreamed(sdkBin('pub'), ['get'],
+ await launcher.runStreamed(sdkBin('dart'), ['pub', 'get'],
workingDirectory: dartdocSdk.path);
return dartdocSdk.path;
}
@@ -515,7 +479,7 @@
// analyzer 3.0.0.
try {
await launcher.runStreamed(
- sdkBin('pub'), ['run', 'grinder', defaultGrindParameter],
+ sdkBin('dart'), ['pub', 'run', 'grinder', defaultGrindParameter],
workingDirectory: sdkDartdoc);
} catch (e, st) {
print('Warning: SDK analyzer job threw "$e":\n$st');
@@ -528,7 +492,8 @@
if (label != '') label = '-$label';
var launcher = SubprocessLauncher('build-sdk-docs$label');
var cwd = await futureCwd;
- await launcher.runStreamed(sdkBin('pub'), ['get'], workingDirectory: cwd);
+ await launcher.runStreamed(sdkBin('dart'), ['pub', 'get'],
+ workingDirectory: cwd);
return await launcher.runStreamed(
Platform.resolvedExecutable,
[
@@ -552,10 +517,10 @@
if (label != '') label = '-$label';
testPackagePath ??= testPackage.absolute.path;
var launcher = SubprocessLauncher('build-test-package-docs$label');
- var testPackagePubGet = launcher.runStreamed(sdkBin('pub'), ['get'],
+ var testPackagePubGet = launcher.runStreamed(sdkBin('dart'), ['pub', 'get'],
workingDirectory: testPackagePath);
- var dartdocPubGet =
- launcher.runStreamed(sdkBin('pub'), ['get'], workingDirectory: cwd);
+ var dartdocPubGet = launcher.runStreamed(sdkBin('dart'), ['pub', 'get'],
+ workingDirectory: cwd);
await Future.wait([testPackagePubGet, dartdocPubGet]);
return await launcher.runStreamed(
Platform.resolvedExecutable,
@@ -626,7 +591,8 @@
Future<void> startTestPackageDocsServer() async {
log('launching dhttpd on port 8002 for SDK');
var launcher = SubprocessLauncher('serve-test-package-docs');
- await launcher.runStreamed(sdkBin('pub'), [
+ await launcher.runStreamed(sdkBin('dart'), [
+ 'pub',
'global',
'run',
'dhttpd',
@@ -643,12 +609,21 @@
log('launching dhttpd on port $port for $context');
var launcher = SubprocessLauncher(context);
if (!_serveReady) {
- await launcher.runStreamed(sdkBin('pub'), ['get']);
- await launcher.runStreamed(sdkBin('pub'), ['global', 'activate', 'dhttpd']);
+ await launcher.runStreamed(sdkBin('dart'), ['pub', 'get']);
+ await launcher
+ .runStreamed(sdkBin('dart'), ['pub', 'global', 'activate', 'dhttpd']);
_serveReady = true;
}
- await launcher.runStreamed(sdkBin('pub'),
- ['global', 'run', 'dhttpd', '--port', '$port', '--path', servePath]);
+ await launcher.runStreamed(sdkBin('dart'), [
+ 'pub',
+ 'global',
+ 'run',
+ 'dhttpd',
+ '--port',
+ '$port',
+ '--path',
+ servePath
+ ]);
}
@Task('Serve generated SDK docs locally with dhttpd on port 8000')
@@ -656,7 +631,8 @@
Future<void> serveSdkDocs() async {
log('launching dhttpd on port 8000 for SDK');
var launcher = SubprocessLauncher('serve-sdk-docs');
- await launcher.runStreamed(sdkBin('pub'), [
+ await launcher.runStreamed(sdkBin('dart'), [
+ 'pub',
'global',
'run',
'dhttpd',
@@ -697,8 +673,9 @@
if (Platform.environment['SERVE_FLUTTER'] == '1') {
var launcher = SubprocessLauncher('serve-flutter-docs');
- await launcher.runStreamed(sdkBin('pub'), ['get']);
- var original = launcher.runStreamed(sdkBin('pub'), [
+ await launcher.runStreamed(sdkBin('dart'), ['pub', 'get']);
+ var original = launcher.runStreamed(sdkBin('dart'), [
+ 'pub',
'global',
'run',
'dhttpd',
@@ -707,7 +684,8 @@
'--path',
path.join(originalDartdocFlutter.absolute.path, 'dev', 'docs', 'doc'),
]);
- var current = launcher.runStreamed(sdkBin('pub'), [
+ var current = launcher.runStreamed(sdkBin('dart'), [
+ 'pub',
'global',
'run',
'dhttpd',
@@ -725,8 +703,9 @@
Future<void> serveFlutterDocs() async {
log('launching dhttpd on port 8001 for Flutter');
var launcher = SubprocessLauncher('serve-flutter-docs');
- await launcher.runStreamed(sdkBin('pub'), ['get']);
- await launcher.runStreamed(sdkBin('pub'), [
+ await launcher.runStreamed(sdkBin('dart'), ['pub', 'get']);
+ await launcher.runStreamed(sdkBin('dart'), [
+ 'pub',
'global',
'run',
'dhttpd',
@@ -742,8 +721,9 @@
Future<void> serveLanguageTestDocs() async {
log('launching dhttpd on port 8004 for language tests');
var launcher = SubprocessLauncher('serve-language-test-docs');
- await launcher.runStreamed(sdkBin('pub'), ['get']);
- await launcher.runStreamed(sdkBin('pub'), [
+ await launcher.runStreamed(sdkBin('dart'), ['pub', 'get']);
+ await launcher.runStreamed(sdkBin('dart'), [
+ 'pub',
'global',
'run',
'dhttpd',
@@ -1031,8 +1011,8 @@
@Task('Rebuild generated files')
Future<void> build() async {
var launcher = SubprocessLauncher('build');
- await launcher.runStreamed(sdkBin('pub'),
- ['run', 'build_runner', 'build', '--delete-conflicting-outputs']);
+ await launcher.runStreamed(sdkBin('dart'),
+ ['pub', 'run', 'build_runner', 'build', '--delete-conflicting-outputs']);
// TODO(jcollins-g): port to build system?
var version = _getPackageVersion();
@@ -1094,27 +1074,27 @@
@Depends(checkChangelogHasVersion)
Future<void> tryPublish() async {
var launcher = SubprocessLauncher('try-publish');
- await launcher.runStreamed(sdkBin('pub'), ['publish', '-n']);
+ await launcher.runStreamed(sdkBin('dart'), ['pub', 'publish', '-n']);
}
@Task('Run a smoke test, only')
@Depends(clean)
Future<void> smokeTest() async {
- await testDart2(smokeTestFiles);
+ await testDart(smokeTestFiles);
await testFutures.tasksComplete;
}
@Task('Run non-smoke tests, only')
@Depends(clean)
Future<void> longTest() async {
- await testDart2(testFiles);
+ await testDart(testFiles);
await testFutures.tasksComplete;
}
@Task('Run all the tests.')
@Depends(clean)
Future<void> test() async {
- await testDart2(smokeTestFiles.followedBy(testFiles));
+ await testDart(smokeTestFiles.followedBy(testFiles));
await testFutures.tasksComplete;
}
@@ -1142,21 +1122,21 @@
.listSync(recursive: true)
.whereType<File>()
.where((e) => path.basename(e.path) == 'model_test.dart')
- .toList();
+ .toList(growable: false);
List<File> get testFiles => Directory('test')
.listSync(recursive: true)
.whereType<File>()
.where((e) => e.path.endsWith('test.dart'))
.where((e) => path.basename(e.path) != 'model_test.dart')
- .toList();
+ .toList(growable: false);
-Future<void> testDart2(Iterable<File> tests) async {
+Future<void> testDart(Iterable<File> tests) async {
var parameters = <String>['--enable-asserts'];
for (var dartFile in tests) {
await testFutures.add(() =>
- CoverageSubprocessLauncher('dart2-${path.basename(dartFile.path)}')
+ CoverageSubprocessLauncher('dart-${path.basename(dartFile.path)}')
.runStreamed(Platform.resolvedExecutable,
<String>[...parameters, dartFile.path]));
}
@@ -1252,11 +1232,9 @@
@Task('Validate the SDK doc build.')
@Depends(buildSdkDocs)
void validateSdkDocs() {
- // TODO(jcollins-g): Remove flexibility in library counts once dev build
- // includes https://dart-review.googlesource.com/c/sdk/+/93160
- const expectedLibCounts = {0, 1};
- const expectedSubLibCount = {18, 19, 20};
- const expectedTotalCount = {18, 19, 20};
+ const expectedLibCounts = 0;
+ const expectedSubLibCount = {18, 19};
+ const expectedTotalCount = {18, 19};
var indexHtml = joinFile(_sdkDocsDir, ['index.html']);
if (!indexHtml.existsSync()) {
fail('no index.html found for SDK docs');
@@ -1264,7 +1242,7 @@
log('found index.html');
var indexContents = indexHtml.readAsStringSync();
var foundLibs = _findCount(indexContents, ' <li><a href="dart-');
- if (!expectedLibCounts.contains(foundLibs)) {
+ if (expectedLibCounts != foundLibs) {
fail('expected $expectedLibCounts "dart:" index.html entries, found '
'$foundLibs');
}
diff --git a/tool/travis.sh b/tool/travis.sh
index 0650bc3..0d91351 100755
--- a/tool/travis.sh
+++ b/tool/travis.sh
@@ -7,41 +7,34 @@
# Fast fail the script on failures, and echo commands as they execute.
set -ex
-# add globally activated packages to the path
-export PATH="$PATH":"~/.pub-cache/bin"
DART_VERSION=`dart --version 2>&1 | awk '{print $4}'`
# Do not run coverage on non-dev builds or non-Linux platforms.
if ! echo "${DART_VERSION}" | grep -q dev || ! uname | grep -q Linux ; then
unset COVERAGE_TOKEN
fi
-# workaround for dart-lang/sdk#44027
-mkdir -p ~/.dart
if [ "$DARTDOC_BOT" = "sdk-docs" ]; then
# Build the SDK docs
# silence stdout but echo stderr
echo ""
echo "Building and validating SDK docs..."
- pub run grinder validate-sdk-docs
+ dart pub run grinder validate-sdk-docs
echo "SDK docs process finished"
elif [ "$DARTDOC_BOT" = "flutter" ]; then
echo "Running flutter dartdoc bot"
- pub run grinder validate-flutter-docs
+ dart pub run grinder validate-flutter-docs
elif [ "$DARTDOC_BOT" = "packages" ]; then
echo "Running packages dartdoc bot"
- PACKAGE_NAME=angular PACKAGE_VERSION=">=7.0.0" DARTDOC_PARAMS="--include=angular" pub run grinder build-pub-package
- PACKAGE_NAME=access PACKAGE_VERSION=">=1.0.1+2" pub run grinder build-pub-package
+ PACKAGE_NAME=angular PACKAGE_VERSION=">=7.0.0" DARTDOC_PARAMS="--include=angular" dart pub run grinder build-pub-package
+ PACKAGE_NAME=access PACKAGE_VERSION=">=1.0.1+2" dart pub run grinder build-pub-package
# Negative test for flutter_plugin_tools, make sure right error message is displayed.
- PACKAGE_NAME=flutter_plugin_tools PACKAGE_VERSION=">=0.0.14+1" pub run grinder build-pub-package 2>&1 | grep "warning: package:flutter_plugin_tools has no documentable libraries"
- PACKAGE_NAME=shelf_exception_handler PACKAGE_VERSION=">=0.2.0" pub run grinder build-pub-package
+ PACKAGE_NAME=flutter_plugin_tools PACKAGE_VERSION=">=0.0.14+1" dart pub run grinder build-pub-package 2>&1 | grep "warning: package:flutter_plugin_tools has no documentable libraries"
+ PACKAGE_NAME=shelf_exception_handler PACKAGE_VERSION=">=0.2.0" dart pub run grinder build-pub-package
elif [ "$DARTDOC_BOT" = "sdk-analyzer" ]; then
echo "Running all tests against the SDK analyzer"
unset COVERAGE_TOKEN
- pub run grinder test-with-analyzer-sdk
-elif [ "$DARTDOC_BOT" = "nnbd" ]; then
- echo "Running main dartdoc bot excluding publish test"
- pub run grinder buildbot-no-publish
+ dart pub run grinder test-with-analyzer-sdk
else
echo "Running main dartdoc bot"
- pub run grinder buildbot
+ dart pub run grinder buildbot
fi