chore(build): execute pub get only if a pubspec.yaml changed and run dart analyzer on all dart files

`pub get` is now only executed when the `pubspec.yaml` in the `modules`
folder is different than the `pubspec.yaml` in the `build/dart` folder.

Generates the file `build/dart/_analyzer.dart` that imports all modules
to run `dart analyzer` against all of them. The build will fail whenever
there are errors, warnings or hints in `dart analyzer`.

Changes the sources so that `dart analyzer` does not report any
error, warning or hint.

Closes #40
This commit is contained in:
Tobias Bosch
2014-10-02 12:27:01 -07:00
parent 64fe73e20d
commit 33af1d0b39
22 changed files with 186 additions and 88 deletions

View File

@ -1,19 +1,19 @@
import {Type} from 'facade/lang';
import {ElementServicesFunction} from './facade';
// import {Type} from 'facade/lang';
// import {ElementServicesFunction} from './facade';
import {ABSTRACT} from 'facade/lang';
@ABSTRACT
@ABSTRACT()
export class Directive {
constructor({
selector,
lightDomServices,
implementsTypes
}:{
}/*:{
selector:String,
lightDomServices:ElementServicesFunction,
implementsTypes:Array<Type>
})
}*/)
{
this.lightDomServices = lightDomServices;
this.selector = selector;

View File

@ -1,3 +1,5 @@
library core.annotations.facade;
import 'package:di/di.dart' show Module;
import '../compiler/element_module.dart' show ElementModule;

View File

@ -1,4 +1,4 @@
import {Type, List} from 'facade/lang';
// import {Type, List} from 'facade/lang';
export class TemplateConfig {
constructor({
@ -6,11 +6,11 @@ export class TemplateConfig {
directives,
formatters,
source
}: {
}/*: {
url: String,
directives: List<Type>,
formatters: List<Type>,
source: List<TemplateConfig>
})
}*/)
{}
}

View File

@ -1,6 +1,6 @@
import {Future, Type} from 'facade/lang';
import {Element} from 'facade/dom';
import {ProtoView} from './view';
//import {ProtoView} from './view';
import {TemplateLoader} from './template_loader';
import {FIELD} from 'facade/lang';
@ -19,7 +19,7 @@ export class Compiler {
* - don't know about injector in deserialization
* - compile does not need the injector, only the ViewFactory does
*/
compile(component:Type, element:Element/* = null*/):Future<ProtoView> {
compile(component:Type, element:Element/* = null*/):Future/*<ProtoView>*/ {
return null;
}

View File

@ -1,11 +1,11 @@
import {Future} from 'facade/lang';
import {Document} from 'facade/dom';
//import {Document} from 'facade/dom';
export class TemplateLoader {
constructor() {}
load(url:String):Future<Document> {
load(url:String):Future/*<Document>*/ {
return null;
}
}

View File

@ -4,7 +4,10 @@ export class LifeCycle {
@FIELD('final _changeDetection:ChangeDetection')
@FIELD('final _onChangeDispatcher:OnChangeDispatcher')
constructor() {}
constructor() {
this._changeDetection = null;
this._onChangeDispatcher = null;
}
digest() {
_changeDetection.detectChanges();