dart-archive / bazel Goto Github PK
View Code? Open in Web Editor NEWBazel support for Dart projects [EXPERIMENTAL]
Home Page: https://pub.dartlang.org/packages/dazel
Bazel support for Dart projects [EXPERIMENTAL]
Home Page: https://pub.dartlang.org/packages/dazel
Something like:
load( "@io_bazel_rules_dart//dart/build_rules:pub.bzl", "pub_repositories", ) pub_repositories()
Blocked by dart-archive/rules_dart#74
My silly_monkey
package has this .packages
file
# Generated by pub on 2016-10-12 18:31:00.470898.
path:file:///Users/kevmoo/.pub-cache/hosted/pub.dartlang.org/path-1.4.0/lib/
silly_monkey:lib/
Noticed we create this entry in packages.bzl
– seems like this should just be a direct dependency thing – and not a local_repository ... thing
native.new_local_repository(
name = "silly_monkey",
path = "/Users/kevmoo/temp/silly_monkey",
build_file = ".bazelify/silly_monkey.BUILD",
)
An option to point repositories to pub instead of the local cache could make it so that it's easy to bazelify init
and then share the generated files.
We'll want to be careful in how this is presented and warn that thing might not be compatible across versions of rules_dart
Today all transitive dependencies attempt to compile all their sources with DDC. We need to separate things out so it only compiles the web-safe dependencies as a separate target.
This is particularly an issue for any package declaring a transformer.
Unlike the labels one I'm pretty confident I don't have permission for this one
https://help.github.com/articles/enabling-required-status-checks/
I have 3 entry points in web/
and bazelify
creates a rule for each. When I want to build or run I always get errors because of conflicting rules.
I removed the duplicate rules in BUILD
but now I get conflicts for rules of dependency packages.
/home/myuser/.cache/myuser/_bazel_myuser/d7cc63dbd0d8e0618a44683ac56d1bee/external/ng_bootstrap/BUILD:89:1: dart_web_application rule 'main' in package '' conflicts with existing dart_web_application rule.
ng_bootstrap
is a dependency and I don't care about it's entry points because its just the demo applications. Any hint how to work around? I'm just starting with bazel.
treat each html file under web as an entry point, query it for a script[type="application/dart"]
and use that as the entry point dart file.
We should use a hash or some technique to determine whether bazelify is the 'owner' of the BUILD file and keep it up to date as the package changes. Once the users makes their own change and invalidates it we can stop updating it with buildify.
See dart-archive/rules_dart#61 (comment)
Some package names might conflict if using this in a larger bazel workspace
We found a web project at web/index.html
generated a web target
Invoke it with bazel run XYZ
etc etc
Now that build.yaml
is used for more than just targets, we should allow omitting targets and falling back on the default behavior when the file isn't present.
There should be some advice in this package for how to structure the workspace (where to put packages, etc.) and a description of how the package: URI's are written and resolved.
Currently this is causing us to disable the sandbox for the DartPackagesDir and Dart2jsCompile actions.
if I run pub global activate bazel:
pub global activate bazel
Package bazel is currently active at version 0.1.0.
Resolving dependencies... (3.0s)
- args 0.13.6
- bazel 0.1.0
- charcode 1.1.0
- collection 1.9.1
- meta 1.0.4
- package_config 1.0.0
- path 1.4.0
- source_span 1.2.4
- stack_trace 1.6.8
- string_scanner 1.0.0
- when 0.2.0
- which 0.1.3
- yaml 2.1.12
Precompiling executables...
Loading source assets...
Precompiled bazel:bazelify.
Activated bazel 0.1.0.
Installed executable bazelify.
I can not run bazelify, because:
bazelify
Unhandled exception:
Bad state: Command not found: bazel
This happens on ubuntu 16.04.
A bazel workspace name must start with a letter but pub package names are allowed to start with an underscore. We should prefix package names for use as a remote repository name in bazel. Some options:
pkg_
dartlang_
pub_
From @zoechi on November 1, 2016 11:36
I tried DDC with bazelify
(master) $ bazelify serve
Building server via bazel...
WARNING: Sandboxed execution is not supported on your system and thus hermeticity of actions cannot be guaranteed. See http://bazel.io/docs/bazel-user-manual.html#sandboxing for more information. You can turn off this warning via --ignore_unsupported_sandboxing.
____Loading package:
____Loading...
____Found 1 target...
____Building...
____[3 / 10] Compiling @build//:build with ddc
ERROR: /home/zoechi/.cache/bazel/_bazel_zoechi/3e443aaa6a6cf1824cc4980f306f0a94/external/dart_style/BUILD:25:1: Summarizing Dart library @dart_style//:dart_style (strong mode) failed: Worker process sent response with exit code: 15..
FileSystemException(path=external/dart_style/lib/src/._error_listener.dart; message=Failed to decode data using encoding 'utf-8')
Before I run bazelify serve
I purged the ~/.pub-cache/hosted/pub.dartlang.org
directory and the .pub
directory and then run
pub upgrade
bazelify
(I had to change the BUILD
file a bit because I didn't have an web/index.html
but instead a web/dashboard_layout_demo.html
which was not properly recognized everywhere.)
I don't know where this file comes from. It's not in the dart_style
repo. Might have existed at the uploader of the dart_style
package, therefore the dart_style repo might be the right place to file the issue but perhaps DDC shouldn't fail at such a file anyway:
Dart VM version: 1.21.0-edge.a850b4c977a5b177abe17864006657111d835840 (Mon Oct 31 18:04:44 2016) on "linux_x64"
Copied from original issue: dart-lang/sdk#27713
users don't want to see stack traces :)
Today the build
command does its own thing (which is nicer imo), but other things use StepTimer
.
The main difference is that StepTimer
prints all times at the end instead of incrementally as you go, where the custom logic in the build
command prints the current time on the left whenever you log.
We should unify the logic and migrate build
to the StepTimer
.
We're just asking for confusion.
Better to throw a custom Error that we know how to handle at the root.
Most authors will likely leave this empty and use the target
as the library that has builder factories - though it's also possible to define the factories in bin/
and use a relative import, in this case we'd need to support srcs.
We could also consider the case where all code generation is defined in 'bin/' and we need to support both srcs
and deps
in place of target
Blocked on dart-archive/rules_dart#73
Tentative template:
# Dart SDK.
local_repository(
name = "io_bazel_rules_dart",
path = "{{PATH_TO_RULES_DART}}",
)
load(
"@io_bazel_rules_dart//dart/build_rules:repositories.bzl",
"dart_repositories",
)
dart_repositories()
# Pubspec converted to Bazel by Bazelify.
load("//:packages.bzl", "bazelify")
bazelify()
io_bazel_rules_dart
can be replaced with git+SSH in #2
After dart-archive/rules_dart#47, the server will support passing a --package-spec
option which it will use to resolve packages/
style paths. We will need to pass that arg as part of the dev_server rule though.
From @zoechi on October 31, 2016 20:55
(master) $ bazel build :dashboard_layout_demo
WARNING: Sandboxed execution is not supported on your system and thus hermeticity of actions cannot be guaranteed. See http://bazel.io/docs/bazel-user-manual.html#sandboxing for more information. You can turn off this warning via --ignore_unsupported_sandboxing.
INFO: Found 1 target...
ERROR: /home/zoechi/dart/bwu_ng_mdl/BUILD:31:1: Compiling with dart2js //:dashboard_layout_demo failed: process-wrapper failed: error executing command /home/zoechi/.cache/bazel/_bazel_zoechi/3e443aaa6a6cf1824cc4980f306f0a94/execroot/bwu_ng_mdl/_bin/process-wrapper -1 5 - - external/io_bazel_rules_dart/dart/build_rules/tools/dart2js_helper.sh ... (remaining 8 argument(s) skipped).
bazel-out/local-fastbuild/bin/dashboard_layout_demo.build/lib/demo/dashboard_layout/dashboard_layout_demo_app_component.dart:2:1:
Error: Library not found 'package:angular2_components/angular2_components.dart'.
import 'package:angular2_components/angular2_components.dart'
show materialInputDirectives;
bazel-out/local-fastbuild/bin/dashboard_layout_demo.build/lib/demo/dashboard_layout/dashboard_layout_demo_app_component.dart:3:10:
Hint: Library 'package:angular2_components/angular2_components.dart' doesn't export a 'materialInputDirectives' declaration.
Try removing 'materialInputDirectives' from the 'show' clause.
show materialInputDirectives;
^^^^^^^^^^^^^^^^^^^^^^^
bazel-out/local-fastbuild/bin/dashboard_layout_demo.build/lib/src/layout/drawer_button/drawer_button_component.dart:5:10:
Hint: Library 'package:angular2_components/angular2_components.dart' doesn't export a 'GlyphComponent' declaration.
Try removing 'GlyphComponent' from the 'show' clause.
show GlyphComponent;
^^^^^^^^^^^^^^
bazel-out/local-fastbuild/bin/dashboard_layout_demo.build/lib/src/layout/navigation_link/navigation_link_component.dart:5:10:
Hint: Library 'package:angular2_components/angular2_components.dart' doesn't export a 'GlyphComponent' declaration.
Try removing 'GlyphComponent' from the 'show' clause.
show GlyphComponent;
^^^^^^^^^^^^^^
bazel-out/local-fastbuild/bin/dashboard_layout_demo.build/web/dashboard_layout_demo.dart:
Warning:
****************************************************************
* WARNING: dart:mirrors support in dart2js is experimental,
* and not recommended.
* This implementation of mirrors is incomplete,
* and often greatly increases the size of the generated
* JavaScript code.
*
* Your app imports dart:mirrors via:
* dashboard_layout_demo.dart => package:angular2 => dart:mirrors
*
* You can disable this message by using the --enable-experimental-mirrors
* command-line flag.
*
* To learn what to do next, please visit:
* http://dartlang.org/dart2js-reflection
****************************************************************
bazel-out/local-fastbuild/bin/dashboard_layout_demo.build/lib/demo/dashboard_layout/dashboard_layout_demo_app_component.dart:28:7:
Error: Not a compile-time constant.
materialInputDirectives
^^^^^^^^^^^^^^^^^^^^^^^
bazel-out/local-fastbuild/bin/dashboard_layout_demo.build/lib/demo/dashboard_layout/dashboard_layout_demo_app_component.dart:28:7:
Error: Not a compile-time constant.
materialInputDirectives
^^^^^^^^^^^^^^^^^^^^^^^
bazel-out/local-fastbuild/bin/dashboard_layout_demo.build/lib/src/layout/drawer_button/drawer_button_component.dart:10:39:
Error: Not a compile-time constant.
directives: const <dynamic>[NgIf, GlyphComponent],
^^^^^^^^^^^^^^
bazel-out/local-fastbuild/bin/dashboard_layout_demo.build/lib/src/layout/drawer_button/drawer_button_component.dart:10:39:
Error: Not a compile-time constant.
directives: const <dynamic>[NgIf, GlyphComponent],
^^^^^^^^^^^^^^
bazel-out/local-fastbuild/bin/dashboard_layout_demo.build/lib/src/layout/navigation_link/navigation_link_component.dart:13:7:
Error: Not a compile-time constant.
GlyphComponent,
^^^^^^^^^^^^^^
bazel-out/local-fastbuild/bin/dashboard_layout_demo.build/lib/src/layout/navigation_link/navigation_link_component.dart:13:7:
Error: Not a compile-time constant.
GlyphComponent,
^^^^^^^^^^^^^^
bazel-out/local-fastbuild/bin/dashboard_layout_demo.build/lib/demo/dashboard_layout/dashboard_layout_demo_app_component.dart:28:7:
Error: Not a compile-time constant.
materialInputDirectives
^^^^^^^^^^^^^^^^^^^^^^^
bazel-out/local-fastbuild/bin/dashboard_layout_demo.build/lib/demo/dashboard_layout/dashboard_layout_demo_app_component.dart:28:7:
Error: Not a compile-time constant.
materialInputDirectives
^^^^^^^^^^^^^^^^^^^^^^^
bazel-out/local-fastbuild/bin/dashboard_layout_demo.build/lib/src/layout/drawer_button/drawer_button_component.dart:10:39:
Error: Not a compile-time constant.
directives: const <dynamic>[NgIf, GlyphComponent],
^^^^^^^^^^^^^^
bazel-out/local-fastbuild/bin/dashboard_layout_demo.build/lib/src/layout/drawer_button/drawer_button_component.dart:10:39:
Error: Not a compile-time constant.
directives: const <dynamic>[NgIf, GlyphComponent],
^^^^^^^^^^^^^^
bazel-out/local-fastbuild/bin/dashboard_layout_demo.build/lib/src/layout/navigation_link/navigation_link_component.dart:13:7:
Error: Not a compile-time constant.
GlyphComponent,
^^^^^^^^^^^^^^
bazel-out/local-fastbuild/bin/dashboard_layout_demo.build/lib/src/layout/navigation_link/navigation_link_component.dart:13:7:
Error: Not a compile-time constant.
GlyphComponent,
^^^^^^^^^^^^^^
Hint: 3 warning(s) suppressed in package:bwu_ng_mdl.
Hint: 4 hint(s) suppressed in package:angular2.
Error: Compilation failed.
Target //:dashboard_layout_demo failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 9.392s, Critical Path: 8.76s
pub build
output
(master) $ pub build
Loading source assets...
Loading angular2/transform/codegen, sass, test/pub_serve and dart_to_js_script_rewriter transformers...
Loading angular2 and angular2/transform/reflection_remover transformers... (4.8s)
Building bwu_ng_mdl... (14.0s)
[Info from Dart2JS]:
Compiling bwu_ng_mdl|web/dashboard_layout_demo.dart...
[Warning from Dart2JS]:
web/dashboard_layout_demo.dart:1:139:
Library 'package:angular2/platform/browser_static.dart' doesn't export a 'initReflector' declaration.
Try removing 'initReflector' from the 'show' clause.
import 'dashboard_layout_demo.template.dart' as ngStaticInit;import 'package:angular2/platform/browser_static.dart' show bootstrapStatic, initReflector;import 'dashboard_layout_demo.template.dart' as ngStaticInit;
^^^^^^^^^^^^^
[Warning from Dart2JS on bwu_ng_mdl|web/dashboard_layout_demo.dart]:
packages/angular2_components/src/utils/color/color.dart:102:3:
The class 'Color' overrides 'operator==', but not 'get hashCode'.
bool operator ==(other) => other is Color && other.rgbString == rgbString;
^^^^^^^^^^^^^^^^^^^^^^^
[Dart2JS on bwu_ng_mdl|web/dashboard_layout_demo.dart]:
View the dumped .info.json file at https://dart-lang.github.io/dump-info-visualizer
[Info from Dart2JS]:
Took 0:00:16.182980 to compile bwu_ng_mdl|web/dashboard_layout_demo.dart.
Built 1419 files to "build".
The The class 'Color' overrides 'operator==', but not 'get hashCode'.
error is already fixed in angular2_components
in master AFAIK.
Dart VM version: 1.21.0-edge.d62e41fcea8fee5aa69f0875eb4f151abfdcc74e (Mon Oct 31 09:15:30 2016) on "linux_x64"
Copied from original issue: dart-lang/sdk#27707
Not sure what I'm doing wrong. I have a simple project generated by stagehand web-simple
command. I've also run bazelify init
. And when I type bazel build :main_ddc_serve
I'm getting an error:
ERROR: no such target '//:main_ddc_serve': target 'main_ddc_serve' not declared in package '' defined by my_project/BUILD.
See
https://github.com/dart-lang/angular2/blob/4b220f0697f7f52378da3389e2a5a5515228b98a/.travis.yml#L7
and
https://github.com/dart-lang/angular2/blob/4b220f0697f7f52378da3389e2a5a5515228b98a/tool/travis.sh
Gives us some parallelization and will make it easier to find breaks to one part of this project.
$ bazel run :main_ddc_serve
So this prints out Server running on localhost:8080
Cool.
Go there. I see a list. Click on web
because – I guess?
Get a completely blank 404
with no instructions.
I want to pub global run bazel:bazelify
In Windows 10 from the command line executing pub global run bazel:bazelify
in a directory with a pubspec.yaml file produces this error:
Unsupported operation: Cannot extract a file path from a c URI dart:core _Uri.toFilePath package:bazel/src/bazelify/generate.dart 52 generate.<async> ===== asynchronous gap =========================== dart:async _Completer.completeError package:bazel/src/bazelify/generate.dart 90 generate.<async> ===== asynchronous gap =========================== dart:async _asyncThenWrapperHelper package:bazel/src/bazelify/generate.dart generate http://localhost:50704/bazelify.dart 26 main.<async>.<fn> package:stack_trace Chain.capture http://localhost:50704/bazelify.dart 26 main.<async> dart:async _SyncCompleter.complete package:bazel/src/bazelify/arguments.dart 142 BazelifyArguments.resolve.<async>
srawlins-macbookair:webbb-project srawlins$ pub global run bazel:bazelify -p /Users/srawlins/code/webbb-project
Generated pacakges.bzl, WORKSPACE, BUILD files for /Users/srawlins/code/webbb-project
srawlins-macbookair:webbb-project srawlins$ cat BUILD
# Automatically generated and left blank by Bazelifysrawlins-macbookair:webbb-project srawlins$
We prime the BuildAssetUriResolver
with the srcs
files so they can be read synchronously. Later when we write new assets the resolver doesn't know about them.
We need some hook to add additional (synchronous) assets available for reading.
I think this should work with a similar syntax to pub run
, where you specify the target using $package:$executable
. Only supporting things in bin
is fine for now I think.
.bazelify
bazel-*
dart_library
if we see a lib
directorydart_vm_binary
if we see a bin
directoryuse a sub-command
for web apps: run the watching server w/ the right args
for other apps ???
See if a user has one, add the entries, etc...
I have tested on both my program and the provided workspace folder.
Commands done:
> pub global activate bazel
> git clone https://github.com/dart-lang/bazel.git
> cd bazel/workspace
> bazel run :ng2_app_run_bin
I have the following error:
ERROR: /home/user/.cache/bazel/_bazel_user/4fd403a4d83afbd1de1a87a8a0a5f030/external/io_bazel_rules_dart/dart/build_rules/pub.bzl:36:18: Illegal argument in call to repository_rule: There is already a built-in attribute 'name' which cannot be overridden.
ERROR: com.google.devtools.build.lib.packages.BuildFileContainsErrorsException: error loading package '': Extension file 'dart/build_rules/pub.bzl' has errors.
> bazel version
Build label: 0.3.2-2016-10-29 (@5abb90d)
Build target: bazel-out/local-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Sat Oct 29 16:37:02 2016 (1477759022)
Build timestamp: 1477759022
Build timestamp as int: 1477759022
I tried to bazelify a small project (https://github.com/montyr75/tictactoe), but i always encounter the following error message:
> bazelify init
Error on line 198, column 1: Duplicate mapping key. environment: ^^^^^^^^^^^ package:yaml/src/loader.dart 160 Loader._loadMapping package:yaml/src/loader.dart 82 Loader._loadNode package:yaml/src/loader.dart 62 Loader._loadDocument package:yaml/src/loader.dart 54 Loader.load package:yaml/yaml.dart 51 loadYamlDocument package:yaml/yaml.dart 42 loadYamlNode package:yaml/yaml.dart 34 loadYaml package:bazel/src/bazelify/pubspec.dart 26 Pubspec.Pubspec.parse package:bazel/src/bazelify/pubspec.dart 18 Pubspec.fromPackageDir.<async> ===== asynchronous gap =========================== dart:async _Completer.completeError package:bazel/src/bazelify/pubspec.dart 23 Pubspec.fromPackageDir.<async> ===== asynchronous gap =========================== dart:async _asyncThenWrapperHelper package:bazel/src/bazelify/pubspec.dart Pubspec.fromPackageDir package:bazel/src/bazelify/build.dart 76 BuildFile.fromPackageDir.<async> ===== asynchronous gap =========================== dart:async Future.Future.microtask package:bazel/src/bazelify/build.dart BuildFile.fromPackageDir package:bazel/src/bazelify/initialize.dart 233 initalize.<async> ===== asynchronous gap =========================== dart:async _asyncThenWrapperHelper package:bazel/src/bazelify/initialize.dart initalize package:bazel/src/bazelify/initialize.dart 132 InitCommand.run.<async> ===== asynchronous gap =========================== dart:async _asyncThenWrapperHelper package:bazel/src/bazelify/initialize.dart InitCommand.run package:args/command_runner.dart 183 CommandRunner.runCommand.<fn> dart:async Future.Future.sync package:args/command_runner.dart 136 CommandRunner.runCommand package:args/command_runner.dart 105 CommandRunner.run.<fn> dart:async Future.Future.sync package:args/command_runner.dart 105 CommandRunner.run http://localhost:38484/bazelify.dart 12 main.<async>.<fn>.<async> ===== asynchronous gap =========================== package:stack_trace Chain.capture http://localhost:38484/bazelify.dart 11 main.<async>
Instead of a local repository.
Will likely be common...
FileSystemException: Cannot open file, path = '/Users/kevmoo/source/github/sample-pop_pop_win/BUILD' (OS Error: Is a directory, errno = 21)
dart:io _File.writeAsString
package:dazel/src/bazelify/initialize.dart 318 _Initialize._writeBuildFile.<async>
dart:async _SyncCompleter.complete
package:dazel/src/bazelify/build.dart 114 BuildFile.fromPackageDir.<async>
===== asynchronous gap ===========================
dart:async _asyncThenWrapperHelper
package:dazel/src/bazelify/initialize.dart _Initialize._writeBuildFile
package:dazel/src/bazelify/initialize.dart 232 _Initialize._writeBazelFiles.<async>
dart:async _SyncCompleter.complete
package:dazel/src/bazelify/initialize.dart 306 _Initialize._writeWorkspaceFile.<async>
===== asynchronous gap ===========================
dart:async _asyncThenWrapperHelper
package:dazel/src/bazelify/initialize.dart _Initialize._writeBazelFiles
package:dazel/src/bazelify/initialize.dart 206 _Initialize.run.<async>.<fn>
package:dazel/src/step_timer.dart 33 StepTimer.run.<async>
===== asynchronous gap ===========================
dart:async Future.Future.microtask
package:dazel/src/step_timer.dart StepTimer.run
package:dazel/src/bazelify/initialize.dart 205 _Initialize.run.<async>
dart:async _SyncCompleter.complete
package:dazel/src/step_timer.dart 33 StepTimer.run.<async>
dart:async _SyncCompleter.complete
package:dazel/src/bazelify/initialize.dart 226 _Initialize._createDazelDir.<async>
dart:async _SyncCompleter.complete
package:dazel/src/bazelify/initialize.dart 289 _Initialize._writePackageBuildFiles.<async>
===== asynchronous gap ===========================
dart:async _asyncThenWrapperHelper
package:dazel/src/bazelify/initialize.dart _Initialize.run
package:dazel/src/bazelify/initialize.dart 135 InitCommand.run.<async>
===== asynchronous gap ===========================
dart:async _asyncThenWrapperHelper
package:dazel/src/bazelify/initialize.dart InitCommand.run
package:args/command_runner.dart 194 CommandRunner.runCommand.<async>
===== asynchronous gap ===========================
dart:async Future.Future.microtask
package:args/command_runner.dart CommandRunner.runCommand
package:args/command_runner.dart 109 CommandRunner.run.<fn>
dart:async Future.Future.sync
package:args/command_runner.dart 109 CommandRunner.run
../../../.pub-cache/hosted/pub.dartlang.org/dazel-0.3.1/bin/dazel.dart 13 main.<async>.<fn>.<async>
===== asynchronous gap ===========================
package:stack_trace Chain.capture
../../../.pub-cache/hosted/pub.dartlang.org/dazel-0.3.1/bin/dazel.dart 12 main.<async>
Otherwise you easily get 20000+ analyzer issues as it recurses deep.
/cc @kevmoo - this can almost crash your system. Can analysis server team auto-exclude?
If you have an empty .analysis_options file in your project, running bazelify init
will crash.
$> bazelify init
Whoops! You may have discovered a bug in `bazelify` :(.
Please file an issue at http://github.com/dart-lang/bazel
The null object does not have a method '[]'.
NoSuchMethodError: method not found: '[]'
Receiver: null
Arguments: ["analyzer"]
dart:core Object.noSuchMethod
package:bazel/src/bazelify/initialize.dart 304 _Initialize._suggestAnalyzerExcludes.<async>
===== asynchronous gap ===========================
dart:async _Completer.completeError
package:bazel/src/bazelify/initialize.dart 322 _Initialize._suggestAnalyzerExcludes.<async>
===== asynchronous gap ===========================
dart:async _asyncThenWrapperHelper
package:bazel/src/bazelify/initialize.dart _Initialize._suggestAnalyzerExcludes
package:bazel/src/step_timer.dart 9 StepTimer.run.<async>
===== asynchronous gap ===========================
dart:async Future.Future.microtask
package:bazel/src/step_timer.dart StepTimer.run
package:bazel/src/bazelify/initialize.dart 203 _Initialize.run.<async>
dart:async _SyncCompleter.complete
package:bazel/src/step_timer.dart 9 StepTimer.run.<async>
dart:async _SyncCompleter.complete
package:bazel/src/bazelify/initialize.dart 227 _Initialize._writeBazelFiles.<async>
dart:async _SyncCompleter.complete
package:bazel/src/bazelify/initialize.dart 281 _Initialize._writeBuildFile.<async>
===== asynchronous gap ===========================
dart:async _asyncThenWrapperHelper
package:bazel/src/bazelify/initialize.dart _Initialize.run
package:bazel/src/bazelify/initialize.dart 134 InitCommand.run.<async>
===== asynchronous gap ===========================
dart:async _asyncThenWrapperHelper
package:bazel/src/bazelify/initialize.dart InitCommand.run
package:args/command_runner.dart 194 CommandRunner.runCommand.<async>
===== asynchronous gap ===========================
dart:async Future.Future.microtask
package:args/command_runner.dart CommandRunner.runCommand
package:args/command_runner.dart 109 CommandRunner.run.<fn>
dart:async Future.Future.sync
package:args/command_runner.dart 109 CommandRunner.run
http://localhost:55034/bazelify.dart 13 main.<async>.<fn>.<async>
===== asynchronous gap ===========================
package:stack_trace Chain.capture
http://localhost:55034/bazelify.dart 12 main.<async>
Steps to repro:
Dart VM version: 1.20.1 (Wed Oct 12 15:00:54 2016) on "macos_x64"
[~/temp/sample2] bazel build :main_ddc_serve
INFO: Found 1 target...
ERROR: /private/var/tmp/_bazel_devoncarew/d13dd93e2001c11e66546501f3bc5672/external/async/BUILD:14:1: Compiling @async//:async with ddc failed: dartdevc failed: error executing command external/dart_darwin_x86_64/dart-sdk/bin/dartdevc @bazel-out/local-fastbuild/bin/external/async/async_ddc_args: com.google.devtools.build.lib.shell.BadExitStatusException: Process exited with status 1.
[error] Invalid override. The type of 'DelegatingFuture.then' ('<S>((T) → S, {onError: Function}) → Future<S>') isn't a subtype of 'Future<T>.then' ('<S>((T) → dynamic, {onError: Function}) → Future<S>'). (package:async/src/delegate/future.dart, line 30, col 3)
[error] Invalid override. The type of 'TypeSafeFuture.then' ('<S>((T) → S, {onError: Function}) → Future<S>') isn't a subtype of 'Future<T>.then' ('<S>((T) → dynamic, {onError: Function}) → Future<S>'). (package:async/src/typed/future.dart, line 17, col 3)
Please fix all errors before compiling (warnings are okay).
Target //:main_ddc_serve failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 3.275s, Critical Path: 3.07s
Is it possible to create my own tasks for generated in addition for existent in bazel file? How to solve this issue?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.