// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. import 'package:build/build.dart'; /// Factory for the build script. Builder copyBuilder(_) => _CopyBuilder(); /// Copies the [_clientJsId] file to [_clientJsCopyId]. class _CopyBuilder extends Builder { @override Map> get buildExtensions => { _clientJsId.path: [_clientJsCopyId.path], }; @override void build(BuildStep buildStep) { if (buildStep.inputId != _clientJsId) { throw StateError( 'Unexpected input for `CopyBuilder` expected only $_clientJsId', ); } buildStep.writeAsString( _clientJsCopyId, buildStep.readAsString(_clientJsId), ); } } final _clientJsId = AssetId('dwds', 'web/client.dart.js'); final _clientJsCopyId = AssetId('dwds', 'lib/src/injected/client.js');