Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(893)

Unified Diff: web_components/lib/transformer.dart

Issue 1400473008: Roll Observatory packages and add a roll script (Closed) Base URL: git@github.com:dart-lang/observatory_pub_packages.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « web_components/lib/src/static_initializer.dart ('k') | web_components/lib/web_components.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: web_components/lib/transformer.dart
diff --git a/web_components/lib/transformer.dart b/web_components/lib/transformer.dart
deleted file mode 100644
index fe0ca34a7c73f2a5f4de2bf7089fada5a1c37cfd..0000000000000000000000000000000000000000
--- a/web_components/lib/transformer.dart
+++ /dev/null
@@ -1,122 +0,0 @@
-// Copyright (c) 2015, 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.
-
-/// Transformer used for pub serve and pub build
-library web_components.transformer;
-
-import 'package:barback/barback.dart';
-
-export 'build/html_import_annotation_recorder.dart';
-import 'build/import_inliner.dart';
-export 'build/import_inliner.dart';
-import 'build/script_compactor.dart';
-export 'build/script_compactor.dart';
-import 'build/test_compatibility.dart';
-export 'build/test_compatibility.dart';
-import 'build/web_components.dart';
-export 'build/web_components.dart';
-
-/// The Web Components transformer group, which internally runs several phases
-/// that:
-/// * Extract inlined script tags into separate files.
-/// * Extract script tags from entry points and all html imports and add them
-/// as dart imports in a new *.bootstrap.dart file.
-/// * Run the `initialize` transformer.
-/// * Inlines @HtmlImport annotations as html imports into the entry point.
-/// * Inline imported html files and remove all but the main dart script tag.
-///
-/// At the end of these phases, this tranformer produces a single entrypoint
-/// HTML file with a single Dart script that can later be compiled with dart2js.
-class WebComponentsTransformerGroup implements TransformerGroup {
- final Iterable<Iterable> phases;
-
- WebComponentsTransformerGroup(TransformOptions options)
- : phases = createDeployPhases(options);
-
- WebComponentsTransformerGroup.asPlugin(BarbackSettings settings)
- : this(_parseSettings(settings));
-}
-
-/// Create deploy phases for web_components.
-List<List<Transformer>> createDeployPhases(TransformOptions options,
- {String sdkDir}) {
- var phases = [];
-
- /// Must happen first, temporarily rewrites <link rel="x-dart-test"> tags to
- /// <script type="application/dart" _was_test></script> tags.
- phases.add([new RewriteXDartTestToScript(options.entryPoints)]);
-
- // Must happen before the WebComponents transformer, grabs all dart scripts
- // and combines them into one bootstrap file.
- phases.add([new ScriptCompactorTransformer(options.entryPoints)]);
-
- // Runs the customized version of the `initialize` transformer and inlines
- // @HtmlImport annotations.
- phases.add([new WebComponentsTransformer(options)]);
-
- // Inlines all html imports and removes all dart script tags in the process.
- phases.add([new ImportInlinerTransformer(options.entryPoints)]);
-
- /// Must happen last, rewrites
- /// <script type="application/dart" _was_test></script> tags to
- /// <link rel="x-dart-test"> tags.
- phases.add([new RewriteScriptToXDartTest(options.entryPoints)]);
- return phases;
-}
-
-/// Options used by web_components transformers
-class TransformOptions {
- /// List of entrypoints paths. The paths are relative to the package root and
- /// are represented using posix style, which matches the representation used
- /// in asset ids in barback. If null, any html file under 'web/' or 'test/' is
- /// considered an entry point.
- final List<String> entryPoints;
-
- /// Current Barback mode.
- final bool releaseMode;
-
- TransformOptions(this.entryPoints, this.releaseMode);
-
- /// Whether an asset with [id] is an entry point HTML file.
- bool isHtmlEntryPoint(AssetId id) {
- if (id.extension != '.html') return false;
-
- // Note: [id.path] is a relative path from the root of a package.
- if (entryPoints == null) {
- return id.path.startsWith('web/') || id.path.startsWith('test/');
- }
-
- return entryPoints.contains(id.path);
- }
-}
-
-// Builds TransformOptions given some BarbackSettings
-TransformOptions _parseSettings(BarbackSettings settings) {
- var args = settings.configuration;
- bool releaseMode = settings.mode == BarbackMode.RELEASE;
- var entryPoints = readFileList(args['entry_points']);
- return new TransformOptions(entryPoints, releaseMode);
-}
-
-/// Reads a file list value from the [BarbackSettings]
-/// TODO(jakemac): This should also move to code_transformers.
-readFileList(value) {
- if (value == null) return null;
- var files = [];
- bool error;
- if (value is List) {
- files = value;
- error = value.any((e) => e is! String);
- } else if (value is String) {
- files = [value];
- error = false;
- } else {
- error = true;
- }
- if (error) {
- print('Bad value for "entry_points" in the web_components transformer. '
- 'Expected either one String or a list of Strings.');
- }
- return files;
-}
« no previous file with comments | « web_components/lib/src/static_initializer.dart ('k') | web_components/lib/web_components.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698