-
Notifications
You must be signed in to change notification settings - Fork 127
Closed
Labels
P1A high priority bug; for example, a single project is unusable or has many test failuresA high priority bug; for example, a single project is unusable or has many test failurescustomer-google3Issues originating from or important to AngularIssues originating from or important to Angular
Description
Doing some testing for #1524 and noticed that angular_components now throws asserts in checked mode because of multiple public libraries having the same name.
generating docs for library angular_2 from angular_2.dart...
warning: no canonical library found for dart-html.Window, not linking, from dart-html.Window: (file:///usr/local/google/home/jcollins/dart/all_sdks/2.0.0-dev.4.0/lib/html/dart2js/html_dart2js.dart:36875:7)
warning: no canonical library found for injector.Injector, not linking, from injector.Injector: (file:///usr/local/google/home/jcollins/.pub-cache/hosted/pub.dartlang.org/angular-4.0.0/lib/src/di/injector/injector.dart:29:16)
warning: no canonical library found for dart-async.Future, not linking, from dart-async.Future: (file:///usr/local/google/home/jcollins/dart/all_sdks/2.0.0-dev.4.0/lib/async/future.dart:149:16)
generating docs for library angular_2 from angular_2.dart...
warning: no canonical library found for ng_zone.NgZone, not linking
from ng_zone.NgZone: (file:///usr/local/google/home/jcollins/.pub-cache/hosted/pub.dartlang.org/angular-4.0.0/lib/src/core/zone/ng_zone.dart:78:7)
referred to by angular_2.Angular2ManagedZone: (file:///usr/local/google/home/jcollins/dart/angular2_components/lib/utils/angular/managed_zone/angular_2.dart:14:7)
Generation failed: 'package:dartdoc/src/html/html_generator_instance.dart': Failed assertion: line 310 pos 12: '!_writtenFiles.contains(fullName)': is not true.
dart:core _AssertionError._throwNew
package:dartdoc/src/html/html_generator_instance.dart 310:12 HtmlGeneratorInstance._build
package:dartdoc/src/html/html_generator_instance.dart 200:5 HtmlGeneratorInstance.generateLibrary
package:dartdoc/src/html/html_generator_instance.dart 100:7 HtmlGeneratorInstance._generateDocs
package:dartdoc/src/html/html_generator_instance.dart 48:7 HtmlGeneratorInstance.generate
package:dartdoc/src/html/html_generator.dart 74:22 HtmlGenerator.generate
package:dartdoc/dartdoc.dart 187:23 DartDoc.generateDocs
../dartdoc/bin/dartdoc.dart 208:44 main.<fn>
package:stack_trace Chain.capture
../dartdoc/bin/dartdoc.dart 207:9 main
===== asynchronous gap ===========================
dart:async _Completer.completeError
package:dartdoc/src/html/html_generator_instance.dart 57:3 HtmlGeneratorInstance.generate
===== asynchronous gap ===========================
dart:async new Future.microtask
package:dartdoc/src/html/html_generator_instance.dart 44:27 HtmlGeneratorInstance.generate
package:dartdoc/src/html/html_generator.dart 74:22 HtmlGenerator.generate
package:dartdoc/dartdoc.dart 187:23 DartDoc.generateDocs
===== asynchronous gap ===========================
dart:async new Future.microtask
package:dartdoc/dartdoc.dart 128:47 DartDoc.generateDocs
../dartdoc/bin/dartdoc.dart 208:44 main.<fn>
===== asynchronous gap ===========================
dart:async new Future.microtask
../dartdoc/bin/dartdoc.dart 207:26 main.<fn>
package:stack_trace Chain.capture
../dartdoc/bin/dartdoc.dart 207:9 main
Process finished with exit code 255
Some examples of this:
- utils/browser/dom_service/angular_2.dart & utils/angular/managed_zone/angular_2.dart
- material_select/display_name.dart & model/ui/display_name.dart
- laminate/popup/module.dart & laminate/overlay/module.dart & theme/module.dart & laminate/ruler/module.dart & utils/browser/window/module.dart
The assert is not new, but while I was off on dart2now it had been a while since I had run angular2_components myself.
The consequence of this (assuming you're not in checked mode) is only one of the identically named libraries will show up in indexes and many links, with a lot of confusing internal linkage to and from elements in these libraries.
Proposed solution is to detect this situation and write libraries with name conflicts to different directories.
Metadata
Metadata
Assignees
Labels
P1A high priority bug; for example, a single project is unusable or has many test failuresA high priority bug; for example, a single project is unusable or has many test failurescustomer-google3Issues originating from or important to AngularIssues originating from or important to Angular