diff --git a/_test/lib/app.dart b/_test/lib/app.dart index 1cde43de5..eae353cef 100644 --- a/_test/lib/app.dart +++ b/_test/lib/app.dart @@ -6,6 +6,6 @@ import 'dart:html'; void startApp({String text}) { text ??= 'Hello World!'; - var component = new DivElement()..text = text; + var component = DivElement()..text = text; document.body.append(component); } diff --git a/_test/pkgs/provides_builder/lib/builders.dart b/_test/pkgs/provides_builder/lib/builders.dart index 2940aca73..5f1390055 100644 --- a/_test/pkgs/provides_builder/lib/builders.dart +++ b/_test/pkgs/provides_builder/lib/builders.dart @@ -11,14 +11,14 @@ class _SomeBuilder implements Builder { factory _SomeBuilder.fromOptions(BuilderOptions options) { if (options.config['throw_in_constructor'] == true) { - throw new StateError('Throwing on purpose cause you asked for it!'); + throw StateError('Throwing on purpose cause you asked for it!'); } return const _SomeBuilder(); } @override final buildExtensions = const { - '.dart': const ['.something.dart'] + '.dart': ['.something.dart'] }; @override @@ -61,8 +61,8 @@ class _ThrowingBuilder extends Builder { } Builder someBuilder(BuilderOptions options) => - new _SomeBuilder.fromOptions(options); + _SomeBuilder.fromOptions(options); Builder notApplied(_) => null; PostProcessBuilder somePostProcessBuilder(BuilderOptions options) => - new _SomePostProcessBuilder.fromOptions(options); -Builder throwingBuilder(_) => new _ThrowingBuilder(); + _SomePostProcessBuilder.fromOptions(options); +Builder throwingBuilder(_) => _ThrowingBuilder(); diff --git a/_test/test/build_integration_test.dart b/_test/test/build_integration_test.dart index d8579da79..2c85074fb 100644 --- a/_test/test/build_integration_test.dart +++ b/_test/test/build_integration_test.dart @@ -21,7 +21,7 @@ void main() { test('creates expected outputs', () async { var generated = await readGeneratedFileAsString('_test/lib/hello.txt.post'); - var original = await new File('lib/hello.txt').readAsString(); + var original = await File('lib/hello.txt').readAsString(); expect(generated, equals(original)); }); @@ -81,7 +81,7 @@ void main() { 'Restores previously deleted outputs if they are not deleted in subsequent builds', () async { final dartSource = - new File(p.join('build', 'web', 'packages', '_test', 'app.dart')); + File(p.join('build', 'web', 'packages', '_test', 'app.dart')); await runBuild(trailingArgs: [ '--define=build_web_compilers|dart_source_cleanup=enabled=true', '--output', diff --git a/_test/test/build_script_invalidation_test.dart b/_test/test/build_script_invalidation_test.dart index ff1795146..ebd25bea2 100644 --- a/_test/test/build_script_invalidation_test.dart +++ b/_test/test/build_script_invalidation_test.dart @@ -23,7 +23,7 @@ void main() { var filePath = p.join('pkgs', 'provides_builder', 'lib', 'builders.dart'); var terminateLine = nextStdOutLine('Terminating. No further builds will be scheduled'); - await replaceAllInFile(filePath, new RegExp(r'$'), '// do a build'); + await replaceAllInFile(filePath, RegExp(r'$'), '// do a build'); await terminateLine; await stopServer(); await startServer(extraExpects: [ @@ -38,18 +38,18 @@ void main() { var extraFilePath = p.join('.dart_tool', 'build', 'generated', 'foo', 'foo.txt'); await createFile(extraFilePath, 'bar'); - expect(await new File(extraFilePath).exists(), isTrue); + expect(await File(extraFilePath).exists(), isTrue); var filePath = p.join('pkgs', 'provides_builder', 'lib', 'builders.dart'); await stopServer(); - await replaceAllInFile(filePath, new RegExp(r'$'), '// do a build'); + await replaceAllInFile(filePath, RegExp(r'$'), '// do a build'); await startServer(extraExpects: [ () => nextStdOutLine( 'Invalidating asset graph due to build script update'), () => nextStdOutLine('Building new asset graph'), ]); - expect(await new File(extraFilePath).exists(), isFalse, + expect(await File(extraFilePath).exists(), isFalse, reason: 'The cache dir should get deleted when the build ' 'script changes.'); }); @@ -65,7 +65,7 @@ void main() { var extraFilePath = p.join('.dart_tool', 'build', 'generated', 'foo', 'foo.txt'); await createFile(extraFilePath, 'bar'); - expect(await new File(extraFilePath).exists(), isTrue); + expect(await File(extraFilePath).exists(), isTrue); await startServer(extraExpects: [ () => nextStdOutLine( @@ -73,7 +73,7 @@ void main() { () => nextStdOutLine('Building new asset graph'), ]); - expect(await new File(extraFilePath).exists(), isFalse, + expect(await File(extraFilePath).exists(), isFalse, reason: 'The cache dir should get deleted when the asset graph ' 'can\'t be parsed'); }, onPlatform: {'windows': const Skip('flaky on windows')}); diff --git a/_test/test/common/utils.dart b/_test/test/common/utils.dart index 994930522..955bd3157 100644 --- a/_test/test/common/utils.dart +++ b/_test/test/common/utils.dart @@ -9,8 +9,8 @@ import 'dart:io'; import 'package:path/path.dart' as p; import 'package:test/test.dart'; -Directory _generatedDir = new Directory(p.join(_toolDir.path, 'generated')); -Directory _toolDir = new Directory(p.join('.dart_tool', 'build')); +Directory _generatedDir = Directory(p.join(_toolDir.path, 'generated')); +Directory _toolDir = Directory(p.join('.dart_tool', 'build')); Process _process; Stream _stdOutLines; @@ -195,26 +195,26 @@ Future expectTestsPass( } Future createFile(String path, String contents) async { - var file = new File(path); + var file = File(path); expect(await file.exists(), isFalse); await file.create(recursive: true); await file.writeAsString(contents); } Future deleteFile(String path) async { - var file = new File(path); + var file = File(path); expect(await file.exists(), isTrue); await file.delete(); } Future readGeneratedFileAsString(String path) async { - var file = new File(p.join(_generatedDir.path, path)); + var file = File(p.join(_generatedDir.path, path)); expect(await file.exists(), isTrue); return file.readAsString(); } Future replaceAllInFile(String path, Pattern from, String replace) async { - var file = new File(path); + var file = File(path); expect(await file.exists(), isTrue); var content = await file.readAsString(); await file.writeAsString(content.replaceAll(from, replace)); diff --git a/_test/test/dart2js_integration_test.dart b/_test/test/dart2js_integration_test.dart index 4f20289cb..bb2de8396 100644 --- a/_test/test/dart2js_integration_test.dart +++ b/_test/test/dart2js_integration_test.dart @@ -16,7 +16,7 @@ const _outputDir = 'dart2js_test'; void main() { group('Can run tests using dart2js', () { tearDown(() async { - var dir = new Directory(_outputDir); + var dir = Directory(_outputDir); if (await dir.exists()) { await dir.delete(recursive: true); } @@ -65,7 +65,7 @@ void main() { } Future expectWasCompiledWithDart2Js({bool minified = false}) async { - var jsFile = new File('$_outputDir/test/hello_world_deferred_test.dart.js'); + var jsFile = File('$_outputDir/test/hello_world_deferred_test.dart.js'); expect(await jsFile.exists(), isTrue); // sanity check that it was indeed compiled with dart2js var content = await jsFile.readAsString(); @@ -77,6 +77,6 @@ Future expectWasCompiledWithDart2Js({bool minified = false}) async { } var jsDeferredPartFile = - new File('$_outputDir/test/hello_world_deferred_test.dart.js_1.part.js'); + File('$_outputDir/test/hello_world_deferred_test.dart.js_1.part.js'); expect(await jsDeferredPartFile.exists(), isTrue); } diff --git a/_test/test/generated_script_integration_test.dart b/_test/test/generated_script_integration_test.dart index 6cba1637e..96faa00a9 100644 --- a/_test/test/generated_script_integration_test.dart +++ b/_test/test/generated_script_integration_test.dart @@ -16,8 +16,8 @@ void main() { test('Generates a build script matching the golden', () { var generatedScript = - new File('.dart_tool/build/entrypoint/build.dart').readAsStringSync(); - var expected = new File('test/goldens/generated_build_script.dart') + File('.dart_tool/build/entrypoint/build.dart').readAsStringSync(); + var expected = File('test/goldens/generated_build_script.dart') .readAsStringSync() .replaceAll('\r', ''); expect(generatedScript, expected); diff --git a/_test/test/serve_integration_test.dart b/_test/test/serve_integration_test.dart index 2ba519fbb..54686c548 100644 --- a/_test/test/serve_integration_test.dart +++ b/_test/test/serve_integration_test.dart @@ -17,7 +17,7 @@ void main() { // These tests depend on running `test` while a `serve` is ongoing. await startServer( ensureCleanBuild: true, buildArgs: ['--skip-build-script-check']); - httpClient = new HttpClient(); + httpClient = HttpClient(); }); tearDownAll(() async { diff --git a/_test/test/test_integration_test.dart b/_test/test/test_integration_test.dart index 5d1951e9b..28291a82e 100644 --- a/_test/test/test_integration_test.dart +++ b/_test/test/test_integration_test.dart @@ -20,8 +20,8 @@ void main() { testArgs: ['--run-skipped', 'test/hello_world_test.dart']); printOnFailure(result.stderr.toString()); expect(result.exitCode, isNot(ExitCode.success)); - expect(result.stdout, - matches(new RegExp(r'hello_world_test.dart [\d]+:[\d]+'))); + expect( + result.stdout, matches(RegExp(r'hello_world_test.dart [\d]+:[\d]+'))); expect(result.stdout, isNot(contains('.js'))); }); diff --git a/_test/tool/build_kernel_ddc.dart b/_test/tool/build_kernel_ddc.dart index b3343ac49..a8874fcdc 100644 --- a/_test/tool/build_kernel_ddc.dart +++ b/_test/tool/build_kernel_ddc.dart @@ -13,9 +13,8 @@ import 'package:build_test/builder.dart'; Future main(List args) async { var builders = [ - apply('_test|test_bootstrap', [(_) => new TestBootstrapBuilder()], toRoot(), - defaultGenerateFor: - const InputSet(include: const ['test/**_test.dart']), + apply('_test|test_bootstrap', [(_) => TestBootstrapBuilder()], toRoot(), + defaultGenerateFor: const InputSet(include: ['test/**_test.dart']), hideOutput: true), apply( '_test|ddc_kernel', @@ -31,18 +30,16 @@ Future main(List args) async { apply( 'build_web_compilers|ddc', [ - (_) => new DevCompilerBuilder(useKernel: true), + (_) => DevCompilerBuilder(useKernel: true), ], toAllPackages(), isOptional: true, hideOutput: true), apply( 'build_web_compilers|entrypoint', - [ - (_) => new WebEntrypointBuilder(WebCompiler.DartDevc, useKernel: true) - ], + [(_) => WebEntrypointBuilder(WebCompiler.DartDevc, useKernel: true)], toRoot(), - defaultGenerateFor: const InputSet(include: const [ + defaultGenerateFor: const InputSet(include: [ 'web/**.dart', 'test/**.browser_test.dart', ]), diff --git a/_test_common/lib/assets.dart b/_test_common/lib/assets.dart index 8f77fd67b..706162d25 100644 --- a/_test_common/lib/assets.dart +++ b/_test_common/lib/assets.dart @@ -9,7 +9,7 @@ import 'package:crypto/crypto.dart'; AssetNode makeAssetNode( [String assetIdString, List outputs, Digest lastKnownDigest]) { var id = makeAssetId(assetIdString); - var node = new SourceAssetNode(id, lastKnownDigest: lastKnownDigest); + var node = SourceAssetNode(id, lastKnownDigest: lastKnownDigest); if (outputs != null) { node.outputs.addAll(outputs); node.primaryOutputs.addAll(outputs); diff --git a/_test_common/lib/build_configs.dart b/_test_common/lib/build_configs.dart index 02249bbd8..65f2c894d 100644 --- a/_test_common/lib/build_configs.dart +++ b/_test_common/lib/build_configs.dart @@ -6,6 +6,5 @@ import 'package:build_config/build_config.dart'; Map parseBuildConfigs( Map> configs) => - new Map.fromIterable(configs.keys, - value: (key) => - new BuildConfig.fromMap(key as String, [], configs[key])); + Map.fromIterable(configs.keys, + value: (key) => BuildConfig.fromMap(key as String, [], configs[key])); diff --git a/_test_common/lib/common.dart b/_test_common/lib/common.dart index e19e25ed8..d0632d660 100644 --- a/_test_common/lib/common.dart +++ b/_test_common/lib/common.dart @@ -50,5 +50,5 @@ AssetId _outputId( var newPath = inputId.path.substring(0, inputId.path.length - inputExtension.length) + outputExtension; - return new AssetId(inputId.package, newPath); + return AssetId(inputId.package, newPath); } diff --git a/_test_common/lib/descriptors.dart b/_test_common/lib/descriptors.dart index 8a5688b6a..33c54f268 100644 --- a/_test_common/lib/descriptors.dart +++ b/_test_common/lib/descriptors.dart @@ -26,7 +26,7 @@ Future pubspec(String name, pathDependencies ??= {}; versionDependencies ??= {}; - var buffer = new StringBuffer() + var buffer = StringBuffer() ..writeln('name: $name') // Using dependency_overrides forces the path dependency and silences // warnings about hosted vs path dependency conflicts. diff --git a/_test_common/lib/in_memory_writer.dart b/_test_common/lib/in_memory_writer.dart index d3fd781d0..a6d0913df 100644 --- a/_test_common/lib/in_memory_writer.dart +++ b/_test_common/lib/in_memory_writer.dart @@ -22,7 +22,7 @@ class InMemoryRunnerAssetWriter extends InMemoryAssetWriter var type = assets.containsKey(id) ? ChangeType.MODIFY : ChangeType.ADD; await super.writeAsBytes(id, bytes); FakeWatcher.notifyWatchers( - new WatchEvent(type, p.absolute(id.package, id.path))); + WatchEvent(type, p.absolute(id.package, id.path))); } @override @@ -31,7 +31,7 @@ class InMemoryRunnerAssetWriter extends InMemoryAssetWriter var type = assets.containsKey(id) ? ChangeType.MODIFY : ChangeType.ADD; await super.writeAsString(id, contents, encoding: encoding); FakeWatcher.notifyWatchers( - new WatchEvent(type, p.absolute(id.package, id.path))); + WatchEvent(type, p.absolute(id.package, id.path))); } @override @@ -39,6 +39,6 @@ class InMemoryRunnerAssetWriter extends InMemoryAssetWriter if (onDelete != null) onDelete(id); assets.remove(id); FakeWatcher.notifyWatchers( - new WatchEvent(ChangeType.REMOVE, p.absolute(id.package, id.path))); + WatchEvent(ChangeType.REMOVE, p.absolute(id.package, id.path))); } } diff --git a/_test_common/lib/matchers.dart b/_test_common/lib/matchers.dart index e09de8b08..c411ebf3c 100644 --- a/_test_common/lib/matchers.dart +++ b/_test_common/lib/matchers.dart @@ -8,13 +8,13 @@ import 'package:build_runner_core/src/asset_graph/graph.dart'; import 'package:build_runner_core/src/asset_graph/node.dart'; final Matcher assetGraphVersionException = - new TypeMatcher(); + TypeMatcher(); final Matcher duplicateAssetNodeException = - new TypeMatcher(); + TypeMatcher(); Matcher equalsAssetGraph(AssetGraph expected, {bool checkPreviousInputsDigest}) => - new _AssetGraphMatcher(expected, checkPreviousInputsDigest ?? true); + _AssetGraphMatcher(expected, checkPreviousInputsDigest ?? true); class _AssetGraphMatcher extends Matcher { final AssetGraph _expected; diff --git a/_test_common/lib/package_graphs.dart b/_test_common/lib/package_graphs.dart index 249743b1b..83d9b9780 100644 --- a/_test_common/lib/package_graphs.dart +++ b/_test_common/lib/package_graphs.dart @@ -5,18 +5,18 @@ import 'package:build_runner_core/build_runner_core.dart'; PackageGraph buildPackageGraph(Map> packages) { - var packagesByName = new Map.fromIterable(packages.keys, + var packagesByName = Map.fromIterable(packages.keys, key: (p) => (p as PackageNode).name); for (final package in packages.keys) { package.dependencies .addAll(packages[package].map((name) => packagesByName[name])); } var root = packages.keys.singleWhere((n) => n.isRoot); - return new PackageGraph.fromRoot(root); + return PackageGraph.fromRoot(root); } PackageNode package(String packageName, {String path, DependencyType type}) => - new PackageNode(packageName, path, type); + PackageNode(packageName, path, type); PackageNode rootPackage(String packageName, {String path}) => - new PackageNode(packageName, path, DependencyType.path, isRoot: true); + PackageNode(packageName, path, DependencyType.path, isRoot: true); diff --git a/_test_common/lib/runner_asset_writer_spy.dart b/_test_common/lib/runner_asset_writer_spy.dart index 519d74927..601d46226 100644 --- a/_test_common/lib/runner_asset_writer_spy.dart +++ b/_test_common/lib/runner_asset_writer_spy.dart @@ -10,7 +10,7 @@ import 'package:build/build.dart'; class RunnerAssetWriterSpy extends AssetWriterSpy implements RunnerAssetWriter { final RunnerAssetWriter _delegate; - final _assetsDeleted = new Set(); + final _assetsDeleted = Set(); Iterable get assetsDeleted => _assetsDeleted; RunnerAssetWriterSpy(this._delegate) : super(_delegate); diff --git a/_test_common/lib/test_environment.dart b/_test_common/lib/test_environment.dart index 927f430c7..5ba87f11e 100644 --- a/_test_common/lib/test_environment.dart +++ b/_test_common/lib/test_environment.dart @@ -45,8 +45,8 @@ class TestBuildEnvironment extends BuildEnvironment { {RunnerAssetReader reader, RunnerAssetWriter writer, this.throwOnPrompt = false}) - : this.reader = reader ?? new InMemoryRunnerAssetReader(), - this.writer = writer ?? new InMemoryRunnerAssetWriter(); + : this.reader = reader ?? InMemoryRunnerAssetReader(), + this.writer = writer ?? InMemoryRunnerAssetWriter(); @override void onLog(LogRecord record) => logRecords.add(record); @@ -60,9 +60,9 @@ class TestBuildEnvironment extends BuildEnvironment { /// this method should throw [NonInteractiveBuildException]. @override Future prompt(String message, List choices) { - if (throwOnPrompt) throw new NonInteractiveBuildException(); + if (throwOnPrompt) throw NonInteractiveBuildException(); assert(_nextPromptResponse != null); - return new Future.value(_nextPromptResponse); + return Future.value(_nextPromptResponse); } } diff --git a/_test_common/lib/test_phases.dart b/_test_common/lib/test_phases.dart index 7c05bdf32..135ac8eea 100644 --- a/_test_common/lib/test_phases.dart +++ b/_test_common/lib/test_phases.dart @@ -24,7 +24,7 @@ import 'in_memory_writer.dart'; import 'package_graphs.dart'; Future wait(int milliseconds) => - new Future.delayed(new Duration(milliseconds: milliseconds)); + Future.delayed(Duration(milliseconds: milliseconds)); void _nullLog(_) {} @@ -94,8 +94,8 @@ Future testBuilders( String logPerformanceDir, }) async { packageGraph ??= buildPackageGraph({rootPackage('a'): []}); - writer ??= new InMemoryRunnerAssetWriter(); - reader ??= new InMemoryRunnerAssetReader.shareAssetCache(writer.assets, + writer ??= InMemoryRunnerAssetWriter(); + reader ??= InMemoryRunnerAssetReader.shareAssetCache(writer.assets, rootPackage: packageGraph?.root?.name); inputs.forEach((serializedId, contents) { @@ -108,7 +108,7 @@ Future testBuilders( }); builderConfigOverrides ??= const {}; - var environment = new OverrideableEnvironment(new IOEnvironment(packageGraph), + var environment = OverrideableEnvironment(IOEnvironment(packageGraph), reader: reader, writer: writer, onLog: onLog); var options = await BuildOptions.create(environment, deleteFilesByDefault: deleteFilesByDefault, @@ -153,7 +153,7 @@ void checkBuild(BuildResult result, expect(result.status, status, reason: '$result'); final unhiddenOutputs = {}; - final unhiddenAssets = new Set(); + final unhiddenAssets = Set(); for (final id in outputs?.keys ?? const []) { if (id.startsWith(r'$$')) { final unhidden = id.substring(2); @@ -165,7 +165,7 @@ void checkBuild(BuildResult result, } AssetId mapHidden(AssetId id) => unhiddenAssets.contains(id) - ? new AssetId( + ? AssetId( rootPackage, '.dart_tool/build/generated/${id.package}/${id.path}') : id; diff --git a/analysis_options.yaml b/analysis_options.yaml index 458fbe788..3539ddc46 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -74,8 +74,10 @@ linter: - type_init_formals - unawaited_futures - unnecessary_brace_in_string_interps + #- unnecessary_const - unnecessary_getters_setters - unnecessary_lambdas + - unnecessary_new - unnecessary_null_aware_assignments - unnecessary_statements - unnecessary_this diff --git a/bazel_codegen/lib/_bazel_codegen.dart b/bazel_codegen/lib/_bazel_codegen.dart index fc13b2181..1dde84478 100644 --- a/bazel_codegen/lib/_bazel_codegen.dart +++ b/bazel_codegen/lib/_bazel_codegen.dart @@ -29,7 +29,7 @@ import 'src/run_phases.dart'; /// declared outputs. Future bazelGenerateMulti(List builders, List args, {Map defaultContent = const {}}) { - var options = new StartupArgs.parse(args); + var options = StartupArgs.parse(args); return Chain.capture(() { if (options.persistentWorker) { return generateAsWorker(builders, defaultContent); diff --git a/bazel_codegen/lib/src/args/build_args.dart b/bazel_codegen/lib/src/args/build_args.dart index a1e8b6c60..16670e20e 100644 --- a/bazel_codegen/lib/src/args/build_args.dart +++ b/bazel_codegen/lib/src/args/build_args.dart @@ -18,7 +18,7 @@ const _srcsParam = 'srcs-file'; const _summariesParam = 'use-summaries'; // All arguments other than `--help` and `--use-summaries` are required. -final _argParser = new ArgParser() +final _argParser = ArgParser() ..addMultiOption(_rootDirParam, help: 'One or more workspace directories to check when reading files.') ..addFlag(_helpParam, @@ -89,7 +89,7 @@ class BuildArgs { // When not running as a worker, but that mode is supported, then we get // just this arg which points at a file containing the arguments. if (args.length == 1 && args.first.startsWith('@')) { - args = new File(args.first.substring(1)).readAsLinesSync(); + args = File(args.first.substring(1)).readAsLinesSync(); } final argResults = _argParser.parse(args); @@ -105,7 +105,7 @@ class BuildArgs { final logPath = _requiredArg(argResults, _logPathParam) as String; final rawBuildExtensions = _requiredArg(argResults, _buildExtensions) as Iterable; - final buildExtensions = new Map>.fromIterable( + final buildExtensions = Map>.fromIterable( rawBuildExtensions, key: (e) => (e as String).split(':').first, value: (e) => (e as String).split(':').last.split(';').toList()); @@ -115,8 +115,8 @@ class BuildArgs { final help = argResults[_helpParam] as bool; final useSummaries = argResults[_summariesParam] as bool; - return new BuildArgs._(rootDirs, packagePath, outDir, logPath, - buildExtensions, packageMapPath, srcsPath, help, logLevel, + return BuildArgs._(rootDirs, packagePath, outDir, logPath, buildExtensions, + packageMapPath, srcsPath, help, logLevel, additionalArgs: argResults.rest, isWorker: isWorker, useSummaries: useSummaries); @@ -132,6 +132,6 @@ class BuildArgs { dynamic _requiredArg(ArgResults results, String param) { final val = results[param]; - if (val == null) throw new ArgumentError.notNull(param); + if (val == null) throw ArgumentError.notNull(param); return val; } diff --git a/bazel_codegen/lib/src/args/builder_options.dart b/bazel_codegen/lib/src/args/builder_options.dart index 9c9a0ee89..890db196b 100644 --- a/bazel_codegen/lib/src/args/builder_options.dart +++ b/bazel_codegen/lib/src/args/builder_options.dart @@ -17,21 +17,21 @@ import 'package:build/build.dart'; /// Values are JSON decoded when possible, and passed through directly as a /// String when the JSON decode fails. BuilderOptions optionsFromArgs(List args) { - args = new List.from(args); + args = List.from(args); final options = {}; for (final arg in args) { final withoutDash = arg.startsWith('--') ? arg.substring(2) : arg; final parts = withoutDash.split('='); if (parts.length > 2 || parts.first.isEmpty) { - throw new ArgumentError('Could not parse argument $arg: $parts'); + throw ArgumentError('Could not parse argument $arg: $parts'); } final option = parts.first; final value = parts.length == 2 ? _decode(parts[1]) : true; options[option] = value; } - return new BuilderOptions(options); + return BuilderOptions(options); } dynamic _decode(String value) { diff --git a/bazel_codegen/lib/src/args/startup_args.dart b/bazel_codegen/lib/src/args/startup_args.dart index 0e3575269..7d8a89456 100644 --- a/bazel_codegen/lib/src/args/startup_args.dart +++ b/bazel_codegen/lib/src/args/startup_args.dart @@ -6,7 +6,7 @@ import 'package:args/args.dart'; const _persistentWorkerParam = 'persistent_worker'; const _asyncStackTraceParam = 'async-stack-trace'; -final _argParser = new ArgParser(allowTrailingOptions: true) +final _argParser = ArgParser(allowTrailingOptions: true) ..addFlag(_persistentWorkerParam, negatable: false, defaultsTo: false, @@ -27,7 +27,7 @@ class StartupArgs { final argResults = _argParser.parse(args); final persistentWorker = argResults[_persistentWorkerParam] as bool; final asyncStackTrace = argResults[_asyncStackTraceParam] as bool; - return new StartupArgs._( + return StartupArgs._( persistentWorker, asyncStackTrace, argResults.rest, diff --git a/bazel_codegen/lib/src/assets/asset_reader.dart b/bazel_codegen/lib/src/assets/asset_reader.dart index debce03aa..1cb673631 100644 --- a/bazel_codegen/lib/src/assets/asset_reader.dart +++ b/bazel_codegen/lib/src/assets/asset_reader.dart @@ -34,7 +34,7 @@ class BazelAssetReader extends AssetReader { BazelAssetReader( this._rootPackage, Iterable rootDirs, this._packageMap, {AssetFilter assetFilter}) - : _fileSystem = new BazelFileSystem('.', rootDirs.toList()), + : _fileSystem = BazelFileSystem('.', rootDirs.toList()), _assetFilter = assetFilter; BazelAssetReader.forTest( @@ -58,7 +58,7 @@ class BazelAssetReader extends AssetReader { String _filePathForId(AssetId id) { final packagePath = _packageMap[id.package]; if (!_assetFilter.isValid(id) || packagePath == null) { - throw new CodegenError('Attempted to read invalid input $id.'); + throw CodegenError('Attempted to read invalid input $id.'); } return p.join(packagePath, id.path); } @@ -75,9 +75,9 @@ class BazelAssetReader extends AssetReader { } @override - Stream findAssets(Glob glob) => new Stream.fromIterable(_fileSystem + Stream findAssets(Glob glob) => Stream.fromIterable(_fileSystem .findAssets(_packageMap[_rootPackage], glob) - .map((path) => new AssetId(_rootPackage, path)) + .map((path) => AssetId(_rootPackage, path)) .where(_assetFilter.isValid)); void startPhase(AssetWriterSpy assetWriter) => diff --git a/bazel_codegen/lib/src/assets/asset_writer.dart b/bazel_codegen/lib/src/assets/asset_writer.dart index c70cd1688..2eae9f0fe 100644 --- a/bazel_codegen/lib/src/assets/asset_writer.dart +++ b/bazel_codegen/lib/src/assets/asset_writer.dart @@ -41,11 +41,11 @@ class BazelAssetWriter implements AssetWriter { var packageDir = _packageMap[id.package]; var bazelPath = path.join(packageDir, id.path); if (_inputs?.contains(bazelPath) == true) { - throw new CodegenError( + throw CodegenError( 'Attempted to output $id which was an input. Bazel does not ' 'allow overwriting of input files.'); } - return new File(path.join(_outDir, bazelPath)); + return File(path.join(_outDir, bazelPath)); } } diff --git a/bazel_codegen/lib/src/assets/file_system.dart b/bazel_codegen/lib/src/assets/file_system.dart index 83b7f439c..727139b22 100644 --- a/bazel_codegen/lib/src/assets/file_system.dart +++ b/bazel_codegen/lib/src/assets/file_system.dart @@ -13,22 +13,22 @@ class BazelFileSystem { final List searchPaths; BazelFileSystem(this.workspaceDir, this.searchPaths) { - if (workspaceDir == null) throw new ArgumentError(); - if (searchPaths == null) throw new ArgumentError(); + if (workspaceDir == null) throw ArgumentError(); + if (searchPaths == null) throw ArgumentError(); } Future exists(String path) async => (await _fileForPath(path)) != null; Future find(String path) async { var file = await _fileForPath(path); - if (file == null) throw new FileSystemException('File not found', path); + if (file == null) throw FileSystemException('File not found', path); return file; } Iterable findAssets(String packagePath, Glob glob) sync* { for (var searchPath in searchPaths) { var fullPath = p.join(workspaceDir, searchPath, packagePath); - if (!new Directory(fullPath).existsSync()) continue; + if (!Directory(fullPath).existsSync()) continue; yield* glob .listSync(root: fullPath) .map((e) => e.path) @@ -38,7 +38,7 @@ class BazelFileSystem { Future _fileForPath(String path) async { for (var searchPath in searchPaths) { - var f = new File(p.join(workspaceDir, searchPath, path)); + var f = File(p.join(workspaceDir, searchPath, path)); if (await f.exists()) return f; } return null; diff --git a/bazel_codegen/lib/src/assets/path_translation.dart b/bazel_codegen/lib/src/assets/path_translation.dart index 8f56b7415..2dba20bd0 100644 --- a/bazel_codegen/lib/src/assets/path_translation.dart +++ b/bazel_codegen/lib/src/assets/path_translation.dart @@ -11,7 +11,7 @@ Iterable findAssetIds(Iterable inputs, String packagePath, final packageName = _findPackageName(packageMap, packagePath); for (var input in inputs) { if (!input.startsWith(packagePath)) { - throw new CodegenError( + throw CodegenError( 'Cannot generate files for source "$input" because it is not ' 'in the current package ($packagePath). ' 'If this file is needed to generate other files, please add it to ' @@ -20,7 +20,7 @@ Iterable findAssetIds(Iterable inputs, String packagePath, var path = packagePath.isNotEmpty ? input.substring(packagePath.length + 1) : input; - yield new AssetId(packageName, path); + yield AssetId(packageName, path); } } @@ -28,5 +28,5 @@ String _findPackageName(Map packageMap, String packagePath) { for (var packageName in packageMap.keys) { if (packageMap[packageName] == packagePath) return packageName; } - throw new CodegenError('Could not find package name for path $packagePath'); + throw CodegenError('Could not find package name for path $packagePath'); } diff --git a/bazel_codegen/lib/src/logging.dart b/bazel_codegen/lib/src/logging.dart index eef63d47c..a367449a8 100644 --- a/bazel_codegen/lib/src/logging.dart +++ b/bazel_codegen/lib/src/logging.dart @@ -61,7 +61,7 @@ class IOSinkLogHandle { factory IOSinkLogHandle.toFile(String logFile, {Level printLevel, bool printToStdErr = true}) => - new IOSinkLogHandle(new File(logFile).openWrite(), + IOSinkLogHandle(File(logFile).openWrite(), printLevel: printLevel, printToStdErr: printToStdErr); /// Must be called to finish writing logs. @@ -74,14 +74,14 @@ class IOSinkLogHandle { Logger _createLogger() { hierarchicalLoggingEnabled = true; - return new Logger.detached('codegen')..level = Level.ALL; + return Logger.detached('codegen')..level = Level.ALL; } String _logMessage(LogRecord record) { - var buffer = new StringBuffer('[${record.level}]: ${record.message}'); + var buffer = StringBuffer('[${record.level}]: ${record.message}'); if (record.error != null) buffer.write('\n${record.error}'); if (record.stackTrace != null) { - buffer.write('\n${new Chain.forTrace(record.stackTrace).terse}'); + buffer.write('\n${Chain.forTrace(record.stackTrace).terse}'); } return buffer.toString(); } diff --git a/bazel_codegen/lib/src/run_builders.dart b/bazel_codegen/lib/src/run_builders.dart index fa6a82da9..3c2498fa9 100644 --- a/bazel_codegen/lib/src/run_builders.dart +++ b/bazel_codegen/lib/src/run_builders.dart @@ -40,11 +40,11 @@ Future runBuilders( .where((id) => buildExtensions.keys.any(id.path.endsWith)) .toList(); - var allWrittenAssets = new Set(); + var allWrittenAssets = Set(); - var inputSrcs = new Set()..addAll(srcAssets); + var inputSrcs = Set()..addAll(srcAssets); for (var builder in builders.map((f) => f(builderOptions))) { - var writerSpy = new AssetWriterSpy(writer); + var writerSpy = AssetWriterSpy(writer); reader.startPhase(writerSpy); try { if (inputSrcs.isNotEmpty) { @@ -81,7 +81,7 @@ Future runBuilders( for (var extension in buildExtensions[inputExtension]) { if (!assetId.path.endsWith(inputExtension)) continue; - var expectedAssetId = new AssetId( + var expectedAssetId = AssetId( assetId.package, assetId.path.substring( 0, assetId.path.length - inputExtension.length) + diff --git a/bazel_codegen/lib/src/run_phases.dart b/bazel_codegen/lib/src/run_phases.dart index b4cc62dc4..249850afd 100644 --- a/bazel_codegen/lib/src/run_phases.dart +++ b/bazel_codegen/lib/src/run_phases.dart @@ -23,13 +23,13 @@ import 'timing.dart'; /// Runs builds as a worker. Future generateAsWorker( List builders, Map defaultContent) { - return new _CodegenWorker(builders, defaultContent).run(); + return _CodegenWorker(builders, defaultContent).run(); } /// Runs in single build mode (not as a worker). Future generateSingleBuild(List builders, List args, Map defaultContent) async { - var timings = new CodegenTiming()..start(); + var timings = CodegenTiming()..start(); IOSinkLogHandle logger; var buildArgs = _parseArgs(args); @@ -50,8 +50,8 @@ Future generateSingleBuild(List builders, List args, Future> _packageMap( BuildArgs buildArgs, CodegenTiming timings) => timings.trackOperation('Reading package map', () async { - var lines = await new File(buildArgs.packageMapPath).readAsLines(); - return new Map.fromIterable( + var lines = await File(buildArgs.packageMapPath).readAsLines(); + return Map.fromIterable( lines.map((line) => line.split(':')), key: (l) => (l as List)[0], value: (l) => (l as List)[1]); @@ -80,26 +80,26 @@ class _CodegenWorker extends AsyncWorkerLoop { var buildArgs = _parseArgs(request.arguments); try { numRuns++; - var timings = new CodegenTiming()..start(); + var timings = CodegenTiming()..start(); var bazelRelativeInputs = request.inputs .map((input) => _bazelRelativePath(input.path, buildArgs.rootDirs)); logHandle = await _runBuilders( builders, buildArgs, defaultContent, timings, - isWorker: true, validInputs: new Set()..addAll(bazelRelativeInputs)); + isWorker: true, validInputs: Set()..addAll(bazelRelativeInputs)); logHandle.logger.info( 'Completed in worker mode, this worker has ran $numRuns builds'); await logHandle.close(); var message = _loggerMessage(logHandle, buildArgs.logPath); - var response = new WorkResponse() + var response = WorkResponse() ..exitCode = logHandle.errorCount == 0 ? EXIT_CODE_OK : EXIT_CODE_ERROR; if (message.isNotEmpty) response.output = message; return response; } catch (e, s) { await logHandle?.close(); - return new WorkResponse() + return WorkResponse() ..exitCode = EXIT_CODE_ERROR ..output = 'Dart Codegen worker failed with:\n$e\n$s'; } @@ -122,30 +122,29 @@ Future _runBuilders( assert(timings.isRunning); final srcPaths = await timings.trackOperation('Collecting input srcs', () { - return new File(buildArgs.srcsPath).readAsLines(); + return File(buildArgs.srcsPath).readAsLines(); }); if (srcPaths.isEmpty) { - throw new CodegenError('No input files to process.'); + throw CodegenError('No input files to process.'); } final packageMap = await _packageMap(buildArgs, timings); final packageName = packageMap.keys .firstWhere((name) => packageMap[name] == buildArgs.packagePath); - final writer = new BazelAssetWriter(buildArgs.outDir, packageMap, - validInputs: validInputs); - final reader = new BazelAssetReader( - packageName, buildArgs.rootDirs, packageMap, - assetFilter: new AssetFilter(validInputs, packageMap)); - var logHandle = new IOSinkLogHandle.toFile(buildArgs.logPath, + final writer = + BazelAssetWriter(buildArgs.outDir, packageMap, validInputs: validInputs); + final reader = BazelAssetReader(packageName, buildArgs.rootDirs, packageMap, + assetFilter: AssetFilter(validInputs, packageMap)); + var logHandle = IOSinkLogHandle.toFile(buildArgs.logPath, printLevel: buildArgs.logLevel, printToStdErr: !buildArgs.isWorker); Resolvers resolvers; List builderArgs; if (buildArgs.useSummaries) { - var summaryOptions = new SummaryOptions.fromArgs(buildArgs.additionalArgs); - resolvers = new SummaryResolvers(summaryOptions, packageMap); + var summaryOptions = SummaryOptions.fromArgs(buildArgs.additionalArgs); + resolvers = SummaryResolvers(summaryOptions, packageMap); builderArgs = summaryOptions.additionalArgs; } else { - resolvers = new AnalyzerResolvers(); + resolvers = AnalyzerResolvers(); builderArgs = buildArgs.additionalArgs; } await runBuilders( @@ -168,7 +167,7 @@ Future _runBuilders( /// Parse [BuildArgs] from [args]. BuildArgs _parseArgs(List args) { - var buildArgs = new BuildArgs.parse(args); + var buildArgs = BuildArgs.parse(args); if (buildArgs.help) { buildArgs.printUsage(); return null; diff --git a/bazel_codegen/lib/src/summaries/analysis_context.dart b/bazel_codegen/lib/src/summaries/analysis_context.dart index ef44b2a50..d1752f66a 100644 --- a/bazel_codegen/lib/src/summaries/analysis_context.dart +++ b/bazel_codegen/lib/src/summaries/analysis_context.dart @@ -21,25 +21,24 @@ import 'arg_parser.dart'; AnalysisContext summaryAnalysisContext( SummaryOptions options, Iterable additionalResolvers) { AnalysisEngine.instance.processRequiredPlugins(); - var sdk = new SummaryBasedDartSdk(options.sdkSummary, true); - var sdkResolver = new DartUriResolver(sdk); + var sdk = SummaryBasedDartSdk(options.sdkSummary, true); + var sdkResolver = DartUriResolver(sdk); - var summaryData = new SummaryDataStore(options.summaryPaths) + var summaryData = SummaryDataStore(options.summaryPaths) ..addBundle(null, sdk.bundle); var summaryResolver = - new InSummaryUriResolver(PhysicalResourceProvider.INSTANCE, summaryData); + InSummaryUriResolver(PhysicalResourceProvider.INSTANCE, summaryData); var resolvers = [] ..addAll(additionalResolvers) ..add(sdkResolver) ..add(summaryResolver); - var sourceFactory = new SourceFactory(resolvers); + var sourceFactory = SourceFactory(resolvers); var context = AnalysisEngine.instance.createAnalysisContext() ..sourceFactory = sourceFactory; - (context as AnalysisContextImpl).resultProvider = - new InputPackagesResultProvider( - context as InternalAnalysisContext, summaryData); + (context as AnalysisContextImpl).resultProvider = InputPackagesResultProvider( + context as InternalAnalysisContext, summaryData); return context; } diff --git a/bazel_codegen/lib/src/summaries/arg_parser.dart b/bazel_codegen/lib/src/summaries/arg_parser.dart index 257f40102..e2df6b863 100644 --- a/bazel_codegen/lib/src/summaries/arg_parser.dart +++ b/bazel_codegen/lib/src/summaries/arg_parser.dart @@ -8,7 +8,7 @@ const _srcsParam = 'srcs-file'; const _packagePathParam = 'package-path'; const _sdkSummaryParam = 'dart-sdk-summary'; -final _argParser = new ArgParser() +final _argParser = ArgParser() ..addMultiOption(_summariesParam, help: 'List of paths to the files containing analyzer summaries for ' 'transitive dependencies.') @@ -35,7 +35,7 @@ class SummaryOptions { factory SummaryOptions.fromArgs(List args) { final argResults = _argParser.parse(args); - return new SummaryOptions( + return SummaryOptions( summaryPaths: (_requiredArg(argResults, _summariesParam) as List) .map((v) => v as String) .toList(), @@ -48,6 +48,6 @@ class SummaryOptions { dynamic _requiredArg(ArgResults results, String param) { final val = results[param]; - if (val == null) throw new ArgumentError.notNull(param); + if (val == null) throw ArgumentError.notNull(param); return val; } diff --git a/bazel_codegen/lib/src/summaries/build_asset_uri_resolver.dart b/bazel_codegen/lib/src/summaries/build_asset_uri_resolver.dart index 92c3d325e..1267cf0fe 100644 --- a/bazel_codegen/lib/src/summaries/build_asset_uri_resolver.dart +++ b/bazel_codegen/lib/src/summaries/build_asset_uri_resolver.dart @@ -23,7 +23,7 @@ class BuildAssetUriResolver implements UriResolver { for (var asset in assets.where((asset) => asset.path.endsWith('.dart'))) { var uri = assetUri(asset); if (!_knownAssets.containsKey(uri)) { - _knownAssets[uri] = new AssetSource(asset, await read(asset)); + _knownAssets[uri] = AssetSource(asset, await read(asset)); } } } @@ -33,7 +33,7 @@ class BuildAssetUriResolver implements UriResolver { @override Uri restoreAbsolute(Source source) { - throw new UnimplementedError(); + throw UnimplementedError(); } } @@ -44,7 +44,7 @@ class AssetSource implements Source { AssetSource(this._assetId, this._content); @override - TimestampedData get contents => new TimestampedData(0, _content); + TimestampedData get contents => TimestampedData(0, _content); @override String get encoding => '$_assetId'; @@ -91,7 +91,7 @@ class AssetSource implements Source { } Uri assetUri(AssetId assetId) => assetId.path.startsWith('lib/') - ? new Uri( + ? Uri( scheme: 'package', path: '${assetId.package}/${assetId.path.replaceFirst('lib/', '')}') - : new Uri(scheme: 'asset', path: '${assetId.package}/${assetId.path}'); + : Uri(scheme: 'asset', path: '${assetId.package}/${assetId.path}'); diff --git a/bazel_codegen/lib/src/summaries/resolvers.dart b/bazel_codegen/lib/src/summaries/resolvers.dart index 137039d9b..48677cf94 100644 --- a/bazel_codegen/lib/src/summaries/resolvers.dart +++ b/bazel_codegen/lib/src/summaries/resolvers.dart @@ -31,8 +31,8 @@ class SummaryResolvers implements Resolvers { factory SummaryResolvers( SummaryOptions options, Map packageMap) { - var assetResolver = new BuildAssetUriResolver(); - return new SummaryResolvers._( + var assetResolver = BuildAssetUriResolver(); + return SummaryResolvers._( assetResolver, summaryAnalysisContext(options, [assetResolver]), options.sourcesFile, @@ -48,11 +48,11 @@ class SummaryResolvers implements Resolvers { await (_priming ??= _primeWithSources(buildStep.readAsString)); var entryPoints = [buildStep.inputId]; await _assetResolver.addAssets(entryPoints, buildStep.readAsString); - return new AnalysisResolver(_context, entryPoints); + return AnalysisResolver(_context, entryPoints); } Future _primeWithSources(ReadAsset readAsset) async { - var sourceFiles = await new File(_sourcesFile).readAsLines(); + var sourceFiles = await File(_sourcesFile).readAsLines(); var assets = findAssetIds(sourceFiles, _packagePath, _packageMap); await _assetResolver.addAssets(assets, readAsset); } @@ -83,18 +83,18 @@ class AnalysisResolver implements ReleasableResolver { Future libraryFor(AssetId assetId) async { var uri = assetUri(assetId); var source = _analysisContext.sourceFactory.forUri2(uri); - if (source == null) throw new ArgumentError('missing source for $uri'); + if (source == null) throw ArgumentError('missing source for $uri'); var kind = _analysisContext.computeKindOf(source); if (kind != SourceKind.LIBRARY) return null; var library = _analysisContext.computeLibraryElement(source); - if (library == null) throw new ArgumentError('Could not resolve $assetId'); + if (library == null) throw ArgumentError('Could not resolve $assetId'); return library; } @override Stream get libraries async* { - var allLibraries = new Set(); - var uncheckedLibraries = new Queue() + var allLibraries = Set(); + var uncheckedLibraries = Queue() ..addAll(await Future.wait(_assetIds.map(libraryFor))); while (uncheckedLibraries.isNotEmpty) { var library = uncheckedLibraries.removeFirst(); diff --git a/bazel_codegen/lib/src/timing.dart b/bazel_codegen/lib/src/timing.dart index 070486aef..f06d263ce 100644 --- a/bazel_codegen/lib/src/timing.dart +++ b/bazel_codegen/lib/src/timing.dart @@ -11,7 +11,7 @@ class CodegenTiming { final _watches = {}; CodegenTiming() { - _watches[_mainWatchDescription] = new Stopwatch(); + _watches[_mainWatchDescription] = Stopwatch(); } Stopwatch get _mainWatch => _watches[_mainWatchDescription]; @@ -30,7 +30,7 @@ class CodegenTiming { /// executed. FutureOr trackOperation(String description, FutureOr operation()) => _trackTiming( - operation, _watches.putIfAbsent(description, () => new Stopwatch())); + operation, _watches.putIfAbsent(description, () => Stopwatch())); /// Tracks [operation] that should be totaled using [watch]. /// diff --git a/bazel_codegen/test/asset_reader_test.dart b/bazel_codegen/test/asset_reader_test.dart index 3e5b1f13b..c424db122 100644 --- a/bazel_codegen/test/asset_reader_test.dart +++ b/bazel_codegen/test/asset_reader_test.dart @@ -15,15 +15,15 @@ import 'package:_bazel_codegen/src/assets/file_system.dart'; void main() { const packagePath = 'test/package/test_package'; const packageName = 'test.package.test_package'; - const packageMap = const {packageName: packagePath}; - final f1AssetId = new AssetId(packageName, 'lib/filename1.dart'); - final f2AssetId = new AssetId(packageName, 'lib/filename2.dart'); + const packageMap = {packageName: packagePath}; + final f1AssetId = AssetId(packageName, 'lib/filename1.dart'); + final f2AssetId = AssetId(packageName, 'lib/filename2.dart'); BazelAssetReader reader; FakeFileSystem fileSystem; setUp(() { - fileSystem = new FakeFileSystem(); - reader = new BazelAssetReader.forTest(packageName, packageMap, fileSystem); + fileSystem = FakeFileSystem(); + reader = BazelAssetReader.forTest(packageName, packageMap, fileSystem); }); test('canRead', () async { @@ -40,7 +40,7 @@ void main() { test('readAsString', () async { final content = 'Test File Contents'; - fileSystem.nextFile = new FakeFile()..content = content; + fileSystem.nextFile = FakeFile()..content = content; expect(await reader.readAsString(f1AssetId), equals(content)); expect(fileSystem.calls, isNotEmpty); expect(fileSystem.calls.single.memberName, equals(#find)); @@ -48,7 +48,7 @@ void main() { test('readAsBytes', () async { final content = [1, 2, 3]; - fileSystem.nextFile = new FakeFile()..content = utf8.decode(content); + fileSystem.nextFile = FakeFile()..content = utf8.decode(content); expect(await reader.readAsBytes(f1AssetId), equals(content)); expect(fileSystem.calls, isNotEmpty); expect(fileSystem.calls.single.memberName, equals(#find)); @@ -56,7 +56,7 @@ void main() { test('findAssets', () async { fileSystem.nextFindAssets = ['lib/filename1.dart', 'lib/filename2.dart']; - expect(await reader.findAssets(new Glob('lib/*.dart')).toList(), + expect(await reader.findAssets(Glob('lib/*.dart')).toList(), [f1AssetId, f2AssetId]); }); } @@ -65,16 +65,16 @@ class FakeFileSystem implements BazelFileSystem { final calls = []; bool nextExistsReturn = false; - File nextFile = new FakeFile(); + File nextFile = FakeFile(); Iterable nextFindAssets = const []; @override dynamic noSuchMethod(Invocation invocation) { calls.add(invocation); if (invocation.memberName == #exists) { - return new Future.value(nextExistsReturn); + return Future.value(nextExistsReturn); } else if (invocation.memberName == #find) { - return new Future.value(nextFile); + return Future.value(nextFile); } else if (invocation.memberName == #findAssets) { return nextFindAssets; } @@ -87,10 +87,10 @@ class FakeFile implements File { @override Future> readAsBytes({encoding}) => - new Future.value(utf8.encode(content)); + Future.value(utf8.encode(content)); @override - Future readAsString({encoding}) => new Future.value(content); + Future readAsString({encoding}) => Future.value(content); @override dynamic noSuchMethod(Invocation invocation) { diff --git a/bazel_codegen/test/file_system_test.dart b/bazel_codegen/test/file_system_test.dart index cc9595eae..98b190e3e 100644 --- a/bazel_codegen/test/file_system_test.dart +++ b/bazel_codegen/test/file_system_test.dart @@ -8,7 +8,7 @@ void main() { BazelFileSystem fileSystem; setUp(() async { - fileSystem = new BazelFileSystem(d.sandbox, ['', 'blaze-bin']); + fileSystem = BazelFileSystem(d.sandbox, ['', 'blaze-bin']); }); test('findAssets lists files across search paths', () async { @@ -21,7 +21,7 @@ void main() { ]) ]).create(); - expect(fileSystem.findAssets('some_package', new Glob('lib/*.dart')), + expect(fileSystem.findAssets('some_package', Glob('lib/*.dart')), ['lib/foo.dart', 'lib/bar.dart']); }); } diff --git a/bazel_codegen/test/logger_test.dart b/bazel_codegen/test/logger_test.dart index 692d3e1d5..d69f88251 100644 --- a/bazel_codegen/test/logger_test.dart +++ b/bazel_codegen/test/logger_test.dart @@ -15,8 +15,8 @@ void main() { FakeIOSink sink; setUp(() { - sink = new FakeIOSink(); - logHandle = new IOSinkLogHandle(sink); + sink = FakeIOSink(); + logHandle = IOSinkLogHandle(sink); logger = logHandle.logger; }); @@ -88,7 +88,7 @@ class FakeIOSink implements IOSink { dynamic noSuchMethod(Invocation invocation) { nonWriteCalls.add(invocation); if (invocation.memberName == #flush || invocation.memberName == #close) { - return new Future.value(null); + return Future.value(null); } return null; } diff --git a/bazel_codegen/test/path_translation_test.dart b/bazel_codegen/test/path_translation_test.dart index 6a028ba61..fab6af4c1 100644 --- a/bazel_codegen/test/path_translation_test.dart +++ b/bazel_codegen/test/path_translation_test.dart @@ -9,9 +9,9 @@ import 'package:_bazel_codegen/src/assets/path_translation.dart'; void main() { const packagePath = 'test/package/test_package'; const packageName = 'test.package.test_package'; - const packageMap = const {packageName: packagePath}; - final f1AssetId = new AssetId(packageName, 'lib/filename1.dart'); - final f2AssetId = new AssetId(packageName, 'lib/src/filename2.dart'); + const packageMap = {packageName: packagePath}; + final f1AssetId = AssetId(packageName, 'lib/filename1.dart'); + final f2AssetId = AssetId(packageName, 'lib/src/filename2.dart'); test('findAssetids translates paths', () { final translatedAssets = findAssetIds([ diff --git a/bazel_codegen/test/run_builders_test.dart b/bazel_codegen/test/run_builders_test.dart index 498fd7676..c0d6d3179 100644 --- a/bazel_codegen/test/run_builders_test.dart +++ b/bazel_codegen/test/run_builders_test.dart @@ -22,17 +22,17 @@ void main() { List logs; setUp(() async { - writer = new InMemoryAssetWriter(); - reader = new InMemoryBazelAssetReader(); - logger = new Logger('bazel_codegen_test'); + writer = InMemoryAssetWriter(); + reader = InMemoryBazelAssetReader(); + logger = Logger('bazel_codegen_test'); logs = []; Logger.root.clearListeners(); Logger.root.onRecord.listen((record) => logs.add(record.message)); }); test('happy case', () async { - var builder = new TestBuilder(); - reader.cacheStringAsset(new AssetId('foo', 'lib/source.txt'), 'source'); + var builder = TestBuilder(); + reader.cacheStringAsset(AssetId('foo', 'lib/source.txt'), 'source'); await runBuilders( [(_) => builder], 'foo', @@ -40,25 +40,25 @@ void main() { {}, ['foo/lib/source.txt'], {'foo': 'foo'}, - new CodegenTiming()..start(), + CodegenTiming()..start(), writer, reader, logger, - new AnalyzerResolvers(), - const BuilderOptions(const {}), + AnalyzerResolvers(), + const BuilderOptions({}), ); - expect(writer.assets.keys, - contains(new AssetId('foo', 'lib/source.txt.copy'))); + expect( + writer.assets.keys, contains(AssetId('foo', 'lib/source.txt.copy'))); }); test('multiple input extensions expects correct outputs', () async { - final builderFoo = new TestBuilder( - buildExtensions: appendExtension('.copy', from: '.foo')); - final builderBar = new TestBuilder( - buildExtensions: appendExtension('.copy', from: '.bar')); + final builderFoo = + TestBuilder(buildExtensions: appendExtension('.copy', from: '.foo')); + final builderBar = + TestBuilder(buildExtensions: appendExtension('.copy', from: '.bar')); reader - ..cacheStringAsset(new AssetId('a', 'lib/a1.foo'), 'foo content') - ..cacheStringAsset(new AssetId('a', 'lib/a2.bar'), 'bar content'); + ..cacheStringAsset(AssetId('a', 'lib/a1.foo'), 'foo content') + ..cacheStringAsset(AssetId('a', 'lib/a2.bar'), 'bar content'); await runBuilders( [(_) => builderFoo, (_) => builderBar], 'a', @@ -69,12 +69,12 @@ void main() { {}, ['a/lib/a1.foo', 'a/lib/a2.bar'], {'a': 'a'}, - new CodegenTiming()..start(), + CodegenTiming()..start(), writer, reader, logger, - new AnalyzerResolvers(), - const BuilderOptions(const {}), + AnalyzerResolvers(), + const BuilderOptions({}), ); expect(logs, isNot(contains(startsWith('Missing expected output')))); }); diff --git a/build/lib/src/asset/id.dart b/build/lib/src/asset/id.dart index 20b0728f5..62f66dbdf 100644 --- a/build/lib/src/asset/id.dart +++ b/build/lib/src/asset/id.dart @@ -59,20 +59,20 @@ class AssetId implements Comparable { final parsedUri = Uri.parse(uri); if (parsedUri.hasScheme) { if (parsedUri.scheme == 'package') { - return new AssetId(parsedUri.pathSegments.first, + return AssetId(parsedUri.pathSegments.first, p.url.join('lib', p.url.joinAll(parsedUri.pathSegments.skip(1)))); } else if (parsedUri.scheme == 'asset') { - return new AssetId(parsedUri.pathSegments.first, + return AssetId(parsedUri.pathSegments.first, p.url.joinAll(parsedUri.pathSegments.skip(1))); } - throw new UnsupportedError( + throw UnsupportedError( 'Cannot resolve $uri; only "package" and "asset" schemes supported'); } if (from == null) { - throw new ArgumentError.value(from, 'from', + throw ArgumentError.value(from, 'from', 'An AssetId "from" must be specified to resolve a relative URI'); } - return new AssetId(p.url.normalize(from.package), + return AssetId(p.url.normalize(from.package), p.url.join(p.url.dirname(from.path), uri)); } @@ -84,19 +84,19 @@ class AssetId implements Comparable { factory AssetId.parse(String description) { var parts = description.split('|'); if (parts.length != 2) { - throw new FormatException('Could not parse "$description".'); + throw FormatException('Could not parse "$description".'); } if (parts[0].isEmpty) { - throw new FormatException( + throw FormatException( 'Cannot have empty package name in "$description".'); } if (parts[1].isEmpty) { - throw new FormatException('Cannot have empty path in "$description".'); + throw FormatException('Cannot have empty path in "$description".'); } - return new AssetId(parts[0], parts[1]); + return AssetId(parts[0], parts[1]); } /// A `package:` URI suitable for use directly with other systems if this @@ -128,13 +128,12 @@ class AssetId implements Comparable { /// Returns a new [AssetId] with the same [package] as this one and with the /// [path] extended to include [extension]. - AssetId addExtension(String extension) => - new AssetId(package, '$path$extension'); + AssetId addExtension(String extension) => AssetId(package, '$path$extension'); /// Returns a new [AssetId] with the same [package] and [path] as this one /// but with file extension [newExtension]. AssetId changeExtension(String newExtension) => - new AssetId(package, p.withoutExtension(path) + newExtension); + AssetId(package, p.withoutExtension(path) + newExtension); @override String toString() => '$package|$path'; @@ -146,7 +145,7 @@ class AssetId implements Comparable { String _normalizePath(String path) { if (p.isAbsolute(path)) { - throw new ArgumentError.value(path, 'Asset paths must be relative.'); + throw ArgumentError.value(path, 'Asset paths must be relative.'); } // Normalize path separators so that they are always "/" in the AssetID. @@ -155,7 +154,7 @@ String _normalizePath(String path) { // Collapse "." and "..". final collapsed = p.posix.normalize(path); if (collapsed.startsWith('../')) { - throw new ArgumentError.value( + throw ArgumentError.value( path, 'Asset paths may not reach outside the package.'); } return collapsed; @@ -166,6 +165,5 @@ Uri _constructUri(AssetId id) { final isLib = originalSegments.first == 'lib'; final scheme = isLib ? 'package' : 'asset'; final pathSegments = isLib ? originalSegments.skip(1) : originalSegments; - return new Uri( - scheme: scheme, pathSegments: [id.package]..addAll(pathSegments)); + return Uri(scheme: scheme, pathSegments: [id.package]..addAll(pathSegments)); } diff --git a/build/lib/src/asset/writer.dart b/build/lib/src/asset/writer.dart index 10cd68cf8..2d25779d8 100644 --- a/build/lib/src/asset/writer.dart +++ b/build/lib/src/asset/writer.dart @@ -28,7 +28,7 @@ abstract class AssetWriter { /// An [AssetWriter] which tracks all [assetsWritten] during its lifetime. class AssetWriterSpy implements AssetWriter { final AssetWriter _delegate; - final _assetsWritten = new Set(); + final _assetsWritten = Set(); AssetWriterSpy(this._delegate); diff --git a/build/lib/src/builder/build_step_impl.dart b/build/lib/src/builder/build_step_impl.dart index 7e52c28bc..371da66c7 100644 --- a/build/lib/src/builder/build_step_impl.dart +++ b/build/lib/src/builder/build_step_impl.dart @@ -31,7 +31,7 @@ class BuildStepImpl implements BuildStep { @override Future get inputLibrary async { - if (_isComplete) throw new BuildStepCompletedException(); + if (_isComplete) throw BuildStepCompletedException(); return resolver.libraryFor(inputId); } @@ -61,42 +61,42 @@ class BuildStepImpl implements BuildStep { @override Resolver get resolver { - if (_isComplete) throw new BuildStepCompletedException(); - return new _DelayedResolver(_resolver ??= _resolvers.get(this)); + if (_isComplete) throw BuildStepCompletedException(); + return _DelayedResolver(_resolver ??= _resolvers.get(this)); } Future _resolver; @override Future canRead(AssetId id) { - if (_isComplete) throw new BuildStepCompletedException(); + if (_isComplete) throw BuildStepCompletedException(); _checkInput(id); return _reader.canRead(id); } @override Future fetchResource(Resource resource) { - if (_isComplete) throw new BuildStepCompletedException(); + if (_isComplete) throw BuildStepCompletedException(); return _resourceManager.fetch(resource); } @override Future> readAsBytes(AssetId id) { - if (_isComplete) throw new BuildStepCompletedException(); + if (_isComplete) throw BuildStepCompletedException(); _checkInput(id); return _reader.readAsBytes(id); } @override Future readAsString(AssetId id, {Encoding encoding = utf8}) { - if (_isComplete) throw new BuildStepCompletedException(); + if (_isComplete) throw BuildStepCompletedException(); _checkInput(id); return _reader.readAsString(id, encoding: encoding); } @override Stream findAssets(Glob glob) { - if (_isComplete) throw new BuildStepCompletedException(); + if (_isComplete) throw BuildStepCompletedException(); if (_reader is MultiPackageAssetReader) { return (_reader as MultiPackageAssetReader) .findAssets(glob, package: inputId?.package ?? _rootPackage); @@ -107,7 +107,7 @@ class BuildStepImpl implements BuildStep { @override Future writeAsBytes(AssetId id, FutureOr> bytes) { - if (_isComplete) throw new BuildStepCompletedException(); + if (_isComplete) throw BuildStepCompletedException(); _checkOutput(id); var done = _futureOrWrite(bytes, (List b) => _writer.writeAsBytes(id, b)); @@ -118,7 +118,7 @@ class BuildStepImpl implements BuildStep { @override Future writeAsString(AssetId id, FutureOr content, {Encoding encoding = utf8}) { - if (_isComplete) throw new BuildStepCompletedException(); + if (_isComplete) throw BuildStepCompletedException(); _checkOutput(id); var done = _futureOrWrite(content, (String c) => _writer.writeAsString(id, c, encoding: encoding)); @@ -128,7 +128,7 @@ class BuildStepImpl implements BuildStep { @override Future digest(AssetId id) { - if (_isComplete) throw new BuildStepCompletedException(); + if (_isComplete) throw BuildStepCompletedException(); _checkInput(id); return _reader.digest(id); } @@ -151,7 +151,7 @@ class BuildStepImpl implements BuildStep { /// if its not. void _checkInput(AssetId id) { if (id.package != _rootPackage && !id.path.startsWith('lib/')) { - throw new InvalidInputException(id); + throw InvalidInputException(id); } } @@ -159,7 +159,7 @@ class BuildStepImpl implements BuildStep { /// [InvalidOutputException] or [UnexpectedOutputException] if it's not. void _checkOutput(AssetId id) { if (!_expectedOutputs.contains(id)) { - throw new UnexpectedOutputException(id, expected: _expectedOutputs); + throw UnexpectedOutputException(id, expected: _expectedOutputs); } } } @@ -175,7 +175,7 @@ class _DelayedResolver implements Resolver { @override Stream get libraries { - var completer = new StreamCompleter(); + var completer = StreamCompleter(); _delegate.then((r) => completer.setSourceStream(r.libraries)); return completer.stream; } diff --git a/build/lib/src/builder/builder.dart b/build/lib/src/builder/builder.dart index ddc1ea54f..89120ed22 100644 --- a/build/lib/src/builder/builder.dart +++ b/build/lib/src/builder/builder.dart @@ -26,10 +26,10 @@ abstract class Builder { class BuilderOptions { /// A configuration with no options set. - static const empty = const BuilderOptions(const {}); + static const empty = BuilderOptions({}); /// A configuration with [isRoot] set to `true`, and no options set. - static const forRoot = const BuilderOptions(const {}, isRoot: true); + static const forRoot = BuilderOptions({}, isRoot: true); /// The configuration to apply to a given usage of a [Builder]. /// @@ -52,7 +52,7 @@ class BuilderOptions { /// The `isRoot` value will also be overridden to value from [other]. BuilderOptions overrideWith(BuilderOptions other) { if (other == null) return this; - return new BuilderOptions({}..addAll(config)..addAll(other.config), + return BuilderOptions({}..addAll(config)..addAll(other.config), isRoot: other.isRoot); } } diff --git a/build/lib/src/builder/file_deleting_builder.dart b/build/lib/src/builder/file_deleting_builder.dart index 30504e474..462103979 100644 --- a/build/lib/src/builder/file_deleting_builder.dart +++ b/build/lib/src/builder/file_deleting_builder.dart @@ -24,7 +24,7 @@ class FileDeletingBuilder implements PostProcessBuilder { FileDeletingBuilder.withExcludes( this.inputExtensions, Iterable exclude, {this.isEnabled = true}) - : exclude = exclude?.map((s) => new Glob(s))?.toList() ?? const []; + : exclude = exclude?.map((s) => Glob(s))?.toList() ?? const []; @override FutureOr build(PostProcessBuildStep buildStep) { diff --git a/build/lib/src/builder/logging.dart b/build/lib/src/builder/logging.dart index d79f19224..a00e67ea5 100644 --- a/build/lib/src/builder/logging.dart +++ b/build/lib/src/builder/logging.dart @@ -4,7 +4,7 @@ import 'package:logging/logging.dart'; const Symbol logKey = #buildLog; -final _default = new Logger('build.fallback'); +final _default = Logger('build.fallback'); /// The log instance for the currently running BuildStep. /// @@ -18,10 +18,10 @@ Logger get log => Zone.current[logKey] as Logger ?? _default; /// /// Completes with the first error or result of `fn`, whichever comes first. Future scopeLogAsync(Future fn(), Logger log) { - var done = new Completer(); + var done = Completer(); runZoned(fn, zoneSpecification: - new ZoneSpecification(print: (self, parent, zone, message) { + ZoneSpecification(print: (self, parent, zone, message) { log.warning(message); }), zoneValues: {logKey: log}, diff --git a/build/lib/src/builder/post_process_build_step.dart b/build/lib/src/builder/post_process_build_step.dart index 98149aabe..3a58a4f9f 100644 --- a/build/lib/src/builder/post_process_build_step.dart +++ b/build/lib/src/builder/post_process_build_step.dart @@ -16,7 +16,7 @@ PostProcessBuildStep postProcessBuildStep( AssetWriter writer, void Function(AssetId) addAsset, void Function(AssetId) deleteAsset) => - new PostProcessBuildStep._(inputId, reader, writer, addAsset, deleteAsset); + PostProcessBuildStep._(inputId, reader, writer, addAsset, deleteAsset); /// A simplified [BuildStep] which can only read its primary input, and can't /// get a [Resolver] or any [Resource]s, at least for now. @@ -36,7 +36,7 @@ class PostProcessBuildStep { Future digest(AssetId id) => inputId == id ? _reader.digest(id) - : new Future.error(new InvalidInputException(id)); + : Future.error(InvalidInputException(id)); Future> readInputAsBytes() => _reader.readAsBytes(inputId); diff --git a/build/lib/src/generate/expected_outputs.dart b/build/lib/src/generate/expected_outputs.dart index 7fb4370d9..9d3425a40 100644 --- a/build/lib/src/generate/expected_outputs.dart +++ b/build/lib/src/generate/expected_outputs.dart @@ -21,7 +21,7 @@ AssetId _replaceExtension( AssetId assetId, String oldExtension, String newExtension) { var path = assetId.path; assert(path.endsWith(oldExtension)); - return new AssetId( + return AssetId( assetId.package, path.replaceRange( path.length - oldExtension.length, path.length, newExtension)); diff --git a/build/lib/src/generate/run_builder.dart b/build/lib/src/generate/run_builder.dart index ea3f045c7..5f4fa612e 100644 --- a/build/lib/src/generate/run_builder.dart +++ b/build/lib/src/generate/run_builder.dart @@ -31,13 +31,13 @@ Future runBuilder(Builder builder, Iterable inputs, ResourceManager resourceManager, String rootPackage}) async { var shouldDisposeResourceManager = resourceManager == null; - resourceManager ??= new ResourceManager(); - logger ??= new Logger('runBuilder'); + resourceManager ??= ResourceManager(); + logger ??= Logger('runBuilder'); //TODO(nbosch) check overlapping outputs? Future buildForInput(AssetId input) async { var outputs = expectedOutputs(builder, input); if (outputs.isEmpty) return; - var buildStep = new BuildStepImpl(input, outputs, reader, writer, + var buildStep = BuildStepImpl(input, outputs, reader, writer, rootPackage ?? input.package, resolvers, resourceManager); try { await builder.build(buildStep); diff --git a/build/lib/src/resource/resource.dart b/build/lib/src/resource/resource.dart index 1cdef3919..0570d1dba 100644 --- a/build/lib/src/resource/resource.dart +++ b/build/lib/src/resource/resource.dart @@ -43,13 +43,13 @@ class Resource { /// Disposes the actual instance of this resource for [manager] if present. Future _dispose(ResourceManager manager) { - if (!_instanceByManager.containsKey(manager)) return new Future.value(null); + if (!_instanceByManager.containsKey(manager)) return Future.value(null); var oldInstance = _fetch(manager); _instanceByManager.remove(manager); if (_userDispose != null) { return oldInstance.then(_userDispose); } else { - return new Future.value(null); + return Future.value(null); } } } @@ -60,14 +60,14 @@ class Resource { /// implementations and not general end users. Instead end users should use /// the `buildStep#fetchResource` method to get [Resource]s. class ResourceManager { - final _resources = new Set(); + final _resources = Set(); /// The [Resource]s that we need to call `beforeExit` on. /// /// We have to hang on to these forever, but they should be small in number, /// and we don't hold on to the actual created instances, just the [Resource] /// instances. - final _resourcesWithBeforeExit = new Set(); + final _resourcesWithBeforeExit = Set(); /// Fetches an instance of [resource]. Future fetch(Resource resource) async { diff --git a/build/test/asset/id_test.dart b/build/test/asset/id_test.dart index d897c8f78..c9c58c816 100644 --- a/build/test/asset/id_test.dart +++ b/build/test/asset/id_test.dart @@ -9,129 +9,128 @@ import 'package:build/build.dart'; void main() { group('constructor', () { test('normalizes the path', () { - var id = new AssetId('app', r'path/././/to/drop/..//asset.txt'); + var id = AssetId('app', r'path/././/to/drop/..//asset.txt'); expect(id.path, equals('path/to/asset.txt')); }); test('normalizes backslashes to slashes in the path', () { - var id = new AssetId('app', r'path\to/asset.txt'); + var id = AssetId('app', r'path\to/asset.txt'); expect(id.path, equals('path/to/asset.txt')); }); }); group('parse', () { test('parses the package and path', () { - var id = new AssetId.parse('package|path/to/asset.txt'); + var id = AssetId.parse('package|path/to/asset.txt'); expect(id.package, equals('package')); expect(id.path, equals('path/to/asset.txt')); }); test("throws if there are multiple '|'", () { - expect(() => new AssetId.parse('app|path|wtf'), throwsFormatException); + expect(() => AssetId.parse('app|path|wtf'), throwsFormatException); }); test("throws if the package name is empty '|'", () { - expect(() => new AssetId.parse('|asset.txt'), throwsFormatException); + expect(() => AssetId.parse('|asset.txt'), throwsFormatException); }); test("throws if the path is empty '|'", () { - expect(() => new AssetId.parse('app|'), throwsFormatException); + expect(() => AssetId.parse('app|'), throwsFormatException); }); test('normalizes the path', () { - var id = new AssetId.parse(r'app|path/././/to/drop/..//asset.txt'); + var id = AssetId.parse(r'app|path/././/to/drop/..//asset.txt'); expect(id.path, equals('path/to/asset.txt')); }); test('normalizes backslashes to slashes in the path', () { - var id = new AssetId.parse(r'app|path\to/asset.txt'); + var id = AssetId.parse(r'app|path\to/asset.txt'); expect(id.path, equals('path/to/asset.txt')); }); }); group('resolve', () { test('should parse a package: URI', () { - var id = new AssetId.resolve(r'package:app/app.dart'); - expect(id, new AssetId('app', 'lib/app.dart')); + var id = AssetId.resolve(r'package:app/app.dart'); + expect(id, AssetId('app', 'lib/app.dart')); }); test('should parse a package: URI with a long path', () { - var id = new AssetId.resolve(r'package:app/src/some/path.dart'); - expect(id, new AssetId('app', 'lib/src/some/path.dart')); + var id = AssetId.resolve(r'package:app/src/some/path.dart'); + expect(id, AssetId('app', 'lib/src/some/path.dart')); }); test('should parse an asset: URI', () { - var id = new AssetId.resolve(r'asset:app/test/foo_test.dart'); - expect(id, new AssetId('app', 'test/foo_test.dart')); + var id = AssetId.resolve(r'asset:app/test/foo_test.dart'); + expect(id, AssetId('app', 'test/foo_test.dart')); }); test('should throw for a file: URI', () { - expect(() => new AssetId.resolve(r'file://localhost/etc/fstab1'), + expect(() => AssetId.resolve(r'file://localhost/etc/fstab1'), throwsUnsupportedError); }); test('should throw for a dart: URI', () { - expect(() => new AssetId.resolve(r'dart:collection'), - throwsUnsupportedError); + expect(() => AssetId.resolve(r'dart:collection'), throwsUnsupportedError); }); test('should throw parsing a relative package URI without an origin', () { - expect(() => new AssetId.resolve('some/relative/path.dart'), + expect(() => AssetId.resolve('some/relative/path.dart'), throwsArgumentError); }); test('should parse a relative URI within the test/ folder', () { - var id = new AssetId.resolve('common.dart', - from: new AssetId('app', 'test/some_test.dart')); - expect(id, new AssetId('app', 'test/common.dart')); + var id = AssetId.resolve('common.dart', + from: AssetId('app', 'test/some_test.dart')); + expect(id, AssetId('app', 'test/common.dart')); }); test('should parse a relative package URI', () { - var id = new AssetId.resolve('some/relative/path.dart', - from: new AssetId('app', 'lib/app.dart')); - expect(id, new AssetId('app', 'lib/some/relative/path.dart')); + var id = AssetId.resolve('some/relative/path.dart', + from: AssetId('app', 'lib/app.dart')); + expect(id, AssetId('app', 'lib/some/relative/path.dart')); }); test('should parse a relative package URI pointing back', () { - var id = new AssetId.resolve('../src/some/path.dart', - from: new AssetId('app', 'folder/folder.dart')); - expect(id, new AssetId('app', 'src/some/path.dart')); + var id = AssetId.resolve('../src/some/path.dart', + from: AssetId('app', 'folder/folder.dart')); + expect(id, AssetId('app', 'src/some/path.dart')); }); }); group('to URI', () { test('uses `package:` URIs inside lib/', () { - expect(new AssetId('foo', 'lib/bar.dart').uri, + expect(AssetId('foo', 'lib/bar.dart').uri, Uri.parse('package:foo/bar.dart')); }); test('uses `asset:` URIs outside lib/', () async { - expect(new AssetId('foo', 'web/main.dart').uri, + expect(AssetId('foo', 'web/main.dart').uri, Uri.parse('asset:foo/web/main.dart')); }); test('handles characters that are valid in a file path', () { - expect(new AssetId('foo', 'lib/#bar.dart').uri, + expect(AssetId('foo', 'lib/#bar.dart').uri, Uri.parse('package:foo/%23bar.dart')); }); }); test('equals another ID with the same package and path', () { - expect(new AssetId.parse('foo|asset.txt'), - equals(new AssetId.parse('foo|asset.txt'))); + expect( + AssetId.parse('foo|asset.txt'), equals(AssetId.parse('foo|asset.txt'))); - expect(new AssetId.parse('foo|asset.txt'), - isNot(equals(new AssetId.parse('bar|asset.txt')))); + expect(AssetId.parse('foo|asset.txt'), + isNot(equals(AssetId.parse('bar|asset.txt')))); - expect(new AssetId.parse('foo|asset.txt'), - isNot(equals(new AssetId.parse('bar|other.txt')))); + expect(AssetId.parse('foo|asset.txt'), + isNot(equals(AssetId.parse('bar|other.txt')))); }); test('identical assets are treated as the same in a Map/Set', () { - var id1 = new AssetId('a', 'web/a.txt'); - var id2 = new AssetId('a', 'web/a.txt'); + var id1 = AssetId('a', 'web/a.txt'); + var id2 = AssetId('a', 'web/a.txt'); expect({id1: true}.containsKey(id2), isTrue); - expect(new Set.from([id1]), contains(id2)); + expect(Set.from([id1]), contains(id2)); }); } diff --git a/build/test/builder/build_step_impl_test.dart b/build/test/builder/build_step_impl_test.dart index e71dad325..d9c818454 100644 --- a/build/test/builder/build_step_impl_test.dart +++ b/build/test/builder/build_step_impl_test.dart @@ -16,7 +16,7 @@ void main() { ResourceManager resourceManager; setUp(() { - resourceManager = new ResourceManager(); + resourceManager = ResourceManager(); }); tearDown(() async { @@ -28,19 +28,19 @@ void main() { BuildStepImpl buildStep; setUp(() { - var reader = new StubAssetReader(); - var writer = new StubAssetWriter(); + var reader = StubAssetReader(); + var writer = StubAssetWriter(); primary = makeAssetId(); - buildStep = new BuildStepImpl(primary, [], reader, writer, - primary.package, new AnalyzerResolvers(), resourceManager); + buildStep = BuildStepImpl(primary, [], reader, writer, primary.package, + AnalyzerResolvers(), resourceManager); }); test('doesnt allow non-expected outputs', () { var id = makeAssetId(); expect(() => buildStep.writeAsString(id, '$id'), - throwsA(new TypeMatcher())); + throwsA(TypeMatcher())); expect(() => buildStep.writeAsBytes(id, [0]), - throwsA(new TypeMatcher())); + throwsA(TypeMatcher())); }); test('canRead throws invalidInputExceptions', () async { @@ -67,7 +67,7 @@ void main() { test('fetchResource can fetch resources', () async { var expected = 1; - var intResource = new Resource(() => expected); + var intResource = Resource(() => expected); var actual = await buildStep.fetchResource(intResource); expect(actual, expected); }); @@ -78,20 +78,20 @@ void main() { InMemoryAssetReader reader; setUp(() { - writer = new InMemoryAssetWriter(); - reader = new InMemoryAssetReader.shareAssetCache(writer.assets); + writer = InMemoryAssetWriter(); + reader = InMemoryAssetReader.shareAssetCache(writer.assets); }); test('tracks outputs created by a builder', () async { - var builder = new TestBuilder(); + var builder = TestBuilder(); var primary = makeAssetId('a|web/primary.txt'); var inputs = { primary: 'foo', }; addAssets(inputs, writer); - var outputId = new AssetId.parse('$primary.copy'); - var buildStep = new BuildStepImpl(primary, [outputId], reader, writer, - 'a', new AnalyzerResolvers(), resourceManager); + var outputId = AssetId.parse('$primary.copy'); + var buildStep = BuildStepImpl(primary, [outputId], reader, writer, 'a', + AnalyzerResolvers(), resourceManager); await builder.build(buildStep); await buildStep.complete(); @@ -115,8 +115,8 @@ void main() { addAssets(inputs, writer); var primary = makeAssetId('a|web/a.dart'); - var buildStep = new BuildStepImpl(primary, [], reader, writer, - primary.package, new AnalyzerResolvers(), resourceManager); + var buildStep = BuildStepImpl(primary, [], reader, writer, + primary.package, AnalyzerResolvers(), resourceManager); var resolver = buildStep.resolver; var aLib = await resolver.libraryFor(primary); @@ -142,17 +142,11 @@ void main() { setUp(() async { var primary = makeAssetId(); - assetWriter = new SlowAssetWriter(); + assetWriter = SlowAssetWriter(); outputId = makeAssetId('a|test.txt'); outputContent = '$outputId'; - buildStep = new BuildStepImpl( - primary, - [outputId], - new StubAssetReader(), - assetWriter, - primary.package, - new AnalyzerResolvers(), - resourceManager); + buildStep = BuildStepImpl(primary, [outputId], StubAssetReader(), + assetWriter, primary.package, AnalyzerResolvers(), resourceManager); }); test('Completes only after writes finish', () async { @@ -163,16 +157,16 @@ void main() { buildStep.complete().then((_) { isComplete = true; }); - await new Future(() {}); + await Future(() {}); expect(isComplete, false, reason: 'File has not written, should not be complete'); assetWriter.finishWrite(); - await new Future(() {}); + await Future(() {}); expect(isComplete, true, reason: 'File is written, should be complete'); }); test('Completes only after async writes finish', () async { - var outputCompleter = new Completer(); + var outputCompleter = Completer(); // ignore: unawaited_futures buildStep.writeAsString(outputId, outputCompleter.future); var isComplete = false; @@ -180,15 +174,15 @@ void main() { buildStep.complete().then((_) { isComplete = true; }); - await new Future(() {}); + await Future(() {}); expect(isComplete, false, reason: 'File has not resolved, should not be complete'); outputCompleter.complete(outputContent); - await new Future(() {}); + await Future(() {}); expect(isComplete, false, reason: 'File has not written, should not be complete'); assetWriter.finishWrite(); - await new Future(() {}); + await Future(() {}); expect(isComplete, true, reason: 'File is written, should be complete'); }); }); @@ -199,23 +193,23 @@ void main() { AssetId output; setUp(() { - var reader = new StubAssetReader(); - var writer = new StubAssetWriter(); + var reader = StubAssetReader(); + var writer = StubAssetWriter(); primary = makeAssetId(); output = makeAssetId(); - buildStep = new BuildStepImpl(primary, [output], reader, writer, - primary.package, new AnalyzerResolvers(), resourceManager); + buildStep = BuildStepImpl(primary, [output], reader, writer, + primary.package, AnalyzerResolvers(), resourceManager); }); test('Captures failed asynchronous writes', () { - buildStep.writeAsString(output, new Future.error('error')); + buildStep.writeAsString(output, Future.error('error')); expect(buildStep.complete(), throwsA('error')); }); }); } class SlowAssetWriter implements AssetWriter { - final _writeCompleter = new Completer(); + final _writeCompleter = Completer(); void finishWrite() { _writeCompleter.complete(null); diff --git a/build/test/builder/builder_options_test.dart b/build/test/builder/builder_options_test.dart index 627a6615a..cb76b2da6 100644 --- a/build/test/builder/builder_options_test.dart +++ b/build/test/builder/builder_options_test.dart @@ -8,29 +8,29 @@ import 'package:test/test.dart'; void main() { group('BuilderOptions', () { test('overrides with non-empty options', () { - var defaults = const BuilderOptions(const {'foo': 'bar', 'baz': 'bop'}); + var defaults = const BuilderOptions({'foo': 'bar', 'baz': 'bop'}); var overridden = defaults.overrideWith( - const BuilderOptions(const {'baz': 'different', 'more': 'added'})); + const BuilderOptions({'baz': 'different', 'more': 'added'})); expect(overridden.config, {'foo': 'bar', 'baz': 'different', 'more': 'added'}); expect(overridden.isRoot, isFalse); }); test('overrides isRoot', () { - var defaults = const BuilderOptions(const {}, isRoot: false); + var defaults = const BuilderOptions({}, isRoot: false); var overridden = defaults.overrideWith(BuilderOptions.forRoot); expect(overridden.isRoot, isTrue); }); test('config doesnt change when overriding with empty options', () { - var defaults = const BuilderOptions(const {'foo': 'bar', 'baz': 'bop'}); + var defaults = const BuilderOptions({'foo': 'bar', 'baz': 'bop'}); var overridden = defaults.overrideWith(BuilderOptions.empty); expect(overridden.config, equals(defaults.config)); expect(overridden.isRoot, equals(defaults.isRoot)); }); test('changes nothing when overriding with null options', () { - var defaults = const BuilderOptions(const {'foo': 'bar', 'baz': 'bop'}); + var defaults = const BuilderOptions({'foo': 'bar', 'baz': 'bop'}); var overridden = defaults.overrideWith(null); expect(overridden, same(defaults)); }); diff --git a/build/test/builder/multiplexing_builder_test.dart b/build/test/builder/multiplexing_builder_test.dart index 0e2a26b6e..339f15540 100644 --- a/build/test/builder/multiplexing_builder_test.dart +++ b/build/test/builder/multiplexing_builder_test.dart @@ -9,18 +9,18 @@ import 'package:test/test.dart'; void main() { group('MultiplexingBuilder', () { test('Only passes matching inputs', () async { - final builder = new MultiplexingBuilder([ - new TestBuilder(buildExtensions: replaceExtension('.foo', '.copy')), - new TestBuilder(buildExtensions: replaceExtension('.bar', '.copy')), + final builder = MultiplexingBuilder([ + TestBuilder(buildExtensions: replaceExtension('.foo', '.copy')), + TestBuilder(buildExtensions: replaceExtension('.bar', '.copy')), ]); await testBuilder(builder, {'a|lib/a1.foo': 'a1', 'a|lib/a2.bar': 'a2'}, outputs: {'a|lib/a1.copy': 'a1', 'a|lib/a2.copy': 'a2'}); }); test('merges non-overlapping extension maps', () { - final builder = new MultiplexingBuilder([ - new TestBuilder(buildExtensions: replaceExtension('.foo', '.copy')), - new TestBuilder(buildExtensions: replaceExtension('.bar', '.copy')), + final builder = MultiplexingBuilder([ + TestBuilder(buildExtensions: replaceExtension('.foo', '.copy')), + TestBuilder(buildExtensions: replaceExtension('.bar', '.copy')), ]); expect(builder.buildExtensions, { '.foo': ['.copy'], @@ -29,11 +29,11 @@ void main() { }); test('merges overlapping extension maps', () { - final builder = new MultiplexingBuilder([ - new TestBuilder(buildExtensions: { + final builder = MultiplexingBuilder([ + TestBuilder(buildExtensions: { '.foo': ['.copy.0', '.copy.1'] }), - new TestBuilder(buildExtensions: replaceExtension('.foo', '.new')), + TestBuilder(buildExtensions: replaceExtension('.foo', '.new')), ]); expect(builder.buildExtensions, { '.foo': ['.copy.0', '.copy.1', '.new'] diff --git a/build/test/generate/run_builder_test.dart b/build/test/generate/run_builder_test.dart index 18cea2bd9..a3e9e4908 100644 --- a/build/test/generate/run_builder_test.dart +++ b/build/test/generate/run_builder_test.dart @@ -23,13 +23,13 @@ main() { setUp(() async { resourceDisposed = false; - resource = new Resource(() => 0, dispose: (_) { + resource = Resource(() => 0, dispose: (_) { resourceDisposed = true; }); - builder = new TestBuilder( + builder = TestBuilder( extraWork: (buildStep, __) => buildStep.fetchResource(resource)); - writer = new InMemoryAssetWriter(); - reader = new InMemoryAssetReader.shareAssetCache(writer.assets); + writer = InMemoryAssetWriter(); + reader = InMemoryAssetReader.shareAssetCache(writer.assets); addAssets(inputs, writer); }); @@ -37,7 +37,7 @@ main() { TrackingResourceManager resourceManager; setUp(() async { - resourceManager = new TrackingResourceManager(); + resourceManager = TrackingResourceManager(); await runBuilder(builder, inputs.keys, reader, writer, null, resourceManager: resourceManager); }); @@ -73,7 +73,7 @@ main() { class TrackingResourceManager extends ResourceManager { bool disposed = false; - final fetchedResources = new Set(); + final fetchedResources = Set(); @override Future fetch(Resource resource) { diff --git a/build/test/generate/run_post_process_builder_test.dart b/build/test/generate/run_post_process_builder_test.dart index 422b37f36..daf1e65c4 100644 --- a/build/test/generate/run_post_process_builder_test.dart +++ b/build/test/generate/run_post_process_builder_test.dart @@ -13,11 +13,11 @@ main() { group('runPostProcessBuilder', () { InMemoryAssetReader reader; InMemoryAssetWriter writer; - final copyBuilder = new CopyingPostProcessBuilder(); - final deleteBuilder = new DeletePostProcessBuilder(); + final copyBuilder = CopyingPostProcessBuilder(); + final deleteBuilder = DeletePostProcessBuilder(); final aTxt = makeAssetId('a|lib/a.txt'); final aTxtCopy = makeAssetId('a|lib/a.txt.copy'); - final logger = new Logger('test'); + final logger = Logger('test'); final adds = {}; final deletes = {}; @@ -30,8 +30,8 @@ main() { sourceAssets = { aTxt: 'a', }; - reader = new InMemoryAssetReader(sourceAssets: sourceAssets); - writer = new InMemoryAssetWriter(); + reader = InMemoryAssetReader(sourceAssets: sourceAssets); + writer = InMemoryAssetWriter(); adds.clear(); deletes.clear(); }); @@ -56,9 +56,9 @@ main() { test('throws if addAsset throws', () async { expect( () => runPostProcessBuilder(copyBuilder, aTxt, reader, writer, logger, - addAsset: (id) => throw new InvalidOutputException(id, ''), + addAsset: (id) => throw InvalidOutputException(id, ''), deleteAsset: deleteAsset), - throwsA(new TypeMatcher())); + throwsA(TypeMatcher())); }); }); } diff --git a/build/test/resource/resource_test.dart b/build/test/resource/resource_test.dart index 14ad15e71..d704b1ba6 100644 --- a/build/test/resource/resource_test.dart +++ b/build/test/resource/resource_test.dart @@ -11,7 +11,7 @@ import 'package:build/build.dart'; main() { ResourceManager resourceManager; setUp(() { - resourceManager = new ResourceManager(); + resourceManager = ResourceManager(); }); tearDown(() async { @@ -21,7 +21,7 @@ main() { group('ResourceManager', () { test('gives the same instance until disposed', () async { var last = 0; - var intResource = new Resource(() => last++); + var intResource = Resource(() => last++); var first = await resourceManager.fetch(intResource); expect(first, 0); var second = await resourceManager.fetch(intResource); @@ -34,7 +34,7 @@ main() { test('calls dispose callback with last instance', () async { var disposed = false; var last = 0; - var intResource = new Resource(() => last, dispose: (int instance) { + var intResource = Resource(() => last, dispose: (int instance) { expect(instance, last); last++; disposed = true; @@ -49,15 +49,15 @@ main() { test('can asynchronously get resources', () async { var last = 0; - var intResource = new Resource(() => new Future.value(++last)); + var intResource = Resource(() => Future.value(++last)); var actual = await resourceManager.fetch(intResource); expect(actual, last); }); test('can asynchronously dispose resources', () async { var disposed = false; - var intResource = new Resource(() => 0, dispose: (_) async { - await new Future.delayed(new Duration(milliseconds: 20)); + var intResource = Resource(() => 0, dispose: (_) async { + await Future.delayed(Duration(milliseconds: 20)); disposed = true; }); await resourceManager.fetch(intResource); @@ -68,23 +68,23 @@ main() { test('can fetch and dispose multiple resources', () async { var numDisposed = 0; final length = 10; - var resources = new List.generate( + var resources = List.generate( length, - (i) => new Resource(() => i, dispose: (instance) { + (i) => Resource(() => i, dispose: (instance) { expect(instance, i); numDisposed++; })); var values = await Future.wait(resources.map((r) => resourceManager.fetch(r))); - expect(values, new List.generate(length, (i) => i)); + expect(values, List.generate(length, (i) => i)); await resourceManager.disposeAll(); expect(numDisposed, length); }); test('doesn\'t share resources with other ResourceManagers', () async { - var otherManager = new ResourceManager(); + var otherManager = ResourceManager(); var last = 0; - var intResource = new Resource(() => last++); + var intResource = Resource(() => last++); var original = await resourceManager.fetch(intResource); var other = await otherManager.fetch(intResource); diff --git a/build_config/lib/src/build_config.dart b/build_config/lib/src/build_config.dart index 71fef9d7e..7216a78f9 100644 --- a/build_config/lib/src/build_config.dart +++ b/build_config/lib/src/build_config.dart @@ -40,12 +40,12 @@ class BuildConfig { static Future fromBuildConfigDir( String packageName, Iterable dependencies, String path) async { final configPath = p.join(path, 'build.yaml'); - final file = new File(configPath); + final file = File(configPath); if (await file.exists()) { - return new BuildConfig.parse( + return BuildConfig.parse( packageName, dependencies, await file.readAsString()); } else { - return new BuildConfig.useDefault(packageName, dependencies); + return BuildConfig.useDefault(packageName, dependencies); } } @@ -72,13 +72,13 @@ class BuildConfig { String packageName, Iterable dependencies) { return runInBuildConfigZone(() { final key = '$packageName:$packageName'; - final target = new BuildTarget( + final target = BuildTarget( dependencies: dependencies .map((dep) => normalizeTargetKeyUsage(dep, packageName)) .toList(), sources: InputSet.anything, ); - return new BuildConfig( + return BuildConfig( packageName: packageName, buildTargets: {key: target}, globalOptions: {}, @@ -91,17 +91,16 @@ class BuildConfig { String packageName, Iterable dependencies, String configYaml) { try { var parsed = loadYaml(configYaml) as Map; - return new BuildConfig.fromMap( - packageName, dependencies, parsed ?? const {}); + return BuildConfig.fromMap(packageName, dependencies, parsed ?? const {}); } on CheckedFromJsonException catch (e) { - throw new ArgumentError(_prettyPrintCheckedFromJsonException(e)); + throw ArgumentError(_prettyPrintCheckedFromJsonException(e)); } } /// Create a [BuildConfig] read a map which was already parsed. factory BuildConfig.fromMap( String packageName, Iterable dependencies, Map config) { - return runInBuildConfigZone(() => new BuildConfig._fromJson(config), + return runInBuildConfigZone(() => BuildConfig._fromJson(config), packageName, dependencies.toList()); } @@ -114,13 +113,12 @@ class BuildConfig { const {}, }) : this.buildTargets = buildTargets ?? { - _defaultTarget(packageName ?? currentPackage): new BuildTarget( + _defaultTarget(packageName ?? currentPackage): BuildTarget( dependencies: currentPackageDefaultDependencies, ) }, this.globalOptions = (globalOptions ?? const {}).map((key, config) => - new MapEntry( - normalizeBuilderKeyUsage(key, currentPackage), config)), + MapEntry(normalizeBuilderKeyUsage(key, currentPackage), config)), this.builderDefinitions = _normalizeBuilderDefinitions( builderDefinitions ?? const {}, packageName ?? currentPackage), this.postProcessBuilderDefinitions = _normalizeBuilderDefinitions( @@ -150,8 +148,8 @@ String _defaultTarget(String package) => '$package:$package'; Map _normalizeBuilderDefinitions( Map builderDefinitions, String packageName) => - builderDefinitions.map((key, definition) => new MapEntry( - normalizeBuilderKeyDefinition(key, packageName), definition)); + builderDefinitions.map((key, definition) => + MapEntry(normalizeBuilderKeyDefinition(key, packageName), definition)); String _prettyPrintCheckedFromJsonException(CheckedFromJsonException err) { var yamlMap = err.map as YamlMap; @@ -190,12 +188,12 @@ String _prettyPrintCheckedFromJsonException(CheckedFromJsonException err) { } Map _buildTargetsFromJson(Map json) { - var targets = json.map((key, target) => new MapEntry( + var targets = json.map((key, target) => MapEntry( normalizeTargetKeyDefinition(key as String, currentPackage), - new BuildTarget.fromJson(target as Map))); + BuildTarget.fromJson(target as Map))); if (!targets.containsKey(_defaultTarget(currentPackage))) { - throw new ArgumentError('Must specify a target with the name ' + throw ArgumentError('Must specify a target with the name ' '`$currentPackage` or `\$default`.'); } @@ -204,9 +202,9 @@ Map _buildTargetsFromJson(Map json) { Future _fromPackageDir(String path) async { final pubspec = p.join(path, 'pubspec.yaml'); - final file = new File(pubspec); + final file = File(pubspec); if (await file.exists()) { - return new Pubspec.parse(await file.readAsString()); + return Pubspec.parse(await file.readAsString()); } - throw new FileSystemException('No file found', p.absolute(pubspec)); + throw FileSystemException('No file found', p.absolute(pubspec)); } diff --git a/build_config/lib/src/build_config.g.dart b/build_config/lib/src/build_config.g.dart index d87d9d23e..fc43c0f3a 100644 --- a/build_config/lib/src/build_config.g.dart +++ b/build_config/lib/src/build_config.g.dart @@ -14,30 +14,27 @@ BuildConfig _$BuildConfigFromJson(Map json) { 'targets', 'global_options' ]); - var val = new BuildConfig( + var val = BuildConfig( buildTargets: $checkedConvert(json, 'targets', (v) => v == null ? null : _buildTargetsFromJson(v as Map)), globalOptions: $checkedConvert( json, 'global_options', - (v) => (v as Map)?.map((k, e) => new MapEntry( - k as String, - e == null - ? null - : new GlobalBuilderConfig.fromJson(e as Map)))), + (v) => (v as Map)?.map((k, e) => MapEntry(k as String, + e == null ? null : GlobalBuilderConfig.fromJson(e as Map)))), builderDefinitions: $checkedConvert( json, 'builders', - (v) => (v as Map)?.map((k, e) => new MapEntry(k as String, - e == null ? null : new BuilderDefinition.fromJson(e as Map)))), + (v) => (v as Map)?.map((k, e) => MapEntry(k as String, + e == null ? null : BuilderDefinition.fromJson(e as Map)))), postProcessBuilderDefinitions: $checkedConvert( json, 'post_process_builders', - (v) => (v as Map)?.map((k, e) => new MapEntry( + (v) => (v as Map)?.map((k, e) => MapEntry( k as String, e == null ? null - : new PostProcessBuilderDefinition.fromJson(e as Map))))); + : PostProcessBuilderDefinition.fromJson(e as Map))))); return val; }, fieldKeyMap: const { 'buildTargets': 'targets', diff --git a/build_config/lib/src/build_target.dart b/build_config/lib/src/build_target.dart index d202f2486..f27d05277 100644 --- a/build_config/lib/src/build_target.dart +++ b/build_config/lib/src/build_target.dart @@ -39,8 +39,7 @@ class BuildTarget { .map((d) => normalizeTargetKeyUsage(d, currentPackage)) .toList(), this.builders = (builders ?? const {}).map((key, config) => - new MapEntry( - normalizeBuilderKeyUsage(key, currentPackage), config)), + MapEntry(normalizeBuilderKeyUsage(key, currentPackage), config)), this.sources = sources ?? InputSet.anything; factory BuildTarget.fromJson(Map json) => _$BuildTargetFromJson(json); diff --git a/build_config/lib/src/build_target.g.dart b/build_config/lib/src/build_target.g.dart index 6910766ee..b1db3a37f 100644 --- a/build_config/lib/src/build_target.g.dart +++ b/build_config/lib/src/build_target.g.dart @@ -15,19 +15,16 @@ BuildTarget _$BuildTargetFromJson(Map json) { 'key', 'package' ]); - var val = new BuildTarget( - sources: $checkedConvert(json, 'sources', - (v) => v == null ? null : new InputSet.fromJson(v)), + var val = BuildTarget( + sources: $checkedConvert( + json, 'sources', (v) => v == null ? null : InputSet.fromJson(v)), dependencies: $checkedConvert( json, 'dependencies', (v) => (v as List)?.map((e) => e as String)), builders: $checkedConvert( json, 'builders', - (v) => (v as Map)?.map((k, e) => new MapEntry( - k as String, - e == null - ? null - : new TargetBuilderConfig.fromJson(e as Map))))); + (v) => (v as Map)?.map((k, e) => MapEntry(k as String, + e == null ? null : TargetBuilderConfig.fromJson(e as Map))))); return val; }); } @@ -41,10 +38,10 @@ TargetBuilderConfig _$TargetBuilderConfigFromJson(Map json) { 'dev_options', 'release_options' ]); - var val = new TargetBuilderConfig( + var val = TargetBuilderConfig( isEnabled: $checkedConvert(json, 'enabled', (v) => v as bool), generateFor: $checkedConvert(json, 'generate_for', - (v) => v == null ? null : new InputSet.fromJson(v)), + (v) => v == null ? null : InputSet.fromJson(v)), options: $checkedConvert(json, 'options', (v) => v == null ? null : builderOptionsFromJson(v as Map)), devOptions: $checkedConvert(json, 'dev_options', @@ -64,7 +61,7 @@ GlobalBuilderConfig _$GlobalBuilderConfigFromJson(Map json) { return $checkedNew('GlobalBuilderConfig', json, () { $checkKeys(json, allowedKeys: const ['options', 'dev_options', 'release_options']); - var val = new GlobalBuilderConfig( + var val = GlobalBuilderConfig( options: $checkedConvert(json, 'options', (v) => v == null ? null : builderOptionsFromJson(v as Map)), devOptions: $checkedConvert(json, 'dev_options', diff --git a/build_config/lib/src/builder_definition.dart b/build_config/lib/src/builder_definition.dart index 17cf1f684..39d777a6e 100644 --- a/build_config/lib/src/builder_definition.dart +++ b/build_config/lib/src/builder_definition.dart @@ -136,7 +136,7 @@ class BuilderDefinition { this.buildTo = buildTo ?? BuildTo.cache, this.defaults = defaults ?? const TargetBuilderConfigDefaults() { if (builderFactories.isEmpty) { - throw new ArgumentError.value(builderFactories, 'builderFactories', + throw ArgumentError.value(builderFactories, 'builderFactories', 'Must have at least one value.'); } } diff --git a/build_config/lib/src/builder_definition.g.dart b/build_config/lib/src/builder_definition.g.dart index a2c527c4f..4fad36be4 100644 --- a/build_config/lib/src/builder_definition.g.dart +++ b/build_config/lib/src/builder_definition.g.dart @@ -31,13 +31,13 @@ BuilderDefinition _$BuilderDefinitionFromJson(Map json) { 'import', 'build_extensions' ]); - var val = new BuilderDefinition( + var val = BuilderDefinition( builderFactories: $checkedConvert(json, 'builder_factories', (v) => (v as List).map((e) => e as String).toList()), buildExtensions: $checkedConvert( json, 'build_extensions', - (v) => (v as Map).map((k, e) => new MapEntry( + (v) => (v as Map).map((k, e) => MapEntry( k as String, (e as List).map((e) => e as String).toList()))), import: $checkedConvert(json, 'import', (v) => v as String), target: $checkedConvert(json, 'target', (v) => v as String), @@ -57,7 +57,7 @@ BuilderDefinition _$BuilderDefinitionFromJson(Map json) { 'defaults', (v) => v == null ? null - : new TargetBuilderConfigDefaults.fromJson(v as Map))); + : TargetBuilderConfigDefaults.fromJson(v as Map))); return val; }, fieldKeyMap: const { 'builderFactories': 'builder_factories', @@ -73,12 +73,12 @@ BuilderDefinition _$BuilderDefinitionFromJson(Map json) { T _$enumDecode(Map enumValues, dynamic source) { if (source == null) { - throw new ArgumentError('A value must be provided. Supported values: ' + throw ArgumentError('A value must be provided. Supported values: ' '${enumValues.values.join(', ')}'); } return enumValues.entries .singleWhere((e) => e.value == source, - orElse: () => throw new ArgumentError( + orElse: () => throw ArgumentError( '`$source` is not one of the supported values: ' '${enumValues.values.join(', ')}')) .key; @@ -91,14 +91,14 @@ T _$enumDecodeNullable(Map enumValues, dynamic source) { return _$enumDecode(enumValues, source); } -const _$AutoApplyEnumMap = const { +const _$AutoApplyEnumMap = { AutoApply.none: 'none', AutoApply.dependents: 'dependents', AutoApply.allPackages: 'all_packages', AutoApply.rootPackage: 'root_package' }; -const _$BuildToEnumMap = const { +const _$BuildToEnumMap = { BuildTo.source: 'source', BuildTo.cache: 'cache' }; @@ -120,7 +120,7 @@ PostProcessBuilderDefinition _$PostProcessBuilderDefinitionFromJson(Map json) { 'builder_factory', 'import' ]); - var val = new PostProcessBuilderDefinition( + var val = PostProcessBuilderDefinition( builderFactory: $checkedConvert(json, 'builder_factory', (v) => v as String), import: $checkedConvert(json, 'import', (v) => v as String), @@ -132,7 +132,7 @@ PostProcessBuilderDefinition _$PostProcessBuilderDefinitionFromJson(Map json) { 'defaults', (v) => v == null ? null - : new TargetBuilderConfigDefaults.fromJson(v as Map))); + : TargetBuilderConfigDefaults.fromJson(v as Map))); return val; }, fieldKeyMap: const { 'builderFactory': 'builder_factory', @@ -148,9 +148,9 @@ TargetBuilderConfigDefaults _$TargetBuilderConfigDefaultsFromJson(Map json) { 'dev_options', 'release_options' ]); - var val = new TargetBuilderConfigDefaults( + var val = TargetBuilderConfigDefaults( generateFor: $checkedConvert(json, 'generate_for', - (v) => v == null ? null : new InputSet.fromJson(v)), + (v) => v == null ? null : InputSet.fromJson(v)), options: $checkedConvert(json, 'options', (v) => v == null ? null : builderOptionsFromJson(v as Map)), devOptions: $checkedConvert(json, 'dev_options', diff --git a/build_config/lib/src/common.dart b/build_config/lib/src/common.dart index 1cd815bcc..78a8bb0ee 100644 --- a/build_config/lib/src/common.dart +++ b/build_config/lib/src/common.dart @@ -7,11 +7,10 @@ import 'dart:async'; import 'package:build/build.dart'; BuilderOptions builderOptionsFromJson(Map config) => - new BuilderOptions(new Map.from(config)); + BuilderOptions(Map.from(config)); -final _defaultDependenciesZoneKey = - new Symbol('buildConfigDefaultDependencies'); -final _packageZoneKey = new Symbol('buildConfigPackage'); +final _defaultDependenciesZoneKey = Symbol('buildConfigDefaultDependencies'); +final _packageZoneKey = Symbol('buildConfigPackage'); T runInBuildConfigZone( T fn(), String package, List defaultDependencies) => @@ -23,7 +22,7 @@ T runInBuildConfigZone( String get currentPackage { var package = Zone.current[_packageZoneKey] as String; if (package == null) { - throw new StateError( + throw StateError( 'Must be running inside a build config zone, which can be done using ' 'the `runInBuildConfigZone` function.'); } @@ -34,7 +33,7 @@ List get currentPackageDefaultDependencies { var defaultDependencies = Zone.current[_defaultDependenciesZoneKey] as List; if (defaultDependencies == null) { - throw new StateError( + throw StateError( 'Must be running inside a build config zone, which can be done using ' 'the `runInBuildConfigZone` function.'); } diff --git a/build_config/lib/src/expandos.dart b/build_config/lib/src/expandos.dart index 51a2c5bb7..2cc9e0114 100644 --- a/build_config/lib/src/expandos.dart +++ b/build_config/lib/src/expandos.dart @@ -2,6 +2,6 @@ // 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. -final builderKeyExpando = new Expando(); +final builderKeyExpando = Expando(); -final packageExpando = new Expando(); +final packageExpando = Expando(); diff --git a/build_config/lib/src/input_set.dart b/build_config/lib/src/input_set.dart index 6d308066a..f5f5354f9 100644 --- a/build_config/lib/src/input_set.dart +++ b/build_config/lib/src/input_set.dart @@ -12,7 +12,7 @@ part 'input_set.g.dart'; /// the `glob()` function in skylark. @JsonSerializable(createToJson: false, disallowUnrecognizedKeys: true) class InputSet { - static const anything = const InputSet(); + static const anything = InputSet(); /// The globs to include in the set. /// @@ -30,7 +30,7 @@ class InputSet { if (json is List) { json = {'include': json}; } else if (json is! Map) { - throw new ArgumentError.value(json, 'sources', + throw ArgumentError.value(json, 'sources', 'Expected a Map or a List but got a ${json.runtimeType}'); } return _$InputSetFromJson(json as Map); @@ -38,7 +38,7 @@ class InputSet { @override String toString() { - final result = new StringBuffer(); + final result = StringBuffer(); if (include == null || include.isEmpty) { result.write('any path'); } else { diff --git a/build_config/lib/src/input_set.g.dart b/build_config/lib/src/input_set.g.dart index 9b098e270..f0a7f7809 100644 --- a/build_config/lib/src/input_set.g.dart +++ b/build_config/lib/src/input_set.g.dart @@ -9,7 +9,7 @@ part of 'input_set.dart'; InputSet _$InputSetFromJson(Map json) { return $checkedNew('InputSet', json, () { $checkKeys(json, allowedKeys: const ['include', 'exclude']); - var val = new InputSet( + var val = InputSet( include: $checkedConvert(json, 'include', (v) => (v as List)?.map((e) => e as String)?.toList()), exclude: $checkedConvert(json, 'exclude', diff --git a/build_config/test/build_config_test.dart b/build_config/test/build_config_test.dart index c8b325ebb..839c0a4f4 100644 --- a/build_config/test/build_config_test.dart +++ b/build_config/test/build_config_test.dart @@ -11,29 +11,28 @@ import 'package:build_config/src/expandos.dart'; void main() { test('build.yaml can be parsed', () { - var buildConfig = new BuildConfig.parse('example', ['a', 'b'], buildYaml); + var buildConfig = BuildConfig.parse('example', ['a', 'b'], buildYaml); expectBuildTargets(buildConfig.buildTargets, { 'example:a': createBuildTarget( 'example', key: 'example:a', builders: { - 'b|b': new TargetBuilderConfig( - isEnabled: true, - generateFor: new InputSet(include: ['lib/a.dart'])), - 'c|c': new TargetBuilderConfig(isEnabled: false), - 'example|h': new TargetBuilderConfig( - isEnabled: true, options: new BuilderOptions({'foo': 'bar'})), - 'example|p': new TargetBuilderConfig( - isEnabled: true, options: new BuilderOptions({'baz': 'zap'})), + 'b|b': TargetBuilderConfig( + isEnabled: true, generateFor: InputSet(include: ['lib/a.dart'])), + 'c|c': TargetBuilderConfig(isEnabled: false), + 'example|h': TargetBuilderConfig( + isEnabled: true, options: BuilderOptions({'foo': 'bar'})), + 'example|p': TargetBuilderConfig( + isEnabled: true, options: BuilderOptions({'baz': 'zap'})), }, // Expecting $default => example:example dependencies: ['example:example', 'b:b', 'c:d'], - sources: new InputSet(include: ['lib/a.dart', 'lib/src/a/**']), + sources: InputSet(include: ['lib/a.dart', 'lib/src/a/**']), ), 'example:example': createBuildTarget( 'example', dependencies: ['f:f', 'example:a'], - sources: new InputSet( + sources: InputSet( include: ['lib/e.dart', 'lib/src/e/**'], exclude: ['lib/src/e/g.dart']), ) @@ -56,10 +55,10 @@ void main() { requiredInputs: ['.dart'], runsBefore: ['foo_builder|foo_builder'].toSet(), appliesBuilders: ['foo_builder|foo_builder'].toSet(), - defaults: new TargetBuilderConfigDefaults( - generateFor: const InputSet(include: const ['lib/**']), - options: const BuilderOptions(const {'foo': 'bar'}), - releaseOptions: const BuilderOptions(const {'baz': 'bop'}), + defaults: TargetBuilderConfigDefaults( + generateFor: const InputSet(include: ['lib/**']), + options: const BuilderOptions({'foo': 'bar'}), + releaseOptions: const BuilderOptions({'baz': 'bop'}), ), ), }); @@ -70,30 +69,30 @@ void main() { key: 'example|p', builderFactory: 'createPostProcessBuilder', import: 'package:example/p.dart', - defaults: new TargetBuilderConfigDefaults( - generateFor: const InputSet(include: const ['web/**']), - options: const BuilderOptions(const {'foo': 'bar'}), - releaseOptions: const BuilderOptions(const {'baz': 'bop'}), + defaults: TargetBuilderConfigDefaults( + generateFor: const InputSet(include: ['web/**']), + options: const BuilderOptions({'foo': 'bar'}), + releaseOptions: const BuilderOptions({'baz': 'bop'}), ), ), }); expectGlobalOptions(buildConfig.globalOptions, { - 'example|h': new GlobalBuilderConfig( - options: const BuilderOptions(const {'foo': 'global'})), - 'b|b': new GlobalBuilderConfig( - devOptions: const BuilderOptions(const {'foo': 'global_dev'}), - releaseOptions: const BuilderOptions(const {'foo': 'global_release'})) + 'example|h': + GlobalBuilderConfig(options: const BuilderOptions({'foo': 'global'})), + 'b|b': GlobalBuilderConfig( + devOptions: const BuilderOptions({'foo': 'global_dev'}), + releaseOptions: const BuilderOptions({'foo': 'global_release'})) }); }); test('build.yaml can omit a targets section', () { var buildConfig = - new BuildConfig.parse('example', ['a', 'b'], buildYamlNoTargets); + BuildConfig.parse('example', ['a', 'b'], buildYamlNoTargets); expectBuildTargets(buildConfig.buildTargets, { 'example:example': createBuildTarget( 'example', dependencies: ['a:a', 'b:b'].toSet(), - sources: new InputSet(), + sources: InputSet(), ), }); expectBuilderDefinitions(buildConfig.builderDefinitions, { @@ -112,19 +111,19 @@ void main() { ] }, requiredInputs: const [], - runsBefore: new Set(), - appliesBuilders: new Set(), + runsBefore: Set(), + appliesBuilders: Set(), ), }); }); test('build.yaml can be empty', () { - var buildConfig = new BuildConfig.parse('example', ['a', 'b'], ''); + var buildConfig = BuildConfig.parse('example', ['a', 'b'], ''); expectBuildTargets(buildConfig.buildTargets, { 'example:example': createBuildTarget( 'example', dependencies: ['a:a', 'b:b'].toSet(), - sources: new InputSet(), + sources: InputSet(), ), }); expectBuilderDefinitions(buildConfig.builderDefinitions, {}); @@ -235,29 +234,29 @@ void expectGlobalOptions(Map actual, } } -Matcher _matchesBuilderDefinition(BuilderDefinition definition) => - new TypeMatcher() - .having((d) => d.builderFactories, 'builderFactories', - definition.builderFactories) - .having((d) => d.buildExtensions, 'buildExtensions', - definition.buildExtensions) - .having((d) => d.requiredInputs, 'requiredInputs', - definition.requiredInputs) - .having((d) => d.runsBefore, 'runsBefore', definition.runsBefore) - .having((d) => d.appliesBuilders, 'appliesBuilders', - definition.appliesBuilders) - .having((d) => d.defaults, 'defaults', - _matchesBuilderConfigDefaults(definition.defaults)) - .having((d) => d.autoApply, 'autoApply', definition.autoApply) - .having((d) => d.isOptional, 'isOptional', definition.isOptional) - .having((d) => d.buildTo, 'buildTo', definition.buildTo) - .having((d) => d.import, 'import', definition.import) - .having((d) => d.key, 'key', definition.key) - .having((d) => d.package, 'package', definition.package); +Matcher _matchesBuilderDefinition(BuilderDefinition definition) => TypeMatcher< + BuilderDefinition>() + .having((d) => d.builderFactories, 'builderFactories', + definition.builderFactories) + .having( + (d) => d.buildExtensions, 'buildExtensions', definition.buildExtensions) + .having( + (d) => d.requiredInputs, 'requiredInputs', definition.requiredInputs) + .having((d) => d.runsBefore, 'runsBefore', definition.runsBefore) + .having( + (d) => d.appliesBuilders, 'appliesBuilders', definition.appliesBuilders) + .having((d) => d.defaults, 'defaults', + _matchesBuilderConfigDefaults(definition.defaults)) + .having((d) => d.autoApply, 'autoApply', definition.autoApply) + .having((d) => d.isOptional, 'isOptional', definition.isOptional) + .having((d) => d.buildTo, 'buildTo', definition.buildTo) + .having((d) => d.import, 'import', definition.import) + .having((d) => d.key, 'key', definition.key) + .having((d) => d.package, 'package', definition.package); Matcher _matchesPostProcessBuilderDefinition( PostProcessBuilderDefinition definition) => - new TypeMatcher() + TypeMatcher() .having((d) => d.builderFactory, 'builderFactory', definition.builderFactory) .having((d) => d.defaults, 'defaults', @@ -267,7 +266,7 @@ Matcher _matchesPostProcessBuilderDefinition( .having((d) => d.package, 'package', definition.package); Matcher _matchesGlobalBuilderConfig(GlobalBuilderConfig config) => - new TypeMatcher() + TypeMatcher() .having( (c) => c.options.config, 'options.config', config.options.config) .having((c) => c.devOptions.config, 'devOptions.config', @@ -276,7 +275,7 @@ Matcher _matchesGlobalBuilderConfig(GlobalBuilderConfig config) => config.releaseOptions.config); Matcher _matchesBuilderConfigDefaults(TargetBuilderConfigDefaults defaults) => - new TypeMatcher() + TypeMatcher() .having((d) => d.generateFor.include, 'generateFor.include', defaults.generateFor.include) .having((d) => d.generateFor.exclude, 'generateFor.exclude', @@ -296,22 +295,20 @@ void expectBuildTargets( } } -Matcher _matchesBuildTarget(BuildTarget target) => - new TypeMatcher() - .having((t) => t.package, 'package', target.package) - .having((t) => t.builders, 'builders', - _matchesBuilderConfigs(target.builders)) - .having((t) => t.dependencies, 'dependencies', target.dependencies) - .having( - (t) => t.sources.include, 'sources.include', target.sources.include) - .having((t) => t.sources.exclude, 'sources.exclude', - target.sources.exclude); +Matcher _matchesBuildTarget(BuildTarget target) => TypeMatcher() + .having((t) => t.package, 'package', target.package) + .having( + (t) => t.builders, 'builders', _matchesBuilderConfigs(target.builders)) + .having((t) => t.dependencies, 'dependencies', target.dependencies) + .having((t) => t.sources.include, 'sources.include', target.sources.include) + .having( + (t) => t.sources.exclude, 'sources.exclude', target.sources.exclude); Matcher _matchesBuilderConfigs(Map configs) => - equals(configs.map((k, v) => new MapEntry(k, _matchesBuilderConfig(v)))); + equals(configs.map((k, v) => MapEntry(k, _matchesBuilderConfig(v)))); Matcher _matchesBuilderConfig(TargetBuilderConfig expected) => - new TypeMatcher() + TypeMatcher() .having((c) => c.isEnabled, 'isEnabled', expected.isEnabled) .having( (c) => c.options.config, 'options.config', expected.options.config) @@ -330,7 +327,7 @@ BuildTarget createBuildTarget(String package, Iterable dependencies, InputSet sources}) { return runInBuildConfigZone(() { - var target = new BuildTarget( + var target = BuildTarget( builders: builders, dependencies: dependencies, sources: sources, @@ -356,7 +353,7 @@ BuilderDefinition createBuilderDefinition(String package, Iterable appliesBuilders, TargetBuilderConfigDefaults defaults}) { return runInBuildConfigZone(() { - var definition = new BuilderDefinition( + var definition = BuilderDefinition( builderFactories: builderFactories, autoApply: autoApply, isOptional: isOptional, @@ -379,7 +376,7 @@ PostProcessBuilderDefinition createPostProcessBuilderDefinition(String package, String key, TargetBuilderConfigDefaults defaults}) { return runInBuildConfigZone(() { - var definition = new PostProcessBuilderDefinition( + var definition = PostProcessBuilderDefinition( builderFactory: builderFactory, import: import, defaults: defaults); packageExpando[definition] = package; builderKeyExpando[definition] = key ?? '$package:$package'; diff --git a/build_config/test/errors_test.dart b/build_config/test/errors_test.dart index d9df36469..ef2f1ca23 100644 --- a/build_config/test/errors_test.dart +++ b/build_config/test/errors_test.dart @@ -14,7 +14,7 @@ targets: not_package_name: sources: ["lib/**"] '''; - expect(() => new BuildConfig.parse('package_name', [], buildYaml), + expect(() => BuildConfig.parse('package_name', [], buildYaml), throwsArgumentError); }); }); diff --git a/build_modules/lib/builders.dart b/build_modules/lib/builders.dart index dc5058e35..29d88fedc 100644 --- a/build_modules/lib/builders.dart +++ b/build_modules/lib/builders.dart @@ -10,7 +10,7 @@ import 'package:build_modules/src/module_cleanup.dart'; import 'package:build_modules/src/module_library_builder.dart'; Builder moduleBuilder(BuilderOptions options) => - new ModuleBuilder.forOptions(options); + ModuleBuilder.forOptions(options); Builder unlinkedSummaryBuilder(_) => const UnlinkedSummaryBuilder(); Builder linkedSummaryBuilder(_) => const LinkedSummaryBuilder(); Builder metaModuleBuilder(_) => const MetaModuleBuilder(); diff --git a/build_modules/lib/src/common.dart b/build_modules/lib/src/common.dart index f74b89255..7992792ae 100644 --- a/build_modules/lib/src/common.dart +++ b/build_modules/lib/src/common.dart @@ -12,7 +12,7 @@ import 'package:scratch_space/scratch_space.dart'; import 'kernel_builder.dart'; final defaultAnalysisOptionsId = - new AssetId('build_modules', 'lib/src/analysis_options.default.yaml'); + AssetId('build_modules', 'lib/src/analysis_options.default.yaml'); String defaultAnalysisOptionsArg(ScratchSpace scratchSpace) => '--options=${scratchSpace.fileFor(defaultAnalysisOptionsId).path}'; @@ -23,7 +23,7 @@ Future createPackagesFile(Iterable allAssets) async { var allPackages = allAssets.map((id) => id.package).toSet(); var packagesFileDir = await Directory.systemTemp.createTemp('kernel_builder_'); - var packagesFile = new File(p.join(packagesFileDir.path, '.packages')); + var packagesFile = File(p.join(packagesFileDir.path, '.packages')); await packagesFile.create(); await packagesFile.writeAsString(allPackages .map((pkg) => '$pkg:$multiRootScheme:///packages/$pkg') @@ -57,7 +57,7 @@ void validateOptions(Map config, List supportedOptions, var unsupportedOptions = config.keys.where((o) => !supportedOptions.contains(o)); if (unsupportedOptions.isNotEmpty) { - throw new ArgumentError.value(unsupportedOptions.join(', '), builderKey, + throw ArgumentError.value(unsupportedOptions.join(', '), builderKey, 'only $supportedOptions are supported options, but got'); } } diff --git a/build_modules/lib/src/errors.dart b/build_modules/lib/src/errors.dart index db4953bfa..cbe0badfc 100644 --- a/build_modules/lib/src/errors.dart +++ b/build_modules/lib/src/errors.dart @@ -56,7 +56,7 @@ class MissingModulesException implements Exception { Set missingSources, List transitiveModules, AssetReader reader) async { - var buffer = new StringBuffer(''' + var buffer = StringBuffer(''' Unable to find modules for some sources, this is usually the result of either a bad import, a missing dependency in a package (or possibly a dev_dependency needs to move to a real dependency), or a build failure (if importing a @@ -70,7 +70,7 @@ Please check the following imports:\n var missingIds = module.directDependencies.intersection(missingSources); for (var missingId in missingIds) { var checkedAlready = checkedSourceDependencies.putIfAbsent( - missingId, () => new Set()); + missingId, () => Set()); for (var sourceId in module.sources) { if (checkedAlready.contains(sourceId)) { continue; @@ -83,7 +83,7 @@ Please check the following imports:\n } } - return new MissingModulesException._(buffer.toString()); + return MissingModulesException._(buffer.toString()); } } @@ -99,7 +99,7 @@ Future _missingImportMessage( .firstWhere((directive) { var uriString = directive.uri.stringValue; if (uriString.startsWith('dart:')) return false; - var id = new AssetId.resolve(uriString, from: sourceId); + var id = AssetId.resolve(uriString, from: sourceId); return id == missingId; }, orElse: () => null); if (import == null) return null; diff --git a/build_modules/lib/src/kernel_builder.dart b/build_modules/lib/src/kernel_builder.dart index 99acb1e17..76c69f4fb 100644 --- a/build_modules/lib/src/kernel_builder.dart +++ b/build_modules/lib/src/kernel_builder.dart @@ -50,7 +50,7 @@ class KernelBuilder implements Builder { @override Future build(BuildStep buildStep) async { - var module = new Module.fromJson( + var module = Module.fromJson( json.decode(await buildStep.readAsString(buildStep.inputId)) as Map); try { @@ -77,7 +77,7 @@ Future _createKernel( @required bool summaryOnly, @required String outputExtension, @required String sdkKernelPath}) async { - var request = new WorkRequest(); + var request = WorkRequest(); var scratchSpace = await buildStep.fetchResource(scratchSpaceResource); var outputId = module.primarySource.changeExtension(outputExtension); var outputFile = scratchSpace.fileFor(outputId); @@ -97,7 +97,7 @@ Future _createKernel( buildStep, outputExtension))); - var allAssetIds = new Set() + var allAssetIds = Set() ..addAll(module.sources) ..addAll(transitiveKernelDeps) ..addAll(transitiveSourceDeps); @@ -114,7 +114,7 @@ Future _createKernel( var analyzer = await buildStep.fetchResource(frontendDriverResource); var response = await analyzer.doWork(request); if (response.exitCode != EXIT_CODE_OK || !await outputFile.exists()) { - throw new KernelException( + throw KernelException( outputId, '${request.arguments.join(' ')}\n${response.output}'); } @@ -167,7 +167,7 @@ void _addRequestArguments( bool summaryOnly) { request.arguments.addAll([ '--dart-sdk-summary', - new Uri.file(p.join(sdkDir, sdkKernelPath)).toString(), + Uri.file(p.join(sdkDir, sdkKernelPath)).toString(), '--output', outputFile.path, '--packages-file', diff --git a/build_modules/lib/src/meta_module.dart b/build_modules/lib/src/meta_module.dart index c46cd928e..7af3fc0a8 100644 --- a/build_modules/lib/src/meta_module.dart +++ b/build_modules/lib/src/meta_module.dart @@ -26,7 +26,7 @@ String _topLevelDir(String path) { error = 'The path `$path` reaches outside the root directory.'; } if (error != null) { - throw new ArgumentError( + throw ArgumentError( 'Cannot compute top level dir for path `$path`. $error'); } return parts.first; @@ -46,29 +46,28 @@ Module _moduleForComponent(List componentLibraries) { // Expand to include all the part files of each node, these aren't // included as individual `_AssetNodes`s in `connectedComponents`. sources.addAll(componentLibraries.expand((n) => n.parts)); - var directDependencies = new Set() + var directDependencies = Set() ..addAll(componentLibraries.expand((n) => n.deps)) ..removeAll(sources); - return new Module(primaryId, sources, directDependencies); + return Module(primaryId, sources, directDependencies); } Map _entryPointModules( Iterable modules, Set entrypoints) => - new Map.fromIterable( - modules.where((m) => m.sources.any(entrypoints.contains)), + Map.fromIterable(modules.where((m) => m.sources.any(entrypoints.contains)), key: (m) => (m as Module).primarySource); /// Gets the local (same top level dir of the same package) transitive deps of /// [module] using [assetsToModules]. Set _localTransitiveDeps( Module module, Map assetsToModules) { - var localTransitiveDeps = new Set(); + var localTransitiveDeps = Set(); var nextIds = module.directDependencies; - var seenIds = new Set(); + var seenIds = Set(); while (nextIds.isNotEmpty) { var ids = nextIds; seenIds.addAll(ids); - nextIds = new Set(); + nextIds = Set(); for (var id in ids) { var module = assetsToModules[id]; if (module == null) continue; // Skip non-local modules @@ -94,7 +93,7 @@ Map> _findReverseEntrypointDeps( for (var module in entrypointModules) { for (var moduleDep in _localTransitiveDeps(module, assetsToModules)) { reverseDeps - .putIfAbsent(moduleDep, () => new Set()) + .putIfAbsent(moduleDep, () => Set()) .add(module.primarySource); } } @@ -159,7 +158,7 @@ List _mergeModules(Iterable modules, Set entrypoints) { } Module _withConsistentPrimarySource(Module m) => - new Module(m.sources.reduce(_min), m.sources, m.directDependencies); + Module(m.sources.reduce(_min), m.sources, m.directDependencies); T _min>(T a, T b) => a.compareTo(b) < 0 ? a : b; @@ -227,6 +226,6 @@ class MetaModule { librariesByDirectory.values.expand(_computeModules).toList(); // Deterministically output the modules. modules.sort((a, b) => a.primarySource.compareTo(b.primarySource)); - return new MetaModule(modules); + return MetaModule(modules); } } diff --git a/build_modules/lib/src/meta_module_builder.dart b/build_modules/lib/src/meta_module_builder.dart index e3964f5fa..dd07be437 100644 --- a/build_modules/lib/src/meta_module_builder.dart +++ b/build_modules/lib/src/meta_module_builder.dart @@ -24,24 +24,23 @@ class MetaModuleBuilder implements Builder { const MetaModuleBuilder({bool isCoarse}) : _isCoarse = isCoarse ?? true; factory MetaModuleBuilder.forOptions(BuilderOptions options) { - return new MetaModuleBuilder( + return MetaModuleBuilder( isCoarse: moduleStrategy(options) == ModuleStrategy.coarse); } @override final buildExtensions = const { - r'$lib$': const [metaModuleExtension] + r'$lib$': [metaModuleExtension] }; @override Future build(BuildStep buildStep) async { if (!_isCoarse) return; - var libraryAssets = await buildStep - .findAssets(new Glob('**$moduleLibraryExtension')) - .toList(); + var libraryAssets = + await buildStep.findAssets(Glob('**$moduleLibraryExtension')).toList(); var metaModule = await MetaModule.forLibraries(buildStep, libraryAssets); - var id = new AssetId(buildStep.inputId.package, 'lib/$metaModuleExtension'); + var id = AssetId(buildStep.inputId.package, 'lib/$metaModuleExtension'); await buildStep.writeAsString(id, json.encode(metaModule.toJson())); } } diff --git a/build_modules/lib/src/meta_module_clean_builder.dart b/build_modules/lib/src/meta_module_clean_builder.dart index b5e21b142..7be4eb3c1 100644 --- a/build_modules/lib/src/meta_module_clean_builder.dart +++ b/build_modules/lib/src/meta_module_clean_builder.dart @@ -34,13 +34,13 @@ class MetaModuleCleanBuilder implements Builder { const MetaModuleCleanBuilder({bool isCoarse}) : _isCoarse = isCoarse ?? true; factory MetaModuleCleanBuilder.forOptions(BuilderOptions options) { - return new MetaModuleCleanBuilder( + return MetaModuleCleanBuilder( isCoarse: moduleStrategy(options) == ModuleStrategy.coarse); } @override final buildExtensions = const { - '$metaModuleExtension': const [metaModuleCleanExtension] + '$metaModuleExtension': [metaModuleCleanExtension] }; @override @@ -63,7 +63,7 @@ class MetaModuleCleanBuilder implements Builder { bool hasSourceInPackage(Module m) => m.sources.any((s) => s.package == buildStep.inputId.package); // Ensure deterministic output by sorting the modules. - cleanModules = new SplayTreeSet( + cleanModules = SplayTreeSet( (a, b) => a.primarySource.compareTo(b.primarySource)) ..addAll(connectedComponents.map(merge).where(hasSourceInPackage)); } on AssetNotFoundException { @@ -73,19 +73,19 @@ class MetaModuleCleanBuilder implements Builder { return; } await buildStep.writeAsString( - new AssetId(buildStep.inputId.package, 'lib/$metaModuleCleanExtension'), - json.encode(new MetaModule(cleanModules.toList()))); + AssetId(buildStep.inputId.package, 'lib/$metaModuleCleanExtension'), + json.encode(MetaModule(cleanModules.toList()))); } } /// Map of [AssetId] to corresponding non clean containing [Module]. final _assetToModule = - new Resource>(() => {}, dispose: (map) => map.clear()); + Resource>(() => {}, dispose: (map) => map.clear()); /// Map of [AssetId] to corresponding primary [AssetId] within the same /// clean [Module]. -final _assetToPrimary = new Resource>(() => {}, - dispose: (map) => map.clear()); +final _assetToPrimary = + Resource>(() => {}, dispose: (map) => map.clear()); /// Returns a set of all modules transitively reachable from the provided meta /// module asset. @@ -94,10 +94,10 @@ Future> _transitiveModules( AssetId metaAsset, Map assetToModule, Map assetToPrimary) async { - var dependentModules = new Set(); + var dependentModules = Set(); // Ensures we only process a meta file once. - var seenMetas = new Set()..add(metaAsset); - var meta = new MetaModule.fromJson( + var seenMetas = Set()..add(metaAsset); + var meta = MetaModule.fromJson( json.decode(await buildStep.readAsString(buildStep.inputId)) as Map); var nextModules = []; @@ -112,7 +112,7 @@ Future> _transitiveModules( assetToPrimary[source] = module.primarySource; } for (var dep in module.directDependencies) { - var depMetaAsset = new AssetId(dep.package, 'lib/$metaModuleExtension'); + var depMetaAsset = AssetId(dep.package, 'lib/$metaModuleExtension'); // The testing package is an odd package used by package:frontend_end // which doesn't really exist. // https://github.com/dart-lang/sdk/issues/32952 @@ -120,7 +120,7 @@ Future> _transitiveModules( continue; } seenMetas.add(depMetaAsset); - var depMeta = new MetaModule.fromJson( + var depMeta = MetaModule.fromJson( json.decode(await buildStep.readAsString(depMetaAsset)) as Map); nextModules.addAll(depMeta.modules); @@ -135,12 +135,12 @@ Future> _transitiveModules( /// The result will be that all dependencies are primary sources. Module _mergeComponent( List connectedComponent, Map assetToPrimary) { - var sources = new Set(); - var deps = new Set(); + var sources = Set(); + var deps = Set(); // Sort the modules to deterministicly select the primary source. - var components = new SplayTreeSet( - (a, b) => a.primarySource.compareTo(b.primarySource)) - ..addAll(connectedComponent); + var components = + SplayTreeSet((a, b) => a.primarySource.compareTo(b.primarySource)) + ..addAll(connectedComponent); var primarySource = components.first.primarySource; for (var module in connectedComponent) { sources.addAll(module.sources); @@ -156,7 +156,7 @@ Module _mergeComponent( } } // Update map so that sources now point to the merged module. - var mergedModule = new Module(primarySource, sources, deps); + var mergedModule = Module(primarySource, sources, deps); for (var source in mergedModule.sources) { assetToPrimary[source] = mergedModule.primarySource; } diff --git a/build_modules/lib/src/module_builder.dart b/build_modules/lib/src/module_builder.dart index c9afb0130..67d71c456 100644 --- a/build_modules/lib/src/module_builder.dart +++ b/build_modules/lib/src/module_builder.dart @@ -17,8 +17,8 @@ import 'modules.dart'; const moduleExtension = '.module'; /// A map of package to corresponding clean [MetaModule]. -final _cleanMetaModules = new Resource<_CleanMetaModuleCache>( - () => new _CleanMetaModuleCache(), +final _cleanMetaModules = Resource<_CleanMetaModuleCache>( + () => _CleanMetaModuleCache(), dispose: (c) => c.dispose()); class _CleanMetaModuleCache { @@ -27,13 +27,12 @@ class _CleanMetaModuleCache { void dispose() => _modules.clear(); Future find(String packageName, AssetReader reader) async { - var cleanMetaAsset = - new AssetId(packageName, 'lib/$metaModuleCleanExtension'); + var cleanMetaAsset = AssetId(packageName, 'lib/$metaModuleCleanExtension'); if (!await reader.canRead(cleanMetaAsset)) return null; var metaResult = _modules.putIfAbsent( packageName, () => Result.capture(reader.readAsString(cleanMetaAsset).then((c) => - new MetaModule.fromJson(jsonDecode(c) as Map)))); + MetaModule.fromJson(jsonDecode(c) as Map)))); return Result.release(metaResult); } } @@ -45,7 +44,7 @@ class _CleanMetaModuleCache { /// dependencies if necessary. Future _cleanModuleDeps( BuildStep buildStep, Module module, _CleanMetaModuleCache cache) async { - var cleanedDeps = new Set(); + var cleanedDeps = Set(); var depAssetToModules = {}; for (var dep in module.directDependencies) { // Since we are not using the course strategy we can safely add @@ -66,7 +65,7 @@ Future _cleanModuleDeps( // phase. Need to recompute them. if (!depAssetToModules.containsKey(dep)) { var depLibrary = await buildStep.resolver.libraryFor(dep); - var depModule = new Module.forLibrary(depLibrary); + var depModule = Module.forLibrary(depLibrary); for (var source in depModule.sources) { depAssetToModules[source] = depModule; } @@ -79,7 +78,7 @@ Future _cleanModuleDeps( .primarySource); } } - return new Module(module.primarySource, module.sources, cleanedDeps); + return Module(module.primarySource, module.sources, cleanedDeps); } /// Creates `.module` files for any `.dart` file that is the primary dart @@ -89,13 +88,13 @@ class ModuleBuilder implements Builder { const ModuleBuilder({bool isCoarse}) : _isCoarse = isCoarse ?? true; factory ModuleBuilder.forOptions(BuilderOptions options) { - return new ModuleBuilder( + return ModuleBuilder( isCoarse: moduleStrategy(options) == ModuleStrategy.coarse); } @override final buildExtensions = const { - '.dart': const [moduleExtension] + '.dart': [moduleExtension] }; @override @@ -103,7 +102,7 @@ class ModuleBuilder implements Builder { Module outputModule; var cleanMetaModules = await buildStep.fetchResource(_cleanMetaModules); var cleanMetaAsset = - new AssetId(buildStep.inputId.package, 'lib/$metaModuleCleanExtension'); + AssetId(buildStep.inputId.package, 'lib/$metaModuleCleanExtension'); // If we can't read the clean meta module it is likely that this package // is in a module cycle so fall back to the fine strategy. if (_isCoarse && await buildStep.canRead(cleanMetaAsset)) { @@ -117,7 +116,7 @@ class ModuleBuilder implements Builder { var library = await buildStep.inputLibrary; if (!isPrimary(library)) return; - var module = new Module.forLibrary(library); + var module = Module.forLibrary(library); outputModule = await _cleanModuleDeps(buildStep, module, cleanMetaModules); } diff --git a/build_modules/lib/src/module_library.dart b/build_modules/lib/src/module_library.dart index 51eba15b3..7f4a772b3 100644 --- a/build_modules/lib/src/module_library.dart +++ b/build_modules/lib/src/module_library.dart @@ -49,13 +49,13 @@ class ModuleLibrary { factory ModuleLibrary._fromCompilationUnit( AssetId id, bool isEntryPoint, CompilationUnit parsed) { - var deps = new Set(); - var parts = new Set(); + var deps = Set(); + var parts = Set(); for (var directive in parsed.directives) { if (directive is! UriBasedDirective) continue; var path = (directive as UriBasedDirective).uri.stringValue; if (Uri.parse(path).scheme == 'dart') continue; - var linkedId = new AssetId.resolve(path, from: id); + var linkedId = AssetId.resolve(path, from: id); if (linkedId == null) continue; if (directive is PartDirective) { parts.add(linkedId); @@ -75,10 +75,10 @@ class ModuleLibrary { deps.addAll(conditionalDirectiveConfigurations .map((c) => Uri.parse(c.uri.stringValue)) .where((u) => u.scheme != 'dart') - .map((u) => new AssetId.resolve(u.toString(), from: id))); + .map((u) => AssetId.resolve(u.toString(), from: id))); } } - return new ModuleLibrary._(id, + return ModuleLibrary._(id, isEntryPoint: isEntryPoint, deps: deps, parts: parts); } @@ -95,15 +95,15 @@ class ModuleLibrary { d is UriBasedDirective && d.uri.stringValue.startsWith('dart:_') && id.package != 'dart_internal')) { - return new ModuleLibrary._nonImportable(id); + return ModuleLibrary._nonImportable(id); } if (_isPart(parsed)) { - return new ModuleLibrary._nonImportable(id); + return ModuleLibrary._nonImportable(id); } final isEntryPoint = (isLibDir && !id.path.startsWith('lib/src/')) || _hasMainMethod(parsed); - return new ModuleLibrary._fromCompilationUnit(id, isEntryPoint, parsed); + return ModuleLibrary._fromCompilationUnit(id, isEntryPoint, parsed); } /// Parses the output of [toString] back into a [ModuleLibrary]. @@ -115,13 +115,13 @@ class ModuleLibrary { final isEntryPoint = lines.first == 'true'; final separator = lines.indexOf(''); final deps = - lines.sublist(1, separator).map((l) => new AssetId.parse(l)).toSet(); + lines.sublist(1, separator).map((l) => AssetId.parse(l)).toSet(); final parts = lines .sublist(separator + 1) .where((l) => l.isNotEmpty) - .map((l) => new AssetId.parse(l)) + .map((l) => AssetId.parse(l)) .toSet(); - return new ModuleLibrary._(id, + return ModuleLibrary._(id, isEntryPoint: isEntryPoint, deps: deps, parts: parts); } diff --git a/build_modules/lib/src/module_library_builder.dart b/build_modules/lib/src/module_library_builder.dart index 52eaeedf0..f39ec5175 100644 --- a/build_modules/lib/src/module_library_builder.dart +++ b/build_modules/lib/src/module_library_builder.dart @@ -24,7 +24,7 @@ class ModuleLibraryBuilder implements Builder { @override final buildExtensions = const { - '.dart': const [moduleLibraryExtension] + '.dart': [moduleLibraryExtension] }; @override diff --git a/build_modules/lib/src/modules.dart b/build_modules/lib/src/modules.dart index f242893a6..e81157458 100644 --- a/build_modules/lib/src/modules.dart +++ b/build_modules/lib/src/modules.dart @@ -97,8 +97,8 @@ class Module { factory Module.forLibrary(LibraryElement library) { final cycle = library.libraryCycle; final cycleUris = cycle.map((l) => l.source.uri).toSet(); - final dependencyModules = new Set(); - final seenDependencies = new Set(); + final dependencyModules = Set(); + final seenDependencies = Set(); for (var dependency in _cycleDependencies(cycle)) { var uri = dependency.source.uri; if (seenDependencies.contains(uri) || cycleUris.contains(uri)) continue; @@ -107,9 +107,9 @@ class Module { seenDependencies.addAll(cycle.map((l) => l.source.uri)); } - AssetId toAssetId(Uri uri) => new AssetId.resolve('$uri'); + AssetId toAssetId(Uri uri) => AssetId.resolve('$uri'); - return new Module( + return Module( toAssetId(_earliest(cycle)), _cycleSources(cycle).map(toAssetId).toSet(), dependencyModules.map(toAssetId).toSet()); @@ -128,7 +128,7 @@ class Module { Future> computeTransitiveDependencies(AssetReader reader) async { var transitiveDeps = {}; var modulesToCrawl = directDependencies.toSet(); - var missingModuleSources = new Set(); + var missingModuleSources = Set(); while (modulesToCrawl.isNotEmpty) { var next = modulesToCrawl.last; modulesToCrawl.remove(next); @@ -138,7 +138,7 @@ class Module { missingModuleSources.add(next); continue; } - var module = new Module.fromJson( + var module = Module.fromJson( json.decode(await reader.readAsString(nextModuleId)) as Map); transitiveDeps[next] = module; @@ -203,7 +203,7 @@ Iterable _cycleSources(Iterable libraries) => Iterable _libraryUris(LibraryElement library) => library.parts.map((u) => u.source.uri).toList()..add(library.source.uri); -AssetId _assetIdFromJson(List json) => new AssetId.deserialize(json); +AssetId _assetIdFromJson(List json) => AssetId.deserialize(json); List _assetIdToJson(AssetId id) => id.serialize() as List; diff --git a/build_modules/lib/src/scratch_space.dart b/build_modules/lib/src/scratch_space.dart index c3fe978f3..1e00a10c9 100644 --- a/build_modules/lib/src/scratch_space.dart +++ b/build_modules/lib/src/scratch_space.dart @@ -12,15 +12,15 @@ import 'package:scratch_space/scratch_space.dart'; import 'workers.dart'; -final _logger = new Logger('BuildModules'); +final _logger = Logger('BuildModules'); /// A shared [ScratchSpace] for ddc and analyzer workers that persists /// throughout builds. -final scratchSpace = new ScratchSpace(); +final scratchSpace = ScratchSpace(); /// A shared [Resource] for a [ScratchSpace], which cleans up the contents of /// the [ScratchSpace] in dispose, but doesn't delete it entirely. -final scratchSpaceResource = new Resource(() { +final scratchSpaceResource = Resource(() { if (!scratchSpace.exists) { scratchSpace.tempDir.createSync(recursive: true); scratchSpace.exists = true; @@ -59,7 +59,7 @@ final scratchSpaceResource = new Resource(() { var delayMs = math.pow(10, numTries).floor(); _logger.info('Failed to delete temp dir ${scratchSpace.tempDir.path}, ' 'retrying in ${delayMs}ms'); - await new Future.delayed(new Duration(milliseconds: delayMs)); + await Future.delayed(Duration(milliseconds: delayMs)); } } }); diff --git a/build_modules/lib/src/summary_builder.dart b/build_modules/lib/src/summary_builder.dart index a4ff13b4d..82483fef5 100644 --- a/build_modules/lib/src/summary_builder.dart +++ b/build_modules/lib/src/summary_builder.dart @@ -25,12 +25,12 @@ class UnlinkedSummaryBuilder implements Builder { @override final buildExtensions = const { - moduleExtension: const [unlinkedSummaryExtension] + moduleExtension: [unlinkedSummaryExtension] }; @override Future build(BuildStep buildStep) async { - var module = new Module.fromJson( + var module = Module.fromJson( json.decode(await buildStep.readAsString(buildStep.inputId)) as Map); try { @@ -47,12 +47,12 @@ class LinkedSummaryBuilder implements Builder { @override final buildExtensions = const { - moduleExtension: const [linkedSummaryExtension] + moduleExtension: [linkedSummaryExtension] }; @override Future build(BuildStep buildStep) async { - var module = new Module.fromJson( + var module = Module.fromJson( json.decode(await buildStep.readAsString(buildStep.inputId)) as Map); try { @@ -72,7 +72,7 @@ Future _createUnlinkedSummary(Module module, BuildStep buildStep, await scratchSpace.ensureAssets(module.sources, buildStep); var summaryOutputFile = scratchSpace.fileFor(module.unlinkedSummaryId); - var request = new WorkRequest(); + var request = WorkRequest(); request.arguments.addAll([ '--build-summary-only', '--build-summary-only-unlinked', @@ -90,8 +90,7 @@ Future _createUnlinkedSummary(Module module, BuildStep buildStep, var analyzer = await buildStep.fetchResource(analyzerDriverResource); var response = await analyzer.doWork(request); if (response.exitCode == EXIT_CODE_ERROR) { - throw new AnalyzerSummaryException( - module.unlinkedSummaryId, response.output); + throw AnalyzerSummaryException(module.unlinkedSummaryId, response.output); } // Copy the output back using the buildStep. @@ -117,7 +116,7 @@ Future _createLinkedSummary(Module module, BuildStep buildStep, var scratchSpace = await buildStep.fetchResource(scratchSpaceResource); - var allAssetIds = new Set() + var allAssetIds = Set() // TODO: Why can't we just add the unlinked summary? // That would help invalidation. ..addAll(module.sources) @@ -125,7 +124,7 @@ Future _createLinkedSummary(Module module, BuildStep buildStep, ..addAll(transitiveUnlinkedSummaryDeps); await scratchSpace.ensureAssets(allAssetIds, buildStep); var summaryOutputFile = scratchSpace.fileFor(module.linkedSummaryId); - var request = new WorkRequest(); + var request = WorkRequest(); request.arguments.addAll([ '--build-summary-only', '--build-summary-output-semantic=${summaryOutputFile.path}', @@ -148,7 +147,7 @@ Future _createLinkedSummary(Module module, BuildStep buildStep, // Add the [Input]s with `Digest`s. await Future.wait(allAssetIds.map((input) { return buildStep.digest(input).then((digest) { - request.inputs.add(new Input() + request.inputs.add(Input() ..digest = digest.bytes ..path = scratchSpace.fileFor(input).path); }); @@ -158,7 +157,7 @@ Future _createLinkedSummary(Module module, BuildStep buildStep, var response = await analyzer.doWork(request); var summaryFile = scratchSpace.fileFor(module.linkedSummaryId); if (response.exitCode == EXIT_CODE_ERROR || !await summaryFile.exists()) { - throw new AnalyzerSummaryException(module.linkedSummaryId, response.output); + throw AnalyzerSummaryException(module.linkedSummaryId, response.output); } // Copy the output back using the buildStep. @@ -171,7 +170,7 @@ Iterable _analyzerSourceArgsForModule( var uri = canonicalUriFor(id); var file = scratchSpace.fileFor(id); if (!uri.startsWith('package:')) { - uri = new Uri.file('/${id.path}').toString(); + uri = Uri.file('/${id.path}').toString(); } return '$uri|${file.path}'; }); diff --git a/build_modules/lib/src/workers.dart b/build_modules/lib/src/workers.dart index ac49ae5f9..3d87c4b9a 100644 --- a/build_modules/lib/src/workers.dart +++ b/build_modules/lib/src/workers.dart @@ -19,27 +19,27 @@ final sdkDir = cli_util.getSdkPath(); /// Completes once the analyzer workers have been shut down. Future get analyzerWorkersAreDone => - _analyzerWorkersAreDoneCompleter?.future ?? new Future.value(null); + _analyzerWorkersAreDoneCompleter?.future ?? Future.value(null); Completer _analyzerWorkersAreDoneCompleter; /// Completes once the dartdevc workers have been shut down. Future get dartdevcWorkersAreDone => - _dartdevcWorkersAreDoneCompleter?.future ?? new Future.value(null); + _dartdevcWorkersAreDoneCompleter?.future ?? Future.value(null); Completer _dartdevcWorkersAreDoneCompleter; /// Completes once the dartdevk workers have been shut down. Future get dartdevkWorkersAreDone => - _dartdevkWorkersAreDoneCompleter?.future ?? new Future.value(null); + _dartdevkWorkersAreDoneCompleter?.future ?? Future.value(null); Completer _dartdevkWorkersAreDoneCompleter; /// Completes once the dart2js workers have been shut down. Future get dart2jsWorkersAreDone => - _dart2jsWorkersAreDoneCompleter?.future ?? new Future.value(null); + _dart2jsWorkersAreDoneCompleter?.future ?? Future.value(null); Completer _dart2jsWorkersAreDoneCompleter; /// Completes once the common frontend workers have been shut down. Future get frontendWorkersAreDone => - _frontendWorkersAreDoneCompleter?.future ?? new Future.value(null); + _frontendWorkersAreDoneCompleter?.future ?? Future.value(null); Completer _frontendWorkersAreDoneCompleter; String get _scriptExtension => Platform.isWindows ? '.bat' : ''; @@ -63,8 +63,8 @@ final int _maxWorkersPerTask = () { /// Manages a shared set of persistent analyzer workers. BazelWorkerDriver get _analyzerDriver { - _analyzerWorkersAreDoneCompleter ??= new Completer(); - return __analyzerDriver ??= new BazelWorkerDriver( + _analyzerWorkersAreDoneCompleter ??= Completer(); + return __analyzerDriver ??= BazelWorkerDriver( () => Process.start( p.join(sdkDir, 'bin', 'dartanalyzer$_scriptExtension'), ['--build-mode', '--persistent_worker'], @@ -75,8 +75,8 @@ BazelWorkerDriver get _analyzerDriver { BazelWorkerDriver __analyzerDriver; /// Resource for fetching the current [BazelWorkerDriver] for dartanalyzer. -final analyzerDriverResource = new Resource( - () => _analyzerDriver, beforeExit: () async { +final analyzerDriverResource = + Resource(() => _analyzerDriver, beforeExit: () async { await _analyzerDriver?.terminateWorkers(); _analyzerWorkersAreDoneCompleter.complete(); _analyzerWorkersAreDoneCompleter = null; @@ -85,8 +85,8 @@ final analyzerDriverResource = new Resource( /// Manages a shared set of persistent dartdevc workers. BazelWorkerDriver get _dartdevcDriver { - _dartdevcWorkersAreDoneCompleter ??= new Completer(); - return __dartdevcDriver ??= new BazelWorkerDriver( + _dartdevcWorkersAreDoneCompleter ??= Completer(); + return __dartdevcDriver ??= BazelWorkerDriver( () => Process.start(p.join(sdkDir, 'bin', 'dartdevc$_scriptExtension'), ['--persistent_worker'], workingDirectory: scratchSpace.tempDir.path), @@ -96,8 +96,8 @@ BazelWorkerDriver get _dartdevcDriver { BazelWorkerDriver __dartdevcDriver; /// Resource for fetching the current [BazelWorkerDriver] for dartdevc. -final dartdevcDriverResource = new Resource( - () => _dartdevcDriver, beforeExit: () async { +final dartdevcDriverResource = + Resource(() => _dartdevcDriver, beforeExit: () async { await _dartdevcDriver?.terminateWorkers(); _dartdevcWorkersAreDoneCompleter.complete(); _dartdevcWorkersAreDoneCompleter = null; @@ -106,8 +106,8 @@ final dartdevcDriverResource = new Resource( /// Manages a shared set of persistent dartdevk workers. BazelWorkerDriver get _dartdevkDriver { - _dartdevkWorkersAreDoneCompleter ??= new Completer(); - return __dartdevkDriver ??= new BazelWorkerDriver( + _dartdevkWorkersAreDoneCompleter ??= Completer(); + return __dartdevkDriver ??= BazelWorkerDriver( () => Process.start(p.join(sdkDir, 'bin', 'dartdevk$_scriptExtension'), ['--persistent_worker'], workingDirectory: scratchSpace.tempDir.path), @@ -117,8 +117,8 @@ BazelWorkerDriver get _dartdevkDriver { BazelWorkerDriver __dartdevkDriver; /// Resource for fetching the current [BazelWorkerDriver] for dartdevk. -final dartdevkDriverResource = new Resource( - () => _dartdevkDriver, beforeExit: () async { +final dartdevkDriverResource = + Resource(() => _dartdevkDriver, beforeExit: () async { await _dartdevkDriver?.terminateWorkers(); _dartdevkWorkersAreDoneCompleter.complete(); _dartdevkWorkersAreDoneCompleter = null; @@ -127,8 +127,8 @@ final dartdevkDriverResource = new Resource( /// Manages a shared set of persistent common frontend workers. BazelWorkerDriver get _frontendDriver { - _frontendWorkersAreDoneCompleter ??= new Completer(); - return __frontendDriver ??= new BazelWorkerDriver( + _frontendWorkersAreDoneCompleter ??= Completer(); + return __frontendDriver ??= BazelWorkerDriver( () => Process.start( p.join(sdkDir, 'bin', 'dart'), [ @@ -142,8 +142,8 @@ BazelWorkerDriver get _frontendDriver { BazelWorkerDriver __frontendDriver; /// Resource for fetching the current [BazelWorkerDriver] for common frontend. -final frontendDriverResource = new Resource( - () => _frontendDriver, beforeExit: () async { +final frontendDriverResource = + Resource(() => _frontendDriver, beforeExit: () async { await _frontendDriver?.terminateWorkers(); _frontendWorkersAreDoneCompleter.complete(); _frontendWorkersAreDoneCompleter = null; @@ -152,8 +152,8 @@ final frontendDriverResource = new Resource( /// Manages a shared set of persistent dart2js workers. Dart2JsBatchWorkerPool get _dart2jsWorkerPool { - _dart2jsWorkersAreDoneCompleter ??= new Completer(); - return __dart2jsWorkerPool ??= new Dart2JsBatchWorkerPool(() => Process.start( + _dart2jsWorkersAreDoneCompleter ??= Completer(); + return __dart2jsWorkerPool ??= Dart2JsBatchWorkerPool(() => Process.start( p.join(sdkDir, 'bin', 'dart2js$_scriptExtension'), ['--batch'], workingDirectory: scratchSpace.tempDir.path)); } @@ -161,7 +161,7 @@ Dart2JsBatchWorkerPool get _dart2jsWorkerPool { Dart2JsBatchWorkerPool __dart2jsWorkerPool; /// Resource for fetching the current [Dart2JsBatchWorkerPool] for dart2js. -final dart2JsWorkerResource = new Resource( +final dart2JsWorkerResource = Resource( () => _dart2jsWorkerPool, beforeExit: () async { await _dart2jsWorkerPool.terminateWorkers(); _dart2jsWorkersAreDoneCompleter.complete(); @@ -173,18 +173,18 @@ final dart2JsWorkerResource = new Resource( class Dart2JsBatchWorkerPool { final Future Function() _spawnWorker; - final _workQueue = new Queue<_Dart2JsJob>(); + final _workQueue = Queue<_Dart2JsJob>(); bool _queueIsActive = false; - final _availableWorkers = new Queue<_Dart2JsWorker>(); + final _availableWorkers = Queue<_Dart2JsWorker>(); final _allWorkers = <_Dart2JsWorker>[]; Dart2JsBatchWorkerPool(this._spawnWorker); Future compile(List args) async { - var job = new _Dart2JsJob(args); + var job = _Dart2JsJob(args); _workQueue.add(job); if (!_queueIsActive) _startWorkQueue(); return job.result; @@ -198,7 +198,7 @@ class Dart2JsBatchWorkerPool { _Dart2JsWorker worker; if (_availableWorkers.isEmpty && _allWorkers.length < _maxWorkersPerTask) { - worker = new _Dart2JsWorker(_spawnWorker); + worker = _Dart2JsWorker(_spawnWorker); _allWorkers.add(worker); } @@ -210,7 +210,7 @@ class Dart2JsBatchWorkerPool { while (worker == null) { // TODO: something smarter here? in practice this seems to work // reasonably well though and simplifies things a lot ¯\_(ツ)_/¯. - await new Future.delayed(new Duration(seconds: 1)); + await Future.delayed(Duration(seconds: 1)); worker = nextWorker(); } // ignore: unawaited_futures @@ -262,7 +262,7 @@ class _Dart2JsWorker { Process __worker; Future _spawningWorker; Future get _worker { - if (__worker != null) return new Future.value(__worker); + if (__worker != null) return Future.value(__worker); return _spawningWorker ??= () async { if (__worker == null) { _jobsSinceLastRestartCount = 0; @@ -298,13 +298,13 @@ class _Dart2JsWorker { tryCount++; _jobsSinceLastRestartCount++; var worker = await _worker; - var output = new StringBuffer(); - _currentJobResult = new Completer(); + var output = StringBuffer(); + _currentJobResult = Completer(); var sawError = false; var stderrListener = _workerStderrLines.listen((line) { if (line == '>>> EOF STDERR') { - _currentJobResult?.complete(new Dart2JsResult( - !sawError, 'Dart2Js finished with:\n\n$output')); + _currentJobResult?.complete( + Dart2JsResult(!sawError, 'Dart2Js finished with:\n\n$output')); } if (!line.startsWith('>>> ')) { output.writeln(line); @@ -359,7 +359,7 @@ class _Dart2JsWorker { class _Dart2JsJob { final List args; - final resultCompleter = new Completer(); + final resultCompleter = Completer(); Future get result => resultCompleter.future; _Dart2JsJob(this.args); diff --git a/build_modules/test/build_test.dart b/build_modules/test/build_test.dart index 5f51bd720..98660518b 100644 --- a/build_modules/test/build_test.dart +++ b/build_modules/test/build_test.dart @@ -18,7 +18,7 @@ void main() { pkgRoot = _runProc('git', ['rev-parse', '--show-toplevel']); var currentDir = Directory.current.resolveSymbolicLinksSync(); if (!p.isWithin(pkgRoot, currentDir)) { - throw new StateError('Expected the git root ($pkgRoot) ' + throw StateError('Expected the git root ($pkgRoot) ' 'to be a parent of the current directory ($currentDir).'); } } catch (e) { @@ -34,14 +34,14 @@ void main() { // 2 - run build - should be no output, since nothing should change var result = _runProc('pub', ['run', 'build_runner', 'build']); expect(result, - contains(new RegExp(r'Succeeded after \S+( \S+)? with \d+ outputs'))); + contains(RegExp(r'Succeeded after \S+( \S+)? with \d+ outputs'))); // 3 - get a list of modified `.g.dart` files - should still be empty expect(_changedGeneratedFiles(), isEmpty); }); } -final _whitespace = new RegExp(r'\s'); +final _whitespace = RegExp(r'\s'); Set _changedGeneratedFiles() { var output = _runProc('git', ['status', '--porcelain']); @@ -56,7 +56,7 @@ String _runProc(String proc, List args) { var result = Process.runSync(proc, args); if (result.exitCode != 0) { - throw new ProcessException( + throw ProcessException( proc, args, result.stderr as String, result.exitCode); } var stderr = result.stderr as String; diff --git a/build_modules/test/matchers.dart b/build_modules/test/matchers.dart index 8c8bbf666..a37b2ee8c 100644 --- a/build_modules/test/matchers.dart +++ b/build_modules/test/matchers.dart @@ -11,14 +11,14 @@ import 'package:build_modules/src/modules.dart'; import 'package:build_modules/src/meta_module.dart'; /// Matches an encoded [Module] against an [expected] Module instance. -encodedMatchesModule(Module expected) => new EncodedModuleMatcher(expected); +encodedMatchesModule(Module expected) => EncodedModuleMatcher(expected); /// Matches an encoded [MetaModule] against an [expected] Module instance. encodedMatchesMetaModule(MetaModule expected) => - new EncodedMetaModuleMatcher(expected); + EncodedMetaModuleMatcher(expected); /// Matches a [Module] against an [expected] Module instance. -matchesModule(Module expected) => new ModuleMatcher(expected); +matchesModule(Module expected) => ModuleMatcher(expected); /// A [Matcher] for an analyzer summary that matches against the linked uris. class HasLinkedUris extends CustomMatcher { @@ -27,7 +27,7 @@ class HasLinkedUris extends CustomMatcher { @override featureValueOf(summaryBytes) { - var bundle = new PackageBundle.fromBuffer(summaryBytes as List); + var bundle = PackageBundle.fromBuffer(summaryBytes as List); return bundle.linkedLibraryUris; } } @@ -39,7 +39,7 @@ class HasUnlinkedUris extends CustomMatcher { @override featureValueOf(summaryBytes) { - var bundle = new PackageBundle.fromBuffer(summaryBytes as List); + var bundle = PackageBundle.fromBuffer(summaryBytes as List); return bundle.unlinkedUnitUris; } } @@ -57,7 +57,7 @@ class EncodedMetaModuleMatcher extends Matcher { } if (actual is! String) return false; var jSon = json.decode(actual as String) as Map; - var meta = new MetaModule.fromJson(jSon); + var meta = MetaModule.fromJson(jSon); return unorderedMatches(expected.modules.map(matchesModule)) .matches(meta.modules, description); } @@ -116,8 +116,8 @@ class EncodedModuleMatcher extends Matcher { } if (actual is! String) return false; var jSon = json.decode(actual as String) as Map; - var module = new Module.fromJson(jSon); - return new ModuleMatcher(expected).matches(module, description); + var module = Module.fromJson(jSon); + return ModuleMatcher(expected).matches(module, description); } @override diff --git a/build_modules/test/meta_module_builder_test.dart b/build_modules/test/meta_module_builder_test.dart index 8b019c051..11f773c35 100644 --- a/build_modules/test/meta_module_builder_test.dart +++ b/build_modules/test/meta_module_builder_test.dart @@ -13,10 +13,10 @@ import 'matchers.dart'; main() { test('can serialize meta modules', () async { - var assetA = new AssetId('a', 'lib/a.dart'); - var moduleA = new Module(assetA, [assetA], []); - var metaA = new MetaModule([moduleA]); - await testBuilder(new MetaModuleBuilder(), { + var assetA = AssetId('a', 'lib/a.dart'); + var moduleA = Module(assetA, [assetA], []); + var metaA = MetaModule([moduleA]); + await testBuilder(MetaModuleBuilder(), { 'a|lib/a.module.library': 'true\n\n', }, outputs: { 'a|lib/$metaModuleExtension': encodedMatchesMetaModule(metaA), diff --git a/build_modules/test/meta_module_clean_builder_test.dart b/build_modules/test/meta_module_clean_builder_test.dart index dc04f1eec..d22a3e177 100644 --- a/build_modules/test/meta_module_clean_builder_test.dart +++ b/build_modules/test/meta_module_clean_builder_test.dart @@ -15,15 +15,15 @@ import 'matchers.dart'; main() { test('unconnected components stay disjoint', () async { - var assetA = new AssetId('a', 'lib/a.dart'); - var assetB = new AssetId('b', 'lib/b.dart'); - var moduleA = new Module(assetA, [assetA], []); - var moduleB = new Module(assetB, [assetB], []); + var assetA = AssetId('a', 'lib/a.dart'); + var assetB = AssetId('b', 'lib/b.dart'); + var moduleA = Module(assetA, [assetA], []); + var moduleB = Module(assetB, [assetB], []); - var metaA = new MetaModule([moduleA]); - var metaB = new MetaModule([moduleB]); + var metaA = MetaModule([moduleA]); + var metaB = MetaModule([moduleB]); - await testBuilder(new MetaModuleCleanBuilder(), { + await testBuilder(MetaModuleCleanBuilder(), { 'a|lib/$metaModuleExtension': json.encode(metaA), 'b|lib/$metaModuleExtension': json.encode(metaB), 'a|lib/a.dart': 'import "package:b/b.dart"', @@ -35,18 +35,18 @@ main() { }); test('can handle cycles', () async { - var assetA = new AssetId('a', 'lib/a.dart'); - var assetB = new AssetId('b', 'lib/b.dart'); - var moduleA = new Module(assetA, [assetA], [assetB]); - var moduleB = new Module(assetB, [assetB], [assetA]); + var assetA = AssetId('a', 'lib/a.dart'); + var assetB = AssetId('b', 'lib/b.dart'); + var moduleA = Module(assetA, [assetA], [assetB]); + var moduleB = Module(assetB, [assetB], [assetA]); - var metaA = new MetaModule([moduleA]); - var metaB = new MetaModule([moduleB]); - var clean = new MetaModule([ - new Module(assetA, [assetA, assetB], []) + var metaA = MetaModule([moduleA]); + var metaB = MetaModule([moduleB]); + var clean = MetaModule([ + Module(assetA, [assetA, assetB], []) ]); - await testBuilder(new MetaModuleCleanBuilder(), { + await testBuilder(MetaModuleCleanBuilder(), { 'a|lib/$metaModuleExtension': json.encode(metaA), 'b|lib/$metaModuleExtension': json.encode(metaB), 'a|lib/a.dart': 'import "package:b/b.dart"', @@ -59,13 +59,13 @@ main() { test('does not output a clean module if the dep\'s meta module is not found', () async { - var assetA = new AssetId('a', 'lib/a.dart'); - var assetB = new AssetId('b', 'lib/b.dart'); - var moduleA = new Module(assetA, [assetA], [assetB]); + var assetA = AssetId('a', 'lib/a.dart'); + var assetB = AssetId('b', 'lib/b.dart'); + var moduleA = Module(assetA, [assetA], [assetB]); - var metaA = new MetaModule([moduleA]); + var metaA = MetaModule([moduleA]); - await testBuilder(new MetaModuleCleanBuilder(), { + await testBuilder(MetaModuleCleanBuilder(), { 'a|lib/$metaModuleExtension': json.encode(metaA), 'a|lib/a.dart': 'import "package:b/b.dart"', 'b|lib/b.dart': 'import "package:a/a.dart"', diff --git a/build_modules/test/meta_module_test.dart b/build_modules/test/meta_module_test.dart index 7af1b43b8..05343157c 100644 --- a/build_modules/test/meta_module_test.dart +++ b/build_modules/test/meta_module_test.dart @@ -19,10 +19,10 @@ void main() { InMemoryAssetReader reader; List makeAssets(Map assetDescriptors) { - reader = new InMemoryAssetReader(); - var assets = new Set(); + reader = InMemoryAssetReader(); + var assets = Set(); assetDescriptors.forEach((serializedId, content) { - var id = new AssetId.parse(serializedId); + var id = AssetId.parse(serializedId); reader.cacheStringAsset(id, content); assets.add(id); }); @@ -60,15 +60,15 @@ void main() { 'myapp|lib/src/d.dart': '', }); - var a = new AssetId('myapp', 'lib/a.dart'); - var b = new AssetId('myapp', 'lib/b.dart'); - var c = new AssetId('myapp', 'lib/src/c.dart'); - var d = new AssetId('myapp', 'lib/src/d.dart'); + var a = AssetId('myapp', 'lib/a.dart'); + var b = AssetId('myapp', 'lib/b.dart'); + var c = AssetId('myapp', 'lib/src/c.dart'); + var d = AssetId('myapp', 'lib/src/d.dart'); var expectedModules = [ - matchesModule(new Module(a, [a], [b, c])), - matchesModule(new Module(b, [b], [c])), - matchesModule(new Module(c, [c, d], [])), + matchesModule(Module(a, [a], [b, c])), + matchesModule(Module(b, [b], [c])), + matchesModule(Module(c, [c, d], [])), ]; var meta = await metaModuleFromSources(reader, assets); @@ -89,12 +89,12 @@ void main() { ''', }); - var a = new AssetId('myapp', 'lib/a.dart'); - var b = new AssetId('myapp', 'lib/b.dart'); - var c = new AssetId('myapp', 'lib/src/c.dart'); + var a = AssetId('myapp', 'lib/a.dart'); + var b = AssetId('myapp', 'lib/b.dart'); + var c = AssetId('myapp', 'lib/src/c.dart'); var expectedModules = [ - matchesModule(new Module(a, [a, b, c], [])) + matchesModule(Module(a, [a, b, c], [])) ]; var meta = await metaModuleFromSources(reader, assets); @@ -129,18 +129,18 @@ void main() { 'myapp|lib/src/g.dart': '', }); - var a = new AssetId('myapp', 'lib/a.dart'); - var b = new AssetId('myapp', 'lib/b.dart'); - var c = new AssetId('myapp', 'lib/src/c.dart'); - var d = new AssetId('myapp', 'lib/src/d.dart'); - var e = new AssetId('myapp', 'lib/src/e.dart'); - var g = new AssetId('myapp', 'lib/src/g.dart'); - var f = new AssetId('myapp', 'lib/src/f.dart'); + var a = AssetId('myapp', 'lib/a.dart'); + var b = AssetId('myapp', 'lib/b.dart'); + var c = AssetId('myapp', 'lib/src/c.dart'); + var d = AssetId('myapp', 'lib/src/d.dart'); + var e = AssetId('myapp', 'lib/src/e.dart'); + var g = AssetId('myapp', 'lib/src/g.dart'); + var f = AssetId('myapp', 'lib/src/f.dart'); var expectedModules = [ - matchesModule(new Module(a, [a, c], [g, e])), - matchesModule(new Module(b, [b, d], [c, e, g])), - matchesModule(new Module(e, [e, g, f], [])), + matchesModule(Module(a, [a, c], [g, e])), + matchesModule(Module(b, [b, d], [c, e, g])), + matchesModule(Module(e, [e, g, f], [])), ]; var meta = await metaModuleFromSources(reader, assets); @@ -154,11 +154,11 @@ void main() { ''', }); - var a = new AssetId('myapp', 'lib/a.dart'); - var b = new AssetId('b', 'lib/b.dart'); + var a = AssetId('myapp', 'lib/a.dart'); + var b = AssetId('b', 'lib/b.dart'); var expectedModules = [ - matchesModule(new Module(a, [ + matchesModule(Module(a, [ a, ], [ b @@ -184,14 +184,14 @@ void main() { 'myapp|lib/src/d.dart': '', }); - var a = new AssetId('myapp', 'lib/a.dart'); - var b = new AssetId('myapp', 'lib/b.dart'); - var c = new AssetId('myapp', 'lib/src/c.dart'); - var d = new AssetId('myapp', 'lib/src/d.dart'); + var a = AssetId('myapp', 'lib/a.dart'); + var b = AssetId('myapp', 'lib/b.dart'); + var c = AssetId('myapp', 'lib/src/c.dart'); + var d = AssetId('myapp', 'lib/src/d.dart'); var expectedModules = [ - matchesModule(new Module(a, [a, c, d], [b])), - matchesModule(new Module(b, [b], [])), + matchesModule(Module(a, [a, c, d], [b])), + matchesModule(Module(b, [b], [])), ]; var meta = await metaModuleFromSources(reader, assets); @@ -223,20 +223,20 @@ void main() { ''', }); - var a = new AssetId('myapp', 'lib/a.dart'); - var b = new AssetId('myapp', 'lib/b.dart'); - var c = new AssetId('myapp', 'lib/c.dart'); - var d = new AssetId('myapp', 'lib/src/d.dart'); - var e = new AssetId('myapp', 'lib/src/e.dart'); - var f = new AssetId('myapp', 'lib/src/f.dart'); + var a = AssetId('myapp', 'lib/a.dart'); + var b = AssetId('myapp', 'lib/b.dart'); + var c = AssetId('myapp', 'lib/c.dart'); + var d = AssetId('myapp', 'lib/src/d.dart'); + var e = AssetId('myapp', 'lib/src/e.dart'); + var f = AssetId('myapp', 'lib/src/f.dart'); var expectedModules = [ - matchesModule(new Module(a, [a], [d, e, f])), - matchesModule(new Module(b, [b], [d, e])), - matchesModule(new Module(c, [c], [d, f])), - matchesModule(new Module(d, [d], [])), - matchesModule(new Module(e, [e], [d])), - matchesModule(new Module(f, [f], [d])), + matchesModule(Module(a, [a], [d, e, f])), + matchesModule(Module(b, [b], [d, e])), + matchesModule(Module(c, [c], [d, f])), + matchesModule(Module(d, [d], [])), + matchesModule(Module(e, [e], [d])), + matchesModule(Module(f, [f], [d])), ]; var meta = await metaModuleFromSources(reader, assets); @@ -259,12 +259,12 @@ void main() { ''', }); - var a = new AssetId('myapp', 'lib/a.dart'); - var ap = new AssetId('myapp', 'lib/a.part.dart'); - var sap = new AssetId('myapp', 'lib/src/a.part.dart'); + var a = AssetId('myapp', 'lib/a.dart'); + var ap = AssetId('myapp', 'lib/a.part.dart'); + var sap = AssetId('myapp', 'lib/src/a.part.dart'); var expectedModules = [ - matchesModule(new Module(a, [a, ap, sap], [])), + matchesModule(Module(a, [a, ap, sap], [])), ]; var meta = await metaModuleFromSources(reader, assets); @@ -286,15 +286,15 @@ void main() { ''', }); - var a = new AssetId('myapp', 'lib/a.dart'); - var sa = new AssetId('myapp', 'lib/src/a.dart'); - var b = new AssetId('myapp', 'lib/src/b.dart'); - var c = new AssetId('myapp', 'lib/src/c.dart'); + var a = AssetId('myapp', 'lib/a.dart'); + var sa = AssetId('myapp', 'lib/src/a.dart'); + var b = AssetId('myapp', 'lib/src/b.dart'); + var c = AssetId('myapp', 'lib/src/c.dart'); var expectedModules = [ - matchesModule(new Module(a, [a], [])), - matchesModule(new Module(b, [b, c], [])), - matchesModule(new Module(sa, [sa], [c])), + matchesModule(Module(a, [a], [])), + matchesModule(Module(b, [b, c], [])), + matchesModule(Module(sa, [sa], [c])), ]; var meta = await metaModuleFromSources(reader, assets); @@ -320,15 +320,15 @@ void main() { 'myapp|web/d.dart': '', }); - var a = new AssetId('myapp', 'web/a.dart'); - var b = new AssetId('myapp', 'web/b.dart'); - var c = new AssetId('myapp', 'web/c.dart'); - var d = new AssetId('myapp', 'web/d.dart'); + var a = AssetId('myapp', 'web/a.dart'); + var b = AssetId('myapp', 'web/b.dart'); + var c = AssetId('myapp', 'web/c.dart'); + var d = AssetId('myapp', 'web/d.dart'); var expectedModules = [ - matchesModule(new Module(a, [a], [b, c])), - matchesModule(new Module(b, [b], [c])), - matchesModule(new Module(c, [c, d], [])), + matchesModule(Module(a, [a], [b, c])), + matchesModule(Module(b, [b], [c])), + matchesModule(Module(c, [c, d], [])), ]; var meta = await metaModuleFromSources(reader, assets); @@ -360,16 +360,16 @@ void main() { void main() {} ''', }); - var a = new AssetId('myapp', 'web/a.dart'); - var b = new AssetId('myapp', 'web/b.dart'); - var c = new AssetId('myapp', 'web/c.dart'); - var d = new AssetId('myapp', 'web/d.dart'); - var e = new AssetId('myapp', 'web/e.dart'); + var a = AssetId('myapp', 'web/a.dart'); + var b = AssetId('myapp', 'web/b.dart'); + var c = AssetId('myapp', 'web/c.dart'); + var d = AssetId('myapp', 'web/d.dart'); + var e = AssetId('myapp', 'web/e.dart'); var expectedModules = [ - matchesModule(new Module(a, [a, b], [c])), - matchesModule(new Module(c, [c, d], [])), - matchesModule(new Module(e, [e], [d])), + matchesModule(Module(a, [a, b], [c])), + matchesModule(Module(c, [c, d], [])), + matchesModule(Module(e, [e], [d])), ]; var meta = await metaModuleFromSources(reader, assets); @@ -393,18 +393,18 @@ void main() { ''', }); - var a = new AssetId('myapp', 'web/a.dart'); - var b = new AssetId('myapp', 'web/b.dart'); - var b1 = new AssetId('myapp', 'web/b1.dart'); - var b2 = new AssetId('myapp', 'web/b2.dart'); - var b3 = new AssetId('myapp', 'web/b3.dart'); + var a = AssetId('myapp', 'web/a.dart'); + var b = AssetId('myapp', 'web/b.dart'); + var b1 = AssetId('myapp', 'web/b1.dart'); + var b2 = AssetId('myapp', 'web/b2.dart'); + var b3 = AssetId('myapp', 'web/b3.dart'); var expectedModules = [ - matchesModule(new Module(a, [a], [b, b1, b2, b3])), - matchesModule(new Module(b, [b], [])), - matchesModule(new Module(b1, [b1], [])), - matchesModule(new Module(b2, [b2], [])), - matchesModule(new Module(b3, [b3], [])), + matchesModule(Module(a, [a], [b, b1, b2, b3])), + matchesModule(Module(b, [b], [])), + matchesModule(Module(b1, [b1], [])), + matchesModule(Module(b2, [b2], [])), + matchesModule(Module(b3, [b3], [])), ]; var meta = await metaModuleFromSources(reader, assets); diff --git a/build_modules/test/module_builder_test.dart b/build_modules/test/module_builder_test.dart index 9112d8929..778c922ac 100644 --- a/build_modules/test/module_builder_test.dart +++ b/build_modules/test/module_builder_test.dart @@ -17,15 +17,15 @@ import 'matchers.dart'; main() { test('can serialize fine modules and only output for primary sources', () async { - var assetA = new AssetId('a', 'lib/a.dart'); - var assetB = new AssetId('a', 'lib/b.dart'); - var assetC = new AssetId('a', 'lib/c.dart'); - var assetD = new AssetId('a', 'lib/d.dart'); - var assetE = new AssetId('a', 'lib/e.dart'); - var moduleA = new Module(assetA, [assetA], []); - var moduleB = new Module(assetB, [assetB, assetC], []); - var moduleD = new Module(assetD, [assetD, assetE], []); - await testBuilder(new ModuleBuilder(), { + var assetA = AssetId('a', 'lib/a.dart'); + var assetB = AssetId('a', 'lib/b.dart'); + var assetC = AssetId('a', 'lib/c.dart'); + var assetD = AssetId('a', 'lib/d.dart'); + var assetE = AssetId('a', 'lib/e.dart'); + var moduleA = Module(assetA, [assetA], []); + var moduleB = Module(assetB, [assetB, assetC], []); + var moduleD = Module(assetD, [assetD, assetE], []); + await testBuilder(ModuleBuilder(), { 'a|lib/a.dart': '', 'a|lib/b.dart': 'part "c.dart";', 'a|lib/c.dart': 'part of "b.dart";', @@ -39,10 +39,10 @@ main() { }); test('can serialize course modules and only output for primary sources', () async { - var assetA = new AssetId('a', 'lib/a.dart'); - var moduleA = new Module(assetA, [assetA], []); - var meta = new MetaModule([moduleA]); - await testBuilder(new ModuleBuilder(), { + var assetA = AssetId('a', 'lib/a.dart'); + var moduleA = Module(assetA, [assetA], []); + var meta = MetaModule([moduleA]); + await testBuilder(ModuleBuilder(), { 'a|lib/$metaModuleCleanExtension': json.encode(meta), 'a|lib/a.dart': '', }, outputs: { @@ -52,12 +52,12 @@ main() { test('defaults to the fine strategy if the clean meta module is not found', () async { - var assetA = new AssetId('a', 'lib/a.dart'); - var assetB = new AssetId('a', 'lib/b.dart'); - var assetC = new AssetId('a', 'lib/c.dart'); - var moduleA = new Module(assetA, [assetA], []); - var moduleB = new Module(assetB, [assetB, assetC], []); - await testBuilder(new ModuleBuilder(), { + var assetA = AssetId('a', 'lib/a.dart'); + var assetB = AssetId('a', 'lib/b.dart'); + var assetC = AssetId('a', 'lib/c.dart'); + var moduleA = Module(assetA, [assetA], []); + var moduleB = Module(assetB, [assetB, assetC], []); + await testBuilder(ModuleBuilder(), { 'a|lib/a.dart': '', 'a|lib/b.dart': 'part "c.dart";', 'a|lib/c.dart': 'part of "b.dart";', diff --git a/build_modules/test/module_library_test.dart b/build_modules/test/module_library_test.dart index a9aa5bdef..e60a67694 100644 --- a/build_modules/test/module_library_test.dart +++ b/build_modules/test/module_library_test.dart @@ -35,7 +35,7 @@ void main() { "import 'package:dep/dep.dart';\n"); expect( library.deps, - new Set.of([ + Set.of([ makeAssetId('myapp|lib/b.dart'), makeAssetId('dep|lib/dep.dart') ])); @@ -48,7 +48,7 @@ void main() { "export 'package:dep/dep.dart';\n"); expect( library.deps, - new Set.of([ + Set.of([ makeAssetId('myapp|lib/b.dart'), makeAssetId('dep|lib/dep.dart') ])); @@ -85,7 +85,7 @@ void main() { "part 'package:dep/dep.dart';\n"); expect( library.parts, - new Set.of([ + Set.of([ makeAssetId('myapp|lib/b.dart'), makeAssetId('dep|lib/dep.dart') ])); @@ -99,7 +99,7 @@ void main() { " if (dart.library.html) 'for_web.dart'\n"); expect( library.deps, - new Set.of([ + Set.of([ makeAssetId('myapp|lib/default.dart'), makeAssetId('myapp|lib/for_vm.dart'), makeAssetId('myapp|lib/for_web.dart'), diff --git a/build_modules/test/modules_test.dart b/build_modules/test/modules_test.dart index 7893c7492..29b2d2b83 100644 --- a/build_modules/test/modules_test.dart +++ b/build_modules/test/modules_test.dart @@ -66,7 +66,7 @@ void main() { group('defineModule.sources', () { test('Finds the assets in a cycle', () { - var sources = new Module.forLibrary(libCycle).sources; + var sources = Module.forLibrary(libCycle).sources; expect( sources, unorderedEquals( @@ -74,27 +74,26 @@ void main() { }); test('Finds a single asset with no cycle', () { - var sources = new Module.forLibrary(libNoCycle).sources; + var sources = Module.forLibrary(libNoCycle).sources; expect(sources, unorderedEquals([assetNoCycle])); }); test('Finds the assets in a cycle across packages', () { - var sources = new Module.forLibrary(libCycleWithB).sources; + var sources = Module.forLibrary(libCycleWithB).sources; expect(sources, unorderedEquals([assetCycleWithA, assetCycleWithB])); }); }); group('defineModule.directDependencies', () { test('Chooses primary from cycle for dependency', () { - var dependencies = new Module.forLibrary(libCycle).directDependencies; + var dependencies = Module.forLibrary(libCycle).directDependencies; expect(dependencies, unorderedEquals([assetCycleWithB])); }); test('Includes libraries that have names starting with "dart."', () { // https://github.com/dart-lang/sdk/issues/31045 // `library.isInSdk` is broken - we shouldn't use it - var dependencies = - new Module.forLibrary(libDepOnNonSdk).directDependencies; + var dependencies = Module.forLibrary(libDepOnNonSdk).directDependencies; expect(dependencies, unorderedEquals([assetNonSdk])); }); }); @@ -131,32 +130,32 @@ void main() { InMemoryAssetReader reader; setUp(() { - rootModule = new Module.forLibrary(libAImportsBNoCycle); - immediateDep = new Module.forLibrary(libBImportsANoCycle); - immediateDep2 = new Module.forLibrary(libBSecondImportsANoCycle); - transitiveDep = new Module.forLibrary(libNoCycle); - reader = new InMemoryAssetReader(); + rootModule = Module.forLibrary(libAImportsBNoCycle); + immediateDep = Module.forLibrary(libBImportsANoCycle); + immediateDep2 = Module.forLibrary(libBSecondImportsANoCycle); + transitiveDep = Module.forLibrary(libNoCycle); + reader = InMemoryAssetReader(); reader.cacheStringAsset( assetAImportsBNoCycle, - new File('test/fixtures/a/${assetAImportsBNoCycle.path}') + File('test/fixtures/a/${assetAImportsBNoCycle.path}') .readAsStringSync()); reader.cacheStringAsset( assetAPartLibraryName, - new File('test/fixtures/a/${assetAPartLibraryName.path}') + File('test/fixtures/a/${assetAPartLibraryName.path}') .readAsStringSync()); reader.cacheStringAsset( assetBImportsANoCycle, - new File('test/fixtures/b/${assetBImportsANoCycle.path}') + File('test/fixtures/b/${assetBImportsANoCycle.path}') .readAsStringSync()); reader.cacheStringAsset( assetBSecondImportsANoCycle, - new File('test/fixtures/b/${assetBSecondImportsANoCycle.path}') + File('test/fixtures/b/${assetBSecondImportsANoCycle.path}') .readAsStringSync()); reader.cacheStringAsset(assetCycle, - new File('test/fixtures/a/${assetCycle.path}').readAsStringSync()); + File('test/fixtures/a/${assetCycle.path}').readAsStringSync()); reader.cacheStringAsset( assetSecondaryInCycle, - new File('test/fixtures/a/${assetSecondaryInCycle.path}') + File('test/fixtures/a/${assetSecondaryInCycle.path}') .readAsStringSync()); }); @@ -192,7 +191,7 @@ void main() { json.encode(immediateDep.toJson())); expect( () => rootModule.computeTransitiveDependencies(reader), - allOf(throwsA(new TypeMatcher()), throwsA( + allOf(throwsA(TypeMatcher()), throwsA( predicate( (error) { printOnFailure(error.message); diff --git a/build_modules/test/summary_builder_test.dart b/build_modules/test/summary_builder_test.dart index 71711ca9d..823038972 100644 --- a/build_modules/test/summary_builder_test.dart +++ b/build_modules/test/summary_builder_test.dart @@ -32,45 +32,45 @@ main() { // Set up all the other required inputs for this test. await testBuilderAndCollectAssets(const ModuleLibraryBuilder(), assets); - await testBuilderAndCollectAssets(new MetaModuleBuilder(), assets); - await testBuilderAndCollectAssets(new MetaModuleCleanBuilder(), assets); - await testBuilderAndCollectAssets(new ModuleBuilder(), assets); + await testBuilderAndCollectAssets(MetaModuleBuilder(), assets); + await testBuilderAndCollectAssets(MetaModuleCleanBuilder(), assets); + await testBuilderAndCollectAssets(ModuleBuilder(), assets); }); test('can output unlinked analyzer summaries for modules under lib and web', () async { var expectedOutputs = { - 'b|lib/b.unlinked.sum': new HasUnlinkedUris(['package:b/b.dart']), - 'a|lib/a.unlinked.sum': new HasUnlinkedUris(['package:a/a.dart']), + 'b|lib/b.unlinked.sum': HasUnlinkedUris(['package:b/b.dart']), + 'a|lib/a.unlinked.sum': HasUnlinkedUris(['package:a/a.dart']), 'a|web/index.unlinked.sum': - new HasUnlinkedUris([endsWith('web/index.dart')]), + HasUnlinkedUris([endsWith('web/index.dart')]), }; - await testBuilder(new UnlinkedSummaryBuilder(), assets, + await testBuilder(UnlinkedSummaryBuilder(), assets, outputs: expectedOutputs); }); test('can output linked analyzer summaries for modules under lib and web', () async { // Build the unlinked summaries first. - await testBuilderAndCollectAssets(new UnlinkedSummaryBuilder(), assets); + await testBuilderAndCollectAssets(UnlinkedSummaryBuilder(), assets); // Actual test for LinkedSummaryBuilder; var expectedOutputs = { - 'b|lib/b.linked.sum': allOf(new HasLinkedUris(['package:b/b.dart']), - new HasUnlinkedUris(['package:b/b.dart'])), + 'b|lib/b.linked.sum': allOf(HasLinkedUris(['package:b/b.dart']), + HasUnlinkedUris(['package:b/b.dart'])), 'a|lib/a.linked.sum': allOf( - new HasLinkedUris( + HasLinkedUris( unorderedEquals(['package:b/b.dart', 'package:a/a.dart'])), - new HasUnlinkedUris(['package:a/a.dart'])), + HasUnlinkedUris(['package:a/a.dart'])), 'a|web/index.linked.sum': allOf( - new HasLinkedUris(unorderedEquals([ + HasLinkedUris(unorderedEquals([ 'package:b/b.dart', 'package:a/a.dart', endsWith('web/index.dart') ])), - new HasUnlinkedUris([endsWith('web/index.dart')])), + HasUnlinkedUris([endsWith('web/index.dart')])), }; - await testBuilder(new LinkedSummaryBuilder(), assets, + await testBuilder(LinkedSummaryBuilder(), assets, outputs: expectedOutputs); }); }); @@ -83,15 +83,15 @@ main() { }; // Set up all the other required inputs for this test. - await testBuilderAndCollectAssets(new ModuleBuilder(), assets); - await testBuilderAndCollectAssets(new UnlinkedSummaryBuilder(), assets); + await testBuilderAndCollectAssets(ModuleBuilder(), assets); + await testBuilderAndCollectAssets(UnlinkedSummaryBuilder(), assets); }); test('print an error if there are any missing transitive modules', () async { var expectedOutputs = {}; var logs = []; - await testBuilder(new LinkedSummaryBuilder(), assets, + await testBuilder(LinkedSummaryBuilder(), assets, outputs: expectedOutputs, onLog: logs.add); expect( logs, diff --git a/build_modules/test/util.dart b/build_modules/test/util.dart index abcf2ca9c..775d9008f 100644 --- a/build_modules/test/util.dart +++ b/build_modules/test/util.dart @@ -10,7 +10,7 @@ import 'package:build_test/build_test.dart'; /// Forwards to [testBuilder], and adds all output assets to [assets]. Future testBuilderAndCollectAssets( Builder builder, Map assets) async { - var writer = new InMemoryAssetWriter(); + var writer = InMemoryAssetWriter(); await testBuilder(builder, assets, writer: writer); writer.assets.forEach((id, value) { assets['${id.package}|${id.path}'] = value; diff --git a/build_resolvers/lib/src/resolver.dart b/build_resolvers/lib/src/resolver.dart index 9544611f2..93cdad475 100644 --- a/build_resolvers/lib/src/resolver.dart +++ b/build_resolvers/lib/src/resolver.dart @@ -29,8 +29,8 @@ class PerActionResolver implements ReleasableResolver { @override Stream get libraries async* { - final seen = new Set(); - final toVisit = new Queue(); + final seen = Set(); + final toVisit = Queue(); for (final entryPoint in _entryPoints) { if (!await _delegate.isLibrary(entryPoint)) continue; final library = await _delegate.libraryFor(entryPoint); @@ -81,7 +81,7 @@ class AnalyzerResolver implements ReleasableResolver { /// When actions can run out of order an asset can move from being readable /// (in the later phase) to being unreadable (in the earlier phase which ran /// later). If this happens we don't want to hide the asset from the analyzer. - final _seenAssets = new Set(); + final _seenAssets = Set(); AnalyzerResolver(DartUriResolver dartUriResolver, [AnalysisOptions analysisOptions]) { @@ -89,7 +89,7 @@ class AnalyzerResolver implements ReleasableResolver { _context.analysisOptions = analysisOptions; } _context.sourceFactory = - new SourceFactory([dartUriResolver, new _AssetUriResolver(this)]); + SourceFactory([dartUriResolver, _AssetUriResolver(this)]); } @override @@ -105,7 +105,7 @@ class AnalyzerResolver implements ReleasableResolver { Future libraryFor(AssetId assetId) async { var source = sources[assetId]; if (source == null || !_isLibrary(source)) { - throw new NonLibraryAssetException(assetId); + throw NonLibraryAssetException(assetId); } return _context.computeLibraryElement(source); } @@ -124,8 +124,8 @@ class AnalyzerResolver implements ReleasableResolver { BuildStep buildStep, List entryPoints) { // Basic approach is to start at the first file, update it's contents // and see if it changed, then walk all files accessed by it. - var visited = new Set(); - var visiting = new FutureGroup(); + var visited = Set(); + var visiting = FutureGroup(); var toUpdate = []; void processAsset(AssetId assetId) { @@ -135,11 +135,11 @@ class AnalyzerResolver implements ReleasableResolver { _seenAssets.add(assetId); var source = sources[assetId]; if (source == null) { - source = new AssetBasedSource(assetId); + source = AssetBasedSource(assetId); sources[assetId] = source; } source.updateDependencies(contents); - toUpdate.add(new _PendingUpdate(source, contents)); + toUpdate.add(_PendingUpdate(source, contents)); source.dependentAssets .where((id) => !visited.contains(id)) .forEach(processAsset); @@ -148,7 +148,7 @@ class AnalyzerResolver implements ReleasableResolver { if (source != null && source.exists() && !_seenAssets.contains(assetId)) { - _context.applyChanges(new ChangeSet()..removedSource(source)); + _context.applyChanges(ChangeSet()..removedSource(source)); sources[assetId].updateContents(null); } })); @@ -159,7 +159,7 @@ class AnalyzerResolver implements ReleasableResolver { // Once we have all asset sources updated with the new contents then // resolve everything. return visiting.future.then((_) async { - var changeSet = new ChangeSet(); + var changeSet = ChangeSet(); for (var pending in toUpdate) { pending.apply(changeSet); } @@ -173,14 +173,14 @@ class AnalyzerResolver implements ReleasableResolver { Stream get libraries { // We don't know what libraries to expose without leaking libraries written // by later phases. - throw new UnimplementedError(); + throw UnimplementedError(); } @override Future findLibraryByName(String libraryName) { // We don't know what libraries to expose without leaking libraries written // by later phases. - throw new UnimplementedError(); + throw UnimplementedError(); } } @@ -231,9 +231,9 @@ class AssetBasedSource extends Source { /// Contents of the file. @override TimestampedData get contents { - if (!exists()) throw new StateError('$assetId does not exist'); + if (!exists()) throw StateError('$assetId does not exist'); - return new TimestampedData(modificationStamp, _contents); + return TimestampedData(modificationStamp, _contents); } /// Contents of the file. @@ -293,7 +293,7 @@ class _AssetUriResolver implements UriResolver { AssetId assetId; if (uri.scheme == 'asset') { var parts = uri.pathSegments; - assetId = new AssetId(parts[0], path.joinAll(parts.skip(1))); + assetId = AssetId(parts[0], path.joinAll(parts.skip(1))); } else { assetId = _resolve(null, uri.toString()); if (assetId == null) { @@ -305,18 +305,18 @@ class _AssetUriResolver implements UriResolver { // Analyzer expects that sources which are referenced but do not exist yet // still exist, so just make an empty source. if (source == null) { - source = new AssetBasedSource(assetId); + source = AssetBasedSource(assetId); _resolver.sources[assetId] = source; } return source; } Source fromEncoding(UriKind kind, Uri uri) => - throw new UnsupportedError('fromEncoding is not supported'); + throw UnsupportedError('fromEncoding is not supported'); @override Uri restoreAbsolute(Source source) => - throw new UnsupportedError('restoreAbsolute is not supported'); + throw UnsupportedError('restoreAbsolute is not supported'); } /// Get an asset ID for a URL relative to another source asset. @@ -333,15 +333,15 @@ AssetId _resolve(AssetId source, String url) { } if (uri.scheme == 'package') { - var segments = new List.from(uri.pathSegments); + var segments = List.from(uri.pathSegments); var package = segments[0]; segments[0] = 'lib'; - return new AssetId(package, segments.join(path.separator)); + return AssetId(package, segments.join(path.separator)); } // Dart SDK libraries do not have assets. if (uri.scheme == 'dart') return null; - return new AssetId.resolve(url, from: source); + return AssetId.resolve(url, from: source); } /// A completer that waits until all added [Future]s complete. @@ -352,7 +352,7 @@ class FutureGroup { int _pending = 0; Future _failedTask; - final Completer> _completer = new Completer>(); + final Completer> _completer = Completer>(); final List results = []; /// The task that failed, if any. @@ -367,7 +367,7 @@ class FutureGroup { /// error has already been signaled. void add(Future task) { if (_failedTask != null) return; - if (_pending == _FINISHED) throw new StateError('Future already completed'); + if (_pending == _FINISHED) throw StateError('Future already completed'); _pending++; var i = results.length; @@ -427,17 +427,16 @@ class AnalyzerResolvers implements Resolvers { factory AnalyzerResolvers([AnalysisOptions analysisOptions]) { _initAnalysisEngine(); var resourceProvider = PhysicalResourceProvider.INSTANCE; - var sdk = new FolderBasedDartSdk( + var sdk = FolderBasedDartSdk( resourceProvider, resourceProvider.getFolder(cli_util.getSdkPath())); - var uriResolver = new DartUriResolver(sdk); - return new AnalyzerResolvers._( - new AnalyzerResolver(uriResolver, analysisOptions)); + var uriResolver = DartUriResolver(sdk); + return AnalyzerResolvers._(AnalyzerResolver(uriResolver, analysisOptions)); } @override Future get(BuildStep buildStep) => _resolver._performResolve(buildStep, [buildStep.inputId]).then( - (r) => new PerActionResolver(r, [buildStep.inputId])); + (r) => PerActionResolver(r, [buildStep.inputId])); /// Must be called between each build. @override diff --git a/build_resolvers/test/resolver_test.dart b/build_resolvers/test/resolver_test.dart index b275624db..55ce8cb80 100644 --- a/build_resolvers/test/resolver_test.dart +++ b/build_resolvers/test/resolver_test.dart @@ -11,7 +11,7 @@ import 'package:build_resolvers/build_resolvers.dart'; import 'package:build_resolvers/src/resolver.dart'; void main() { - final entryPoint = new AssetId('a', 'web/main.dart'); + final entryPoint = AssetId('a', 'web/main.dart'); group('Resolver', () { test('should handle initial files', () { @@ -20,7 +20,7 @@ void main() { }, (resolver) async { var lib = await resolver.libraryFor(entryPoint); expect(lib, isNotNull); - }, resolvers: new AnalyzerResolvers()); + }, resolvers: AnalyzerResolvers()); }); test('should follow imports', () { @@ -38,7 +38,7 @@ void main() { expect(lib.importedLibraries.length, 2); var libA = lib.importedLibraries.where((l) => l.name == 'a').single; expect(libA.getType('Foo'), isNull); - }, resolvers: new AnalyzerResolvers()); + }, resolvers: AnalyzerResolvers()); }); test('should follow package imports', () { @@ -56,7 +56,7 @@ void main() { expect(lib.importedLibraries.length, 2); var libB = lib.importedLibraries.where((l) => l.name == 'b').single; expect(libB.getType('Foo'), isNull); - }, resolvers: new AnalyzerResolvers()); + }, resolvers: AnalyzerResolvers()); }); test('handles missing files', () { @@ -69,7 +69,7 @@ void main() { }, (resolver) async { var lib = await resolver.libraryFor(entryPoint); expect(lib.importedLibraries.length, 2); - }, resolvers: new AnalyzerResolvers()); + }, resolvers: AnalyzerResolvers()); }); test('should list all libraries', () { @@ -95,7 +95,7 @@ void main() { 'a.c', 'a.d', ])); - }, resolvers: new AnalyzerResolvers()); + }, resolvers: AnalyzerResolvers()); }); test('should resolve types and library uris', () { @@ -123,7 +123,7 @@ void main() { var main = await resolver.findLibraryByName(''); expect(main, isNotNull); - }, resolvers: new AnalyzerResolvers()); + }, resolvers: AnalyzerResolvers()); }); test('does not resolve constants transitively', () { @@ -150,7 +150,7 @@ void main() { .metadata[0]; expect(meta, isNotNull); expect(meta.constantValue, isNull); - }, resolvers: new AnalyzerResolvers()); + }, resolvers: AnalyzerResolvers()); }); test('handles circular imports', () { @@ -168,7 +168,7 @@ void main() { var libs = await resolver.libraries.map((lib) => lib.name).toList(); expect(libs.contains('a'), isTrue); expect(libs.contains('b'), isTrue); - }, resolvers: new AnalyzerResolvers()); + }, resolvers: AnalyzerResolvers()); }); }); } diff --git a/build_runner/bin/build_runner.dart b/build_runner/bin/build_runner.dart index 336722cbf..23ba39f9f 100644 --- a/build_runner/bin/build_runner.dart +++ b/build_runner/bin/build_runner.dart @@ -22,8 +22,8 @@ Future main(List args) async { // Use the actual command runner to parse the args and immediately print the // usage information if there is no command provided or the help command was // explicitly invoked. - var commandRunner = new BuildCommandRunner([]) - ..addCommand(new _GenerateBuildScript()); + var commandRunner = BuildCommandRunner([]) + ..addCommand(_GenerateBuildScript()); ArgResults parsedArgs; try { @@ -57,16 +57,16 @@ Future main(List args) async { logListener = Logger.root.onRecord.listen(stdIOLogListener()); } var buildScript = await generateBuildScript(); - var scriptFile = new File(scriptLocation)..createSync(recursive: true); + var scriptFile = File(scriptLocation)..createSync(recursive: true); scriptFile.writeAsStringSync(buildScript); if (commandName == _generateCommand) { print(p.absolute(scriptLocation)); return; } - var exitPort = new ReceivePort(); - var errorPort = new ReceivePort(); - var messagePort = new ReceivePort(); + var exitPort = ReceivePort(); + var errorPort = ReceivePort(); + var messagePort = ReceivePort(); var errorListener = errorPort.listen((e) { stderr.writeln('\n\nYou have hit a bug in build_runner'); stderr.writeln('Please file an issue with reproduction steps at ' @@ -74,12 +74,12 @@ Future main(List args) async { final error = e[0]; final trace = e[1] as String; stderr.writeln(error); - stderr.writeln(new Trace.parse(trace).terse); + stderr.writeln(Trace.parse(trace).terse); if (exitCode == 0) exitCode = 1; }); try { await Isolate.spawnUri( - new Uri.file(p.absolute(scriptLocation)), args, messagePort.sendPort, + Uri.file(p.absolute(scriptLocation)), args, messagePort.sendPort, onExit: exitPort.sendPort, onError: errorPort.sendPort); } on IsolateSpawnException catch (e) { print(red.wrap('Failed to launch the build script. ' @@ -92,7 +92,7 @@ Future main(List args) async { StreamSubscription exitCodeListener; exitCodeListener = messagePort.listen((isolateExitCode) { if (isolateExitCode is! int) { - throw new StateError( + throw StateError( 'Bad response from isolate, expected an exit code but got ' '$isolateExitCode'); } diff --git a/build_runner/bin/graph_inspector.dart b/build_runner/bin/graph_inspector.dart index e98ea5e8f..6960c4609 100644 --- a/build_runner/bin/graph_inspector.dart +++ b/build_runner/bin/graph_inspector.dart @@ -23,32 +23,32 @@ Future main(List args) async { 'use at your own risk.'); if (args.length != 1) { - throw new ArgumentError( + throw ArgumentError( 'Expected exactly one argument, the path to a build script to ' 'analyze.'); } var scriptPath = args.first; - var scriptFile = new File(scriptPath); + var scriptFile = File(scriptPath); if (!scriptFile.existsSync()) { - throw new ArgumentError( + throw ArgumentError( 'Expected a build script at $scriptPath but didn\'t find one.'); } var assetGraphFile = - new File(assetGraphPathFor(p.url.joinAll(p.split(scriptPath)))); + File(assetGraphPathFor(p.url.joinAll(p.split(scriptPath)))); if (!assetGraphFile.existsSync()) { - throw new ArgumentError( + throw ArgumentError( 'Unable to find AssetGraph for $scriptPath at ${assetGraphFile.path}'); } stdout.writeln('Loading asset graph at ${assetGraphFile.path}...'); - assetGraph = new AssetGraph.deserialize(assetGraphFile.readAsBytesSync()); - packageGraph = new PackageGraph.forThisPackage(); + assetGraph = AssetGraph.deserialize(assetGraphFile.readAsBytesSync()); + packageGraph = PackageGraph.forThisPackage(); - var commandRunner = new CommandRunner( - '', 'A tool for inspecting the AssetGraph for your build') - ..addCommand(new InspectNodeCommand()) - ..addCommand(new GraphCommand()); + var commandRunner = + CommandRunner('', 'A tool for inspecting the AssetGraph for your build') + ..addCommand(InspectNodeCommand()) + ..addCommand(GraphCommand()); stdout.writeln('Ready, please type in a command:'); @@ -98,7 +98,7 @@ class InspectNodeCommand extends Command { continue; } - var description = new StringBuffer() + var description = StringBuffer() ..writeln('Asset: $stringUri') ..writeln(' type: ${node.runtimeType}'); @@ -176,7 +176,7 @@ class GraphCommand extends Command { var pattern = argResults['pattern'] as String; if (pattern != null) { - var glob = new Glob(pattern); + var glob = Glob(pattern); assets = assets.where((id) => glob.matches(id.path)); } @@ -189,10 +189,10 @@ class GraphCommand extends Command { AssetId _idFromString(String stringUri) { var uri = Uri.parse(stringUri); if (uri.scheme == 'package') { - return new AssetId(uri.pathSegments.first, + return AssetId(uri.pathSegments.first, p.url.join('lib', p.url.joinAll(uri.pathSegments.skip(1)))); } else if (!uri.isAbsolute && (uri.scheme == '' || uri.scheme == 'file')) { - return new AssetId(packageGraph.root.name, uri.path); + return AssetId(packageGraph.root.name, uri.path); } else { stderr.writeln('Unrecognized uri $uri, must be a package: uri or a ' 'relative path.'); diff --git a/build_runner/lib/src/build_script_generate/build_script_generate.dart b/build_runner/lib/src/build_script_generate/build_script_generate.dart index dbe72a6b1..c680ec42a 100644 --- a/build_runner/lib/src/build_script_generate/build_script_generate.dart +++ b/build_runner/lib/src/build_script_generate/build_script_generate.dart @@ -19,13 +19,13 @@ import 'builder_ordering.dart'; const scriptLocation = '$entryPointDir/build.dart'; Future generateBuildScript([String configKey]) => logTimedAsync( - new Logger('Entrypoint'), + Logger('Entrypoint'), 'Generating build script', () => _generateBuildScript(configKey)); Future _generateBuildScript(String configKey) async { final builders = await _findBuilderApplications(configKey); - final library = new Library((b) => b.body.addAll([ + final library = Library((b) => b.body.addAll([ literalList( builders, refer('BuilderApplication', @@ -34,8 +34,8 @@ Future _generateBuildScript(String configKey) async { .statement, _main() ])); - final emitter = new DartEmitter(new Allocator.simplePrefixing()); - return new DartFormatter().format('${library.accept(emitter)}'); + final emitter = DartEmitter(Allocator.simplePrefixing()); + return DartFormatter().format('${library.accept(emitter)}'); } /// Finds expressions to create all the `BuilderApplication` instances that @@ -45,7 +45,7 @@ Future _generateBuildScript(String configKey) async { /// which has a `build.yaml`. Future> _findBuilderApplications(String configKey) async { final builderApplications = []; - final packageGraph = new PackageGraph.forThisPackage(); + final packageGraph = PackageGraph.forThisPackage(); final orderedPackages = stronglyConnectedComponents( [packageGraph.root], (node) => node.name, (node) => node.dependencies) .expand((c) => c); @@ -60,7 +60,7 @@ Future> _findBuilderApplications(String configKey) async { package.name, package.dependencies.map((n) => n.name), package.path); } on ArgumentError catch (_) { // During the build an error will be logged. - return new BuildConfig.useDefault( + return BuildConfig.useDefault( package.name, package.dependencies.map((n) => n.name)); } } @@ -91,18 +91,18 @@ Future> _findBuilderApplications(String configKey) async { } /// A method forwarding to `run`. -Method _main() => new Method((b) => b +Method _main() => Method((b) => b ..name = 'main' ..modifier = MethodModifier.async - ..requiredParameters.add(new Parameter((b) => b + ..requiredParameters.add(Parameter((b) => b ..name = 'args' - ..type = new TypeReference((b) => b + ..type = TypeReference((b) => b ..symbol = 'List' ..types.add(refer('String'))))) - ..optionalParameters.add(new Parameter((b) => b + ..optionalParameters.add(Parameter((b) => b ..name = 'sendPort' ..type = refer('SendPort', 'dart:isolate'))) - ..body = new Block.of([ + ..body = Block.of([ refer('run', 'package:build_runner/build_runner.dart') .call([refer('args'), refer('_builders')]) .awaited @@ -229,7 +229,7 @@ Expression _findToExpression(BuilderDefinition definition) { case AutoApply.rootPackage: return refer('toRoot', 'package:build_runner/build_runner.dart').call([]); } - throw new ArgumentError('Unhandled AutoApply type: ${definition.autoApply}'); + throw ArgumentError('Unhandled AutoApply type: ${definition.autoApply}'); } /// An expression creating a [BuilderOptions] from a json string. diff --git a/build_runner/lib/src/build_script_generate/builder_ordering.dart b/build_runner/lib/src/build_script_generate/builder_ordering.dart index 96599f414..08768c410 100644 --- a/build_runner/lib/src/build_script_generate/builder_ordering.dart +++ b/build_runner/lib/src/build_script_generate/builder_ordering.dart @@ -20,7 +20,7 @@ Iterable findBuilderOrder( builders, (b) => b.key, dependencies); return components.map((component) { if (component.length > 1) { - throw new ArgumentError('Required input cycle for ${component.toList()}'); + throw ArgumentError('Required input cycle for ${component.toList()}'); } return component.single; }).toList(); diff --git a/build_runner/lib/src/entrypoint/base_command.dart b/build_runner/lib/src/entrypoint/base_command.dart index 9f5ea6dfa..0a1556b1d 100644 --- a/build_runner/lib/src/entrypoint/base_command.dart +++ b/build_runner/lib/src/entrypoint/base_command.dart @@ -10,7 +10,7 @@ import 'options.dart'; import 'runner.dart'; abstract class BuildRunnerCommand extends Command { - Logger get logger => new Logger(name); + Logger get logger => Logger(name); List get builderApplications => (runner as BuildCommandRunner).builderApplications; @@ -93,7 +93,7 @@ abstract class BuildRunnerCommand extends Command { /// You may override this to return more specific options if desired, but they /// must extend [SharedOptions]. SharedOptions readOptions() { - return new SharedOptions.fromParsedArgs( + return SharedOptions.fromParsedArgs( argResults, argResults.rest, packageGraph.root.name, this); } } diff --git a/build_runner/lib/src/entrypoint/clean.dart b/build_runner/lib/src/entrypoint/clean.dart index 270b7128d..437672900 100644 --- a/build_runner/lib/src/entrypoint/clean.dart +++ b/build_runner/lib/src/entrypoint/clean.dart @@ -22,7 +22,7 @@ class CleanCommand extends Command { 'Cleans up output from previous builds. Does not clean up --output ' 'directories.'; - Logger get logger => new Logger(name); + Logger get logger => Logger(name); @override Future run() async { @@ -36,15 +36,15 @@ class CleanCommand extends Command { 'to work around an apparent (and reproducible) bug.'); await logTimedAsync(logger, 'Cleaning up source outputs', () async { - var assetGraphFile = new File(assetGraphPath); + var assetGraphFile = File(assetGraphPath); if (!assetGraphFile.existsSync()) { logger.warning( 'No asset graph found, skipping generated to source file cleanup'); } else { var assetGraph = - new AssetGraph.deserialize(await assetGraphFile.readAsBytes()); - var packageGraph = new PackageGraph.forThisPackage(); - var writer = new FileBasedAssetWriter(packageGraph); + AssetGraph.deserialize(await assetGraphFile.readAsBytes()); + var packageGraph = PackageGraph.forThisPackage(); + var writer = FileBasedAssetWriter(packageGraph); for (var id in assetGraph.outputs) { if (id.package != packageGraph.root.name) continue; var node = assetGraph.get(id) as GeneratedAssetNode; @@ -60,7 +60,7 @@ class CleanCommand extends Command { }); await logTimedAsync(logger, 'Cleaning up cache directory', () async { - var generatedDir = new Directory(cacheDir); + var generatedDir = Directory(cacheDir); if (await generatedDir.exists()) { await generatedDir.delete(recursive: true); } diff --git a/build_runner/lib/src/entrypoint/options.dart b/build_runner/lib/src/entrypoint/options.dart index 155fbb5de..bcb10ae1c 100644 --- a/build_runner/lib/src/entrypoint/options.dart +++ b/build_runner/lib/src/entrypoint/options.dart @@ -102,14 +102,14 @@ class SharedOptions { for (var arg in positionalArgs) { var parts = p.split(arg); if (parts.length > 1) { - throw new UsageException( + throw UsageException( 'Only top level directories are allowed as positional args', command.usage); } buildDirs.add(arg); } - return new SharedOptions._( + return SharedOptions._( assumeTty: argResults[assumeTtyOption] as bool, deleteFilesByDefault: argResults[deleteFilesByDefaultOption] as bool, enableLowResourcesMode: argResults[lowResourcesModeOption] as bool, @@ -177,22 +177,22 @@ class ServeOptions extends SharedOptions { var parts = arg.split(':'); var path = parts.first; if (parts.length > 2) { - throw new UsageException( + throw UsageException( 'Invalid format for positional argument to serve `$arg`' ', expected :.', command.usage); } var port = parts.length == 2 ? int.tryParse(parts[1]) : nextDefaultPort++; if (port == null) { - throw new UsageException( + throw UsageException( 'Unable to parse port number in `$arg`', command.usage); } - serveTargets.add(new ServeTarget(path, port)); + serveTargets.add(ServeTarget(path, port)); } if (serveTargets.isEmpty) { for (var dir in _defaultWebDirs) { - if (new Directory(dir).existsSync()) { - serveTargets.add(new ServeTarget(dir, nextDefaultPort++)); + if (Directory(dir).existsSync()) { + serveTargets.add(ServeTarget(dir, nextDefaultPort++)); } } } @@ -201,7 +201,7 @@ class ServeOptions extends SharedOptions { var buildDirs = _buildDirsFromOutputMap(outputMap) ..addAll(serveTargets.map((t) => t.dir)); - return new ServeOptions._( + return ServeOptions._( hostName: argResults[hostnameOption] as String, liveReload: argResults[liveReloadOption] as bool, logRequests: argResults[logRequestsOption] as bool, @@ -244,7 +244,7 @@ Map> _parseBuilderConfigOverrides( final parts = define.split('='); const expectedFormat = '--define "=