Skip to content
This repository has been archived by the owner on Jan 20, 2018. It is now read-only.

Commit

Permalink
add basic constructor that doesn't take BarbackSettings
Browse files Browse the repository at this point in the history
R=sigmund@google.com

Review URL: https://codereview.chromium.org//859043003
  • Loading branch information
jakemac53 committed Jan 20, 2015
1 parent 776e8d4 commit 9aae9e8
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 14 deletions.
25 changes: 14 additions & 11 deletions lib/transformer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,11 @@ import 'package:path/path.dart' as path;
/// Removes the mirror-based initialization logic and replaces it with static
/// logic.
class InitializeTransformer extends Transformer {
final BarbackSettings _settings;
final Resolvers _resolvers;
final String _entryPoint;
final String _newEntryPoint;

InitializeTransformer.asPlugin(this._settings)
InitializeTransformer(this._entryPoint, this._newEntryPoint)
: _resolvers = new Resolvers.fromMock({
// The list of types below is derived from:
// * types that are used internally by the resolver (see
Expand Down Expand Up @@ -58,11 +59,13 @@ class InitializeTransformer extends Transformer {
''',
});

String get _entryPoint => _settings.configuration['entryPoint'];
String get _newEntryPoint {
var val = _settings.configuration['newEntryPoint'];
if (val == null) val = _entryPoint.replaceFirst('.dart', '.bootstrap.dart');
return val;
factory InitializeTransformer.asPlugin(BarbackSettings settings) {
var entryPoint = settings.configuration['entryPoint'];
var newEntryPoint = settings.configuration['newEntryPoint'];
if (newEntryPoint == null) {
newEntryPoint = entryPoint.replaceFirst('.dart', '.bootstrap.dart');
}
return new InitializeTransformer(entryPoint, newEntryPoint);
}

bool isPrimary(AssetId id) => _entryPoint == id.path;
Expand Down Expand Up @@ -105,8 +108,8 @@ class _BootstrapFileBuilder {
_BootstrapFileBuilder(
this._resolver, this._transform, this._entryPoint, this._newEntryPoint) {
_logger = _transform.logger;
_initializeLibrary = _resolver
.getLibrary(new AssetId('initialize', 'lib/initialize.dart'));
_initializeLibrary =
_resolver.getLibrary(new AssetId('initialize', 'lib/initialize.dart'));
_initializer = _initializeLibrary.getType('Initializer');
}

Expand Down Expand Up @@ -183,8 +186,8 @@ class _BootstrapFileBuilder {
var libraryPrefixes = new Map<LibraryElement, String>();

// Import the static_loader and original entry point.
importsBuffer.writeln(
"import 'package:initialize/src/static_loader.dart';");
importsBuffer
.writeln("import 'package:initialize/src/static_loader.dart';");
_maybeWriteImport(entryLib, libraryPrefixes, importsBuffer);

initializersBuffer.writeln(' initializers.addAll([');
Expand Down
5 changes: 2 additions & 3 deletions test/transformer_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,14 @@
library initialize.transformer_test;

import 'common.dart';
import 'package:barback/barback.dart';
import 'package:initialize/transformer.dart';
import 'package:unittest/compact_vm_config.dart';

main() {
useCompactVMConfiguration();

var transformer = new InitializeTransformer.asPlugin(
new BarbackSettings({'entryPoint': 'web/index.dart'}, BarbackMode.DEBUG));
var transformer =
new InitializeTransformer('web/index.dart', 'web/index.bootstrap.dart');

testPhases('transformer', [[transformer]], {
'a|web/index.dart': '''
Expand Down

0 comments on commit 9aae9e8

Please sign in to comment.