blob: 93f9b9707431c46188129366b1ad7fc129a15fab [file] [log] [blame]
// 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<String, List<String>> 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');