Giter Site home page Giter Site logo

pub's Introduction

Build Status

Pub is the package manager for Dart.

Contributing to pub

Thanks for being interested in contributing to pub! Contributing to a new project can be hard: there's a lot of new code and practices to learn. This document is intended to get you up and running as quickly as possible. For more information, see the pub tool documentation.

The first step towards contributing is to contact the pub dev team and let us know what you're working on, so we can be sure not to start working on the same thing at the same time. Open an issue letting us know that you're interested in contributing and what you plan on working on. This will also let us give you specific advice about where to start.

Organization

Pub isn't a package, but it's organized like one. It has four top-level directories:

  • lib/ contains the implementation of pub. Currently, it's all in lib/src/, since there are no libraries intended for public consumption.

  • test/ contains the tests for pub.

  • bin/ contains pub.dart, the entrypoint script that's run whenever a user types "pub" on the command line or runs it in the Dart editor. This is usually run through shell scripts in sdk/bin at the root of the Dart repository.

It's probably easiest to start diving into the codebase by looking at a particular pub command. Each command is encapsulated in files in lib/src/command/.

Running pub

To run pub from the Git repository, run:

dart bin/pub.dart

Testing pub

Before any change is made to pub, all tests should pass. To run a pub test, run:

dart tool/test.dart test/path/to_test.dart

To run all tests at once, run:

dart tool/test.dart

Changes to pub should be accompanied by one or more tests that exercise the new functionality. When adding a test, the best strategy is to find a similar test in test/ and follow the same patterns.

Pub tests come in two basic forms. The first, which is usually used to unit test classes and libraries internal to pub, has many tests in a single file. This is used when each test will take a short time to run. For example, test/version_test.dart contains unit tests for pub's Version class.

The other form, used by most pub tests, is usually used for integration tests of user-visible pub commands. Each test has a file to itself, which is named after the test description. This is used when tests can take a long time to run to avoid having the tests time out when running on the build bots. For example, tests/get/hosted/get_transitive_test.dart tests the resolution of transitive hosted dependencies when using dart pub get/flutter pub get.

Landing your patch

All patches to official Dart packages, including to pub, need to undergo code review before they're submitted. The full process for putting up your patch for review is documented elsewhere.

pub's People

Contributors

athomas avatar dependabot[bot] avatar devoncarew avatar dgrove avatar floitschg avatar gramster avatar iposva-google avatar jakemac53 avatar johnniwinther avatar jonasfj avatar kevmoo avatar lrhn avatar madsager avatar mit-mit avatar mkustermann avatar munificent avatar natebosch avatar nex3 avatar parlough avatar peter-ahe-google avatar ricowind avatar scheglov avatar sgjesse avatar sigmundch avatar sigurdm avatar simolus3 avatar szakarias avatar themisir avatar walnutdust avatar whesse avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pub's Issues

pub test failure on 'banana'

Originally opened as dart-lang/sdk#2729

This issue was originally filed by [email protected]


I'm seeing a pub test failure about banana:

dart$ tools/test.py -mrelease
Test configuration: none_vm_release_ia32
[00:06 | 3% | + 149 | - 0]
FAILED: none-vm release_ia32 pub/pub_tests
Expected: pass
Actual: fail

stderr:
Unhandled exception:
Expect.fail('Output line 1 was: banana
expected: apple')
 0. Function: 'Expect._fail@127eafe4' url: 'bootstrap' line:1514 col:5
 1. Function: 'Expect.fail' url: 'bootstrap' line:1301 col:10
 2. Function: '::_validateOutput@e8053a5' url: 'file:///usr/local/google/home/mattsh/dart-code1/dart/utils/tests/pub/test_pub.dart' line:116 col:18
 3. Function: '::function' url: 'file:///usr/local/google/home/mattsh/dart-code1/dart/utils/tests/pub/test_pub.dart' line:60 col:22
 4. Function: 'FutureImpl._complete@924b4b8' url: 'bootstrap_impl' line:3086 col:17
 5. Function: 'FutureImpl._setValue@924b4b8' url: 'bootstrap_impl' line:3100 col:14
 6. Function: 'CompleterImpl.complete' url: 'bootstrap_impl' line:3169 col:26
 7. Function: 'FutureImpl.function' url: 'bootstrap_impl' line:3152 col:44
 8. Function: 'FutureImpl._complete@924b4b8' url: 'bootstrap_impl' line:3086 col:17
 9. Function: 'FutureImpl._setValue@924b4b8' url: 'bootstrap_impl' line:3100 col:14
 10. Function: 'CompleterImpl.complete' url: 'bootstrap_impl' line:3169 col:26
 11. Function: '::checkComplete' url: 'file:///usr/local/google/home/mattsh/dart-code1/dart/utils/pub/io.dart' line:179 col:23
 12. Function: '::function' url: 'file:///usr/local/google/home/mattsh/dart-code1/dart/utils/pub/io.dart' line:193 col:18
 13. Function: '[email protected]' url: 'dart:io' line:6849 col:18
 14. Function: '[email protected]' url: 'dart:io' line:6855 col:53
 15. Function: '_SocketBase@14117cc4._multiplex@14117cc4' url: 'dart:io' line:7301 col:25
 16. Function: '[email protected]' url: 'dart:io' line:7414 col:59
 17. Function: '_ReceivePortImpl@6be832b._handleMessage@6be832b' url: 'dart:isolate' line:288 col:22

Pub: Spawning isolate it transformer not possible

<img src="https://avatars.githubusercontent.com/u/648527?v=3" align="left" width="96" height="96"hspace="10"> Issue by Fox32
Originally opened as dart-lang/sdk#23105


What steps will reproduce the problem?

  1. Create an own pub transformer
  2. Spawn a isolate using Isolate.spawn in Transformer.apply

What is the expected output? What do you see instead?

I would like to spawn a new isolate but instead I get the following exception:

in ShutdownIsolate: Unhandled exception:
Uncaught Error: IsolateSpawnException: Unhandled exception:
Uncaught Error: Load Error: FileSystemException: Cannot open file, path = 'C:\Users\Oliver\AppData\Local\Temp\pub_2d41cbb2-dc5b-11e4-bec2-90e6ba20879e\runInIsolate.dart' (OS Error: Das System kann den angegebenen Pfad nicht finden., errno = 3)
Stack Trace:

­0 _asyncLoadErrorCallback (dart:_builtin:268)

­1 _asyncLoadError (dart:_builtin:287)

­2 _loadDataAsyncLoadPort.<anonymous closure> (dart:_builtin:304)

­3 _RootZone.runUnary (dart:async/zone.dart:1155)

­4 _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:494)

­5 _Future._propagateToListeners (dart:async/future_impl.dart:577)

­6 _Future._complete (dart:async/future_impl.dart:358)

­7 _cancelAndValue (dart:async/stream_pipe.dart:62)

­8 Stream.first.<anonymous closure> (dart:async/stream.dart:911)

­9 _RootZone.runUnaryGuarded (dart:async/zone.dart:1093)

­10 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:341)

­11 _BufferingStreamSubscription._add (dart:async/stream_impl.dart:270)

­12 _StreamController&&_SyncStreamControllerDispatch._sendData (dart:async/s

tream_controller.dart:698)

­13 _StreamController._add (dart:async/stream_controller.dart:570)

­14 _StreamController.add (dart:async/stream_controller.dart:516)

­15 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:142)

­0 _rootHandleUncaughtError.<anonymous closure> (dart:async/zone.dart:886)

­1 _asyncRunCallbackLoop (dart:async/schedule_microtask.dart:41)

­2 _asyncRunCallback (dart:async/schedule_microtask.dart:48)

­3 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:96)

­4 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:143)

Stack Trace:

­0 Isolate._spawnFunction (dart:isolate-patch/isolate_patch.dart:347)

­1 Isolate.spawn (dart:isolate-patch/isolate_patch.dart:277)

­2 ImageTransformer.apply.<apply_async_body> (package:image_transformer/image_transformer.dart:76:15)

­3 _RootZone.runUnary (dart:async/zone.dart:1155)

­4 _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:494)

­5 _Future._propagateToListeners (dart:async/future_impl.dart:577)

­6 _Future._completeWithValue (dart:async/future_impl.dart:368)

­7 _Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:422)

­8 _asyncRunCallbackLoop (dart:async/schedule_microtask.dart:41)

­9 _asyncRunCallback (dart:async/schedule_microtask.dart:48)

­10 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:96)

­11 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:143)

­0 _rootHandleUncaughtError.<anonymous closure> (dart:async/zone.dart:886)

­1 _asyncRunCallbackLoop (dart:async/schedule_microtask.dart:41)

­2 _asyncRunCallback (dart:async/schedule_microtask.dart:48)

­3 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:96)

­4 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:143)

What version of the product are you using?
Dart Editor version 1.10.0.dev_00_01 (DEV)
Dart SDK version 1.10.0-dev.0.1

On what operating system?
Windows 8.1 64bit

Please provide any additional information below.

Sometimes it would be useful to spawn an additional isolate to do multiple computation heavy operations in parallel. I think this problem is known and currently by design, but it the future it would be a nice addition.
Maybe it would work if pub wouldn't delete the runInIsolate.dart file in the temp folder intermediately, but on exiting pub?

Adding a dependency override to a package with a binary borks pub run

<img src="https://avatars.githubusercontent.com/u/17034?v=3" align="left" width="96" height="96"hspace="10"> Issue by kevmoo
Originally opened as dart-lang/sdk#23113


  1. have a package dependency on a package with a binary (test)
  2. See that 'pub run test:test' works
  3. Add a dependency_override to test
  4. pub install/upgrade

Expected:
run 'test' from the override dir

Actual: 'test' still runs from the created cache

work-around: delete '.pub' from the project directory

Support comparing libraries/packages for type compatibility

<img src="https://avatars.githubusercontent.com/u/46275?v=3" align="left" width="96" height="96"hspace="10"> Issue by munificent
Originally opened as dart-lang/sdk#2828


One planned feature of pub is the ability to have it select an appropriate configuration-specific package based on the environment the app is running in. For example, there may be a single "unittest" package that has implementations for running on the standalone VM (just printing to stdout) and the browser (generating HTML).

For this to make sense, every implementation must expose the same (or a compatible) API. Since libraries aren't first class, the current plan is to basically duck type it: it's up to the package designer to ensure all of the implementations match.

It would be very handy if pub had a feature that would let you compare two libraries/packages and would determine if their public APIs are compatible with each other. This could also be useful for upgrading a package so you can see which API changes are breaking.

Pub upgrade failing often -- 1.9.3

Originally opened as dart-lang/sdk#23214

This issue was originally filed by [email protected]


What steps will reproduce the problem?

  1. Any pub upgrade on an existing project

Pub upgrade failed, [69] Resolving dependencies...
Got socket error trying to find package XXXXX at https://pub.dartlang.org.

The actual package in the error varies. The pub upgrade fails almost all the time, but not always. Having local path dependencies seems to make the chances of failure higher, and commenting them out temporarily can sometimes buy a successful upgrade (but only sometimes).

My projects have all "any" (plus some local) dependencies and were resolving before upgrading to 1.9.3 without any problems.

What version of the product are you using?
1.9.3 Dart Editor

On what operating system?
Win x64

pub package manager support for new project template

<img src="https://avatars.githubusercontent.com/u/406015?v=3" align="left" width="96" height="96"hspace="10"> Issue by dhconnelly
Originally opened as dart-lang/sdk#2432


Per the discussion of the Dart package manager, I'm requesting an additional "pub" command to create a new project with a standard layout and files.

Use:

pub new awesome_app

This will create a folder named "awesome_app" with:

  • a package description/dependencies file (correctly configured, so if a package needs to declare its own version in addition to declaring its dependencies, this is already filled-in);
  • a packages directory;
  • an awesome_app.dart program, or whatever;
  • etc.

Extensions:

Maybe supports "client", "server", "both" sub-commands so that these project types can be autogenerated appropriately (including io or html or json libraries, etc).

pub get fails from Dart Editor 1.10.0 on medium-size polymer project

Originally opened as dart-lang/sdk#23552

This issue was originally filed by [email protected]


What steps will reproduce the problem?

  1. Run pub-get on my project, either from within Dart Editor or from the command line
  2. "Resolving dependencies..." appears, with a timer
  3. pub-get pegs 100% CPU, consumes 0.6 Gb of RAM and does not complete, eventually has to be terminated (longest I let it run was about 6 minutes) and Dart Editor then reports pub-get failed

What is the expected output? What do you see instead?

Expected result is for pub-get to upgrade packages as per constraints in pubspec.yaml

What version of the product are you using?

1.10.0

On what operating system?

Linux/64

What browser (if applicable)?

N/A

Please provide any additional information below.

Project dependencies listed in pubspec.yaml:

  dart_config: any
  dbcrypt: any
  lawndart: any
  lzma: any
  mailer: any
  memcached_client: any
  paper_elements: any
  petitparser: any
  polymer: '>=0.16.0 <0.17.0'
  postgresql: any
  unittest: any

I know I can download the package I intend to upgrade manually from pub, so this isn't urgent for me. pub get has worked fine in the past on the same project - perhaps something changed in the back-end for 1.10.0?

"test"-transformer executed for dependencies.

<img src="https://avatars.githubusercontent.com/u/405837?v=3" align="left" width="96" height="96"hspace="10"> Issue by zoechi
Originally opened as dart-lang/sdk#23480


I have a package bwu_fontawesome_iconset_svg which has the new "test" package as dev-dependency and this transformer configuration

transformers:

  • polymer:
        entry_points:
        - example/example01.html
        - example/example02.html
        - example/example03.html
        - test/all_icons_test.html
        - test/simple_test.html
  • test/pub_serve:
        $include: test/**_test{.*,}.dart

(full source at https://github.com/bwu-dart/bwu_fontawesome_iconset_svg/blob/v0.1.3/pubspec.yaml)

When I create a new Dart project that used this package as dependency I get an error when I run pub upgrade

Resolving dependencies... (6.6s)

  • analyzer 0.25.0+1
  • args 0.13.0
      ...
  • string_scanner 0.1.3+1
  • template_binding 0.14.0+2
  • test 0.12.1
  • utf 0.9.0+2
  • watcher 0.9.5
  • web_components 0.11.4+1
  • when 0.2.0
  • which 0.1.3
  • yaml 2.1.2
    Changed 43 dependencies!
    Precompiling dependencies...
    Loading source assets...
    Error on line 1, column 1 of https://pub.dartlang.org/api/packages/bwu_fontawesome_iconset_svg: Error loading transformer "test/pub_serve": package "test" is not a dependency.

I moved the "test" package from "dev_dependencies" to "dependencies" but this is of course not ideal.

Maybe related to http://dartbug.com/22629
See also dart-lang/test#114

room for optimization?

This seems to use brute-force to check all versions against a constraint. If a version doesn't match the lower bound all smaller versions could be skipped at once, and if it's only to make the log output more readable.

 select polymer_expressions 0.13.1 from hosted
 version 0.9.1 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.9.0 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.8.8 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.8.7 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.7.5 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.7.4 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.7.3 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.7.2 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.7.1 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.7.0 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.6.10 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.6.9+2 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.6.9 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.6.8 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.6.6 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.6.5 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.6.3+1 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.6.2 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.6.1 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.5.20 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.5.17 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.5.16 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.5.15 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.5.14+3 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.5.14+1 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.5.13 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.5.12 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.5.11+1 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.5.9 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.5.7 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.5.6 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.5.5 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.5.4 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.5.1 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.5.0+1 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.4.7+1 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.4.5+1 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.4.4+4 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.4.3+1 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.4.2 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.4.1 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.4.0 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.3.7+6 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.3.5+1 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.3.4 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.3.2 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.3.1+1 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.2.9+7 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.2.8+2 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
   bwu_utils_dev 0.1.0-dev.2 from hosted -> webdriver >=0.10.0-pre.8 <0.11.0 from hosted (webdriver)
 version 0.2.7 of webdriver doesn't match >=0.10.0-pre.8 <0.11.0:
ddddd

write a .packages when globally installing a package

<img src="https://avatars.githubusercontent.com/u/5479?v=3" align="left" width="96" height="96"hspace="10"> Issue by sethladd
Originally opened as dart-lang/sdk#23453


In order to properly find dependencies, and thus their resources, please write a .packages file during pub global activate, for the command, so that when the command starts, the runtime (VM) is able to use the .packages file to file package: URIs at runtime.

(perhaps put the .packages file next to the snapshot?)

Thanks!

The new web project can not run .

Originally opened as dart-lang/sdk#23496

This issue was originally filed by [email protected]


What steps will reproduce the problem?
1.Create a new web project named demo;
2.Try to run , and it showed following error :

--- 21:51:49 Starting pub serve : demo ---
Your pubspec has changed, so we need to update your lockfile:
Resolving dependencies...

  • browser 0.10.0+2
    Cannot create link, path = 'E:\my_workplace\dart\demo\packages\browser' (OS Error: 函数不正确。
    , errno = 1);

the project can not run.
How can i do ?

What version of the product are you using?
Dart: 1.10.0

On what operating system?
windows 7

What browser (if applicable)?
chrome 39.0.2171.95 m

Please provide any additional information below.

I've removed my Gmail account by accident. Could I get uploader rights back?

Originally opened as dart-lang/sdk#23257

This issue was originally filed by [email protected]


I maintain "Dialog" package. But I closed my Gmail account by accident about 2 months ago and reinstalled my OS at the same time. However I forgot to change uploader rights to my project before closing it. Now I can not reopen it. I can just prove, that I am the maintainer of the GitHub repo, which is assigned to my package on Pub.

Could I ask, if there is any chance to change uploader rights for that package?

Pub allows leading zeros in versions, semantic versioning does not

<img src="https://avatars.githubusercontent.com/u/5475521?v=3" align="left" width="96" height="96"hspace="10"> Issue by ricowind
Originally opened as dart-lang/sdk#23425


Example:
browser_controller has version 0.00.2-dev

Semantic versioning says:
A normal version number MUST take the form X.Y.Z where X, Y, and Z are non-negative integers, and MUST NOT contain leading zeroes.

There is a discrepancy between the dart and python versions of pub.dartlang.org on how this is displayed and linked to (basically the python version will show 0.0.2, but link to 0.00.2, the dart version will show 0.00.2, but link to 0.0.2).

pub tells me that there is no `appengine` `0.3.0` but there is

I hope it's ok to create the issue here instead of http://dartbug.com?

dependencies:
  appengine: '>=0.3.0 <0.4.0'

or

dependencies:
  appengine: ^0.3.0
 (v1service_mock) $ pub upgrade
Resolving dependencies... (4.5s) 
Package appengine has no versions that match >=0.3.0 <0.4.0 derived from:
- bwu_datastore_connection depends on version >=0.3.0 <0.4.0

https://pub.dartlang.org/packages/appengine

when I change the constraint to ^0.2.0 I get

Package gcloud has no versions that match >=0.1.0 <0.2.0 derived from:
- appengine 0.2.2 depends on version >=0.1.0 <0.2.0

full pubspec.yaml

name: bwu_datastore_connection
version: 0.0.1
author: Günter Zöchbauer <[email protected]>
publish-to: none
environment:
  sdk: ">=1.8.0-dev.3.0 <2.0.0"

dependencies:
  appengine: '>=0.3.0 <0.4.0'
  fixnum: ^0.9.1
  googleapis_auth: ^0.2.3
  googleapis_beta: ^0.14.0
  http: ^0.11.0
  logging: ^0.11.0
  logging_handlers: ^0.8.0
  protobuf: ^0.3.6
  quiver_log: ^1.0.3
  shelf: ^0.6.0
  uuid: ^0.5.0

dev_dependencies:
  bwu_datastore_launcher:
    path: ../bwu_datastore_launcher
  bwu_utils_dev:
    path: ../bwu_utils_dev
  dart_style: ^0.1.8
  grinder: ^0.7.1+3
  linter: ^0.0.2+3
  test: ^0.12.2

pub get/upgrade/install should not create packages directories in sub-projects

<img src="https://avatars.githubusercontent.com/u/405837?v=3" align="left" width="96" height="96"hspace="10"> Issue by zoechi
Originally opened as dart-lang/sdk#23296


Normally pub upgrade (or get/install) creates packages only in a subset of the folders bin (only one or two levels deep AFAIR), test, example, web but for example not in lib, or build.
When I have a nested project for example in example, pub upgrade creates packages directory in every sub-directory of example, also for example in myprj/example/my_sub_prj/lib/src.

Pub can fail to load transformers necessary for local development

<img src="https://avatars.githubusercontent.com/u/188?v=3" align="left" width="96" height="96"hspace="10"> Issue by nex3
Originally opened as dart-lang/sdk#23084


If a package "foo" uses a transformer from package "bar" and restricts that transformer to only run on files in "test", "bar"'s transformer won't be loaded at all. This is due to a flaw in Pub's logic for determining necessary transformers: because "bar" only runs on non-public file and isn't from the root package, pub assumes that it's not necessary. Instead, pub should check whether it's used in the root package.

This is a serious issue for the test runner: it needs to expose a transformer for its users to use, but that transformer will only be run on tests.

pub build should support dart2js's --fatal-warnings flag

<img src="https://avatars.githubusercontent.com/u/224266?v=3" align="left" width="96" height="96"hspace="10"> Issue by johnmccutchan
Originally opened as dart-lang/sdk#23379


dart2js has this new flag:

--fatal-warnings

which will cause compilation to abort if there are any warnings.

pub build doesn't check the process exit code so it never realizes that dart2js failed.

If this worked, we could ensure that a bug in Observatory code triggers a build failure, catching our mistake earlier.

pub upgrade error

Originally opened as dart-lang/sdk#23064

This issue was originally filed by [email protected]


What steps will reproduce the problem?

  1. pub upgrade

What is the expected output? What do you see instead?

What version of the product are you using?
Dart 1.8.5

On what operating system?
Linux Mint 17

What browser (if applicable)?
n.a.

Please provide any additional information below.
Trace log in attachment.

pubspec.yaml:

name: 'TableTest'
version: 0.0.1
description: >
  A starter template for a polymer.dart web app.

author: <your name> <[email protected]>

homepage: https://www.example.com

environment:
  sdk: '>=1.0.0 <2.0.0'
dependencies:
  browser: any
  polymer: any
transformers:

  • polymer:
        entry_points: web/index.html

Attachment:
log.txt (23.84 KB)

pub list fails on windows

<img src="https://avatars.githubusercontent.com/u/5479?v=3" align="left" width="96" height="96"hspace="10"> Issue by sethladd
Originally opened as dart-lang/sdk#3383


$ pub list
NoSuchMethodException : method not found: 'listDir'
Receiver: Instance of 'SystemCache'
Arguments: [null]
Unhandled exception:
NullPointerException : method: 'handleException'
Receiver: null
Arguments: [Closure: <T>(Dynamic) => Dynamic]
 0. Function: 'Object.noSuchMethod' url: 'bootstrap' line:473 col:137
 1. Function: 'FutureImpl.function' url: 'bootstrap_impl' line:565 col:350
 2. Function: 'FutureImpl._complete@924b4b8' url: 'bootstrap_impl' line:556 col:
3
 3. Function: 'FutureImpl._setValue@924b4b8' url: 'bootstrap_impl' line:559 col:
22
 4. Function: 'CompleterImpl.complete' url: 'bootstrap_impl' line:571 col:46
 5. Function: 'FutureImpl.function' url: 'bootstrap_impl' line:563 col:114
 6. Function: 'FutureImpl._complete@924b4b8' url: 'bootstrap_impl' line:556 col:
3
 7. Function: 'FutureImpl._setValue@924b4b8' url: 'bootstrap_impl' line:559 col:
22
 8. Function: 'CompleterImpl.complete' url: 'bootstrap_impl' line:571 col:46
 9. Function: 'FutureImpl.function' url: 'bootstrap_impl' line:567 col:61
 10. Function: 'FutureImpl._complete@924b4b8' url: 'bootstrap_impl' line:556 col
:3
 11. Function: 'FutureImpl._setValue@924b4b8' url: 'bootstrap_impl' line:559 col
:22
 12. Function: 'CompleterImpl.complete' url: 'bootstrap_impl' line:571 col:46
 13. Function: 'FutureImpl.function' url: 'bootstrap_impl' line:563 col:114
 14. Function: 'FutureImpl._complete@924b4b8' url: 'bootstrap_impl' line:556 col
:3
 15. Function: 'FutureImpl._setValue@924b4b8' url: 'bootstrap_impl' line:559 col
:22
 16. Function: 'CompleterImpl.complete' url: 'bootstrap_impl' line:571 col:46
 17. Function: 'FutureImpl.function' url: 'bootstrap_impl' line:563 col:114
 18. Function: 'FutureImpl._complete@924b4b8' url: 'bootstrap_impl' line:556 col
:3
 19. Function: 'FutureImpl._setValue@924b4b8' url: 'bootstrap_impl' line:559 col
:22
 20. Function: 'CompleterImpl.complete' url: 'bootstrap_impl' line:571 col:46
 21. Function: '[email protected]' url: 'dart:io' line:224 col:48
 22. Function: '[email protected]' url: 'dart:io'
 line:866 col:125
 23. Function: '_Timer@14117cc4._handleTimeout@14117cc4' url: 'dart:io' line:116
4 col:66
 24. Function: '_Timer@14117cc4._handleTimeout@14117cc4' url: 'dart:io' line:116
4 col:182
 25. Function: '[email protected]' url: 'dart:io' line:1164 col:341
 26. Function: '_ReceivePortImpl@6be832b._handleMessage@6be832b' url: 'dart:isol
ate' line:19 col:46

pub upgrade hanging

<img src="https://avatars.githubusercontent.com/u/3227777?v=3" align="left" width="96" height="96"hspace="10"> Issue by rbishop-bah
Originally opened as dart-lang/sdk#23347


Build that was working until this morning now hanging on pub upgrade, presumably due to just-released polymer, web_components, smoke, observe, etc. packages.

pub upgrade --verbose shows the pub solver churning endlessly.

What version of the product are you using?
1.10.0

On what operating system?
Win 7 x64

pub: a pubspec file with only comments should not cause errors

<img src="https://avatars.githubusercontent.com/u/17034?v=3" align="left" width="96" height="96"hspace="10"> Issue by kevmoo
Originally opened as dart-lang/sdk#3483


What steps will reproduce the problem?

  1. Create dart project to import via pub
  2. Put in a pubspec with only comments
  3. Try 'pub install'
  4. Notice the error: 'The pubspec must be a YAML mapping.'

What is the expected output? What do you see instead?
Treat a null value from loadYaml as non-existant pubspec and ignore it

What version of the product are you using? On what operating system?
8370

pub list command failing with an exception

Originally opened as dart-lang/sdk#3325

This issue was originally filed by [email protected]


What steps will reproduce the problem?

  1. Run pub list command

What is the expected output? What do you see instead?
I would except to see the contents of repositories listed or at least an error message, instead I'm getting this:

NoSuchMethodException : method not found: 'listDir'
Receiver: Instance of 'SystemCache'
Arguments: [null]
Unhandled exception:
NullPointerException : method: 'handleException'
Receiver: null
Arguments: [Closure: <T>(Dynamic) => Dynamic]
 0. Function: 'Object.noSuchMethod' url: 'bootstrap' line:473 col:137
 1. Function: 'FutureImpl.function' url: 'bootstrap_impl' line:565 col:350
 2. Function: 'FutureImpl._complete@924b4b8' url: 'bootstrap_impl' line:556 col:3
 3. Function: 'FutureImpl._setValue@924b4b8' url: 'bootstrap_impl' line:559 col:22
 4. Function: 'CompleterImpl.complete' url: 'bootstrap_impl' line:571 col:46
 5. Function: 'FutureImpl.function' url: 'bootstrap_impl' line:563 col:114
 6. Function: 'FutureImpl._complete@924b4b8' url: 'bootstrap_impl' line:556 col:3
 7. Function: 'FutureImpl._setValue@924b4b8' url: 'bootstrap_impl' line:559 col:22
 8. Function: 'CompleterImpl.complete' url: 'bootstrap_impl' line:571 col:46
 9. Function: 'FutureImpl.function' url: 'bootstrap_impl' line:567 col:61
 10. Function: 'FutureImpl.then' url: 'bootstrap_impl' line:549 col:182
 11. Function: 'FutureImpl.function' url: 'bootstrap_impl' line:566 col:82
 12. Function: 'FutureImpl._complete@924b4b8' url: 'bootstrap_impl' line:556 col:3
 13. Function: 'FutureImpl._setValue@924b4b8' url: 'bootstrap_impl' line:559 col:22
 14. Function: 'CompleterImpl.complete' url: 'bootstrap_impl' line:571 col:46
 15. Function: 'FutureImpl.function' url: 'bootstrap_impl' line:563 col:114
 16. Function: 'FutureImpl._complete@924b4b8' url: 'bootstrap_impl' line:556 col:3
 17. Function: 'FutureImpl._setValue@924b4b8' url: 'bootstrap_impl' line:559 col:22
 18. Function: 'CompleterImpl.complete' url: 'bootstrap_impl' line:571 col:46
 19. Function: '[email protected]' url: 'dart:isolate' line:22 col:346
 20. Function: '_ReceivePortImpl@6be832b._handleMessage@6be832b' url: 'dart:isolate' line:19 col:46

What version of the product are you using? On what operating system?
Dart build 8124, Mac OS X 10.7.4

Please provide any additional information below.
There is not much documentation available on pub usage, but still I would at least except an error message when being used incorrectly, not an exception.

Pub tests failing on the VM

<img src="https://avatars.githubusercontent.com/u/2909286?v=3" align="left" width="96" height="96"hspace="10"> Issue by madsager
Originally opened as dart-lang/sdk#2740


In a full checkout the pub tests are failing on the VM.

I will work with Rico on making sure that the full set of tests are run on the buildbot.

./tools/test.py -mall pub

FAILED: none-vm debug_ia32 pub/pub_test
Expected: pass
Actual: fail

stderr:
Unhandled exception:
Expect.fail('Output line 2 was: cherry
expected: banana')
 0. Function: 'FutureImpl._complete@924b4b8' url: 'bootstrap_impl' line:3090 col:9
 1. Function: 'FutureImpl._setException@924b4b8' url: 'bootstrap_impl' line:3112 col:14
 2. Function: 'CompleterImpl.completeException' url: 'bootstrap_impl' line:3173 col:30
 3. Function: 'FutureImpl.function' url: 'bootstrap_impl' line:3145 col:36
 4. Function: 'FutureImpl._complete@924b4b8' url: 'bootstrap_impl' line:3086 col:17
 5. Function: 'FutureImpl._setValue@924b4b8' url: 'bootstrap_impl' line:3100 col:14
 6. Function: 'CompleterImpl.complete' url: 'bootstrap_impl' line:3169 col:26
 7. Function: 'FutureImpl.function' url: 'bootstrap_impl' line:3152 col:44
 8. Function: 'FutureImpl._complete@924b4b8' url: 'bootstrap_impl' line:3086 col:17
 9. Function: 'FutureImpl._setValue@924b4b8' url: 'bootstrap_impl' line:3100 col:14
 10. Function: 'CompleterImpl.complete' url: 'bootstrap_impl' line:3169 col:26
 11. Function: '::checkComplete' url: 'file:///home/ager/dart/dart/utils/pub/io.dart' line:275 col:23
 12. Function: '_StringInputStream@14117cc4._onClosed@14117cc4' url: 'dart:io' line:6302 col:26
 13. Function: '_SocketInputStream@14117cc4._onClosed@14117cc4' url: 'dart:io' line:7940 col:26
 14. Function: '_SocketBase@14117cc4._multiplex@14117cc4' url: 'dart:io' line:7310 col:25
 15. Function: '[email protected]' url: 'dart:io' line:7423 col:59
 16. Function: '_ReceivePortImpl@6be832b._handleMessage@6be832b' url: 'dart:isolate' line:288 col:22

Analysis server will not start at all

Originally opened as dart-lang/sdk#23559

This issue was originally filed by [email protected]


What steps will reproduce the problem?

  1. I do a cold reboot of my PC. The Analysis Server is always inactive. I cannot run the editor.

What is the expected output? What do you see instead?
If I do a pub upgrade, I get:
Pub upgrade failed, [253] Wrong script snapshot version, expected 'd4922cb239c676d9d6f97ef6347fc02b' found 'a10659e29cf9744e06a63bf183bc5c49'

What version of the product are you using? 1.10.0

On what operating system? Windows 7

What browser (if applicable)? Chrome/Dartium

Please provide any additional information below.
 

Pub fails: Package path has no versions that match <empty>

Originally opened as dart-lang/sdk#23485

This issue was originally filed by [email protected]


I'm trying to build a project that was already built successfully a year ago,
but today (with pub 1.10.0) pub get fails to resolve it's dependencies

To reproduce the problem, git clone this https://github.com/sethladd/tilebasedwordsearch project
and then run pub get in it.

It says the following:

Resolving dependencies... (27.0s)
Package path has no versions that match <empty> derived from:

  • analyzer 0.13.6 depends on version >=0.9.0 <2.0.0
  • barback 0.13.0 depends on version >=0.9.0 <2.0.0
  • google_oauth2_client 0.3.7 depends on version >=1.0.0 <1.2.0
  • http 0.9.2+3 depends on version >=0.9.0 <2.0.0
  • http_server 0.9.2 depends on version >=0.9.0 <2.0.0
  • polymer 0.10.0-pre.10 depends on version >=0.9.0 <2.0.0
  • source_span 1.1.2 depends on version >=1.2.0 <2.0.0
  • stack_trace 0.9.3+1 depends on version >=1.0.0-rc.1 <2.0.0
  • wordherd 0.3.0 depends on version any

I'm using dart sdk 1.10.0 on macosx

I know there is a bad style of pubspec.yaml where most of the packages marked as any instead of versions,
and i tried to put there a versions from pubspec.lock file, but without any success.
Errors in pub get are varying during version substitution, but result is the same.
Tracing it with pub get --verbose, i found the following line, not sure if it's ok:

SLVR: | | | | | | | | | | | no versions for path match <empty>

Starting from it, pub get tries to vary other packages versions, but still fails.

Pub Transformers running in parallel instead of in stages

<img src="https://avatars.githubusercontent.com/u/2130849?v=3" align="left" width="96" height="96"hspace="10"> Issue by kaendfinger
Originally opened as dart-lang/sdk#23323


What steps will reproduce the problem?

  1. Create a new package that uses 2 transformers
  2. Run transformers
  3. Notice that transformers run in parallel

What is the expected output? What do you see instead?

with the given transformer definitions:

transformers:

  • transformer_one
  • transformer_two

this should run the first transformer and then the second one.

What version of the product are you using?

Dart VM version: 1.11.0-edge.45391 (Thu Apr 23 17:40:55 2015) on "macos_x64"

On what operating system?

Mac OS X

What browser (if applicable)?

N/A

Please provide any additional information below.

According to https://www.dartlang.org/tools/pub/assets-and-transformers.html

To specify that transformers run in parallel, use [transformer_1, ..., transformer_n]. If order matters, put the transformers on separate lines.

For example, consider three transformers, specified as follows:

transformers:

  • [t1, t2]
  • t3

"pub build bin" broken

<img src="https://avatars.githubusercontent.com/u/405837?v=3" align="left" width="96" height="96"hspace="10"> Issue by zoechi
Originally opened as dart-lang/sdk#23495


pub build bin doesn't produce usable output. If it is invoked with a mode different from --mode=release it works.

See also

This way it's not possible to build a project consisting of client and server at once because web requires --mode=release and
when they are built separately the previous build is purged.

Native library support for Pub

Originally opened as dart-lang/sdk#3023

This issue was originally filed by [email protected]


Pub should define a layout convention for extensions with native library components (https://github.com/sam-mccall/dart-sqlite is a simple example).

Pub should be able to build the native components as part of installation, on systems with the appropriate toolchain available.

Pub should also be able to share the resulting platform-specific binary package, so that other users don't have to compile it.

pub install fails on windows

<img src="https://avatars.githubusercontent.com/u/5479?v=3" align="left" width="96" height="96"hspace="10"> Issue by sethladd
Originally opened as dart-lang/sdk#3382


$ pub install
Unhandled exception:
DirectoryIOException: Creation failed, path = f:/development/dart/projects/zartw
eb (OS Error: Cannot create a file when that file already exists.
, errno = 183)
 0. Function: 'FutureImpl._complete@924b4b8' url: 'bootstrap_impl' line:556 col:
54
 1. Function: 'FutureImpl._setException@924b4b8' url: 'bootstrap_impl' line:561
col:43
 2. Function: 'CompleterImpl.completeException' url: 'bootstrap_impl' line:572 c
ol:62
 3. Function: 'FutureImpl.function' url: 'bootstrap_impl' line:563 col:78
 4. Function: 'FutureImpl._complete@924b4b8' url: 'bootstrap_impl' line:556 col:
3
 5. Function: 'FutureImpl._setValue@924b4b8' url: 'bootstrap_impl' line:559 col:
22
 6. Function: 'CompleterImpl.complete' url: 'bootstrap_impl' line:571 col:46
 7. Function: '[email protected]' url: 'dart:isolate' line:22 col:3
46
 8. Function: '_ReceivePortImpl@6be832b._handleMessage@6be832b' url: 'dart:isola
te' line:19 col:46

Allow PUB (package manager) to be imported by other applications.

<img src="https://avatars.githubusercontent.com/u/713530?v=3" align="left" width="96" height="96"hspace="10"> Issue by chrisbu
Originally opened as dart-lang/sdk#2435


What steps will reproduce the problem?
Per the comment on Bob N's proposal document for pub, it would be able to "pub serve" files to dartium, which would allow translation of the url's through a "magic" function.

It would be useful for other applications to be able to #import pub itself and be able to call that magic function to translate any #import references on the fly (rather than having them served directly by pub).

Please provide any additional information below.

proposal document link:
https://docs.google.com/document/d/13y7yCwq9GtPChXtd6t0YMcUtMJLZq2IVwq546Dve_No/edit?disco=AAAAAEgzOT4

Pub: dependency on https://host/dir/ installs into the wrong directory

Originally opened as dart-lang/sdk#3493

This issue was originally filed by [email protected]


Paths ending in slash don't install properly - the git repo is checked out into packages/ instead of packages/foo/.
In particular, code.google.com recommends repo URLs ending in /.

I think it's detecting the repo name as the empty string, and so running 'git clone $repo packages/$reponame' does the wrong thing.

(Also, shouldn't it be naming the checkout dir after the dependency name in my pubspec? Those are guaranteed to be unique...)

e.g.

$ cat pubspec.yaml
dependencies:
  googleapis:
    git: https://code.google.com/p/foo/

$ pub install
Cloning into '/usr/local/google/home/sammccall/gits/dartapiarysamples/packages'...
Dependencies installed!

$ ls -a packages
. .. .git

pub run can't run a bin script in a transitive dependencies

<img src="https://avatars.githubusercontent.com/u/5479?v=3" align="left" width="96" height="96"hspace="10"> Issue by sethladd
Originally opened as dart-lang/sdk#23426


Testing out pub run's ability to run scripts. It appears that it's unable to run a script in a dependency's dependency.

Setup:

package A
  depends on package B

package B
  depends on dartdoc

I tried running with pub run dartdoc:dartdoc from package A

Output/error:

Package "dartdoc" is not an immediate dependency.
Cannot run executables in transitive dependencies.

pub serve unexpected error

Originally opened as dart-lang/sdk#23482

This issue was originally filed by [email protected]


What steps will reproduce the problem?

  1. pub serve

What is the expected output? What do you see instead?
pub serve to serve my test directory, instead there is an unexpected error. Trace is attached.

What version of the product are you using?
pub 1.10.0

On what operating system?
OS X 10.10.2

What browser (if applicable)?
N/A

Please provide any additional information below.


Attachment:
pub_serve_trace.txt (31.44 KB)

Pub: installed name should be based on pubspec name, not URL

Originally opened as dart-lang/sdk#3494

This issue was originally filed by [email protected]


My pubspec looks like:

name: 'googlefoo-samples'
dependencies:
  googlefoo:
    git: https://code.google.com/p/google-foo-dart-client

The intent being to import as #import('package:googlefoo/...');
However this gets installed as packages/google-foo-dart-client, and can only be imported as 'package:google-foo-dart-client/...'.
Since the names are specified in the pubspec, is there any reason not to use them?

(I can't change the project name, it's a cross-language convention).

pub get / pub serve threw "The null object does not have a getter 'pubspec'."

Originally opened as dart-lang/sdk#23417

This issue was originally filed by [email protected]


What steps will reproduce the problem?

  1. create a project
  2. add bwu_fontawesome_iconset_svg: any in pubspec.yaml
    3.

What is the expected output? What do you see instead?
pub can successfully get bwu_fontawesome_iconset_svg, and pub serve runs successfully

What version of the product are you using?
I tried both 1.10.0 and 1.10.0-dev.1.10

On what operating system?
Mac OS X 10.10.3

What browser (if applicable)?

Please provide any additional information below.
Without bwu_fontawesome_iconset_svg, my project works fine.

Here is the details when add bwu_fontawesome_iconset_svg.

Loading source assets...
The null object does not have a getter 'pubspec'.

NoSuchMethodError: method not found: 'pubspec'
Receiver: null
Arguments: []
dart:core Object.noSuchMethod
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/dependency_computer.dart 251 _PackageDependencyComputer._PackageDependencyComputer
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/dependency_computer.dart 199 DependencyComputer._loadPackageComputer
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/dependency_computer.dart 107 DependencyComputer._transformersNeededByTransformer
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/dependency_computer.dart 258 _PackageDependencyComputer._PackageDependencyComputer
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/dependency_computer.dart 199 DependencyComputer._loadPackageComputer
dart:core List.forEach
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/dependency_computer.dart 53 DependencyComputer.DependencyComputer
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/load_all_transformers.dart 33 loadAllTransformers.<async>
dart:isolate _RawReceivePortImpl._handleMessage
===== asynchronous gap ===========================
dart:async _Completer.completeError
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/load_all_transformers.dart 127 loadAllTransformers.<async>
dart:isolate _RawReceivePortImpl._handleMessage
===== asynchronous gap ===========================
dart:async Future.Future.microtask
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/load_all_transformers.dart loadAllTransformers
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart 512 AssetEnvironment._load.<fn>.<async>.<fn>.<async>.<fn>.<async>
dart:isolate _RawReceivePortImpl._handleMessage
===== asynchronous gap ===========================
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart AssetEnvironment._load.<fn>.<async>.<fn>.<async>.<fn>
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/log.dart 378 progress
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart 511 AssetEnvironment._load.<fn>.<async>.<fn>.<async>
dart:isolate _RawReceivePortImpl._handleMessage
===== asynchronous gap ===========================
dart:async Future.Future.sync
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart 671 AssetEnvironment._withStreamErrors
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart 510 AssetEnvironment._load.<fn>.<async>
dart:async _SyncCompleter.complete
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart 672 AssetEnvironment._withStreamErrors.<fn>
dart:isolate _RawReceivePortImpl._handleMessage
===== asynchronous gap ===========================
dart:async _Future.then
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart 488 AssetEnvironment._load.<fn>.<async>
dart:isolate _RawReceivePortImpl._handleMessage
===== asynchronous gap ===========================
dart:async _Future.then
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart 477 AssetEnvironment._load.<fn>.<async>
dart:isolate _RawReceivePortImpl._handleMessage
===== asynchronous gap ===========================
dart:async Future.Future.microtask
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart AssetEnvironment._load.<fn>
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/log.dart 378 progress
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart 459 AssetEnvironment._load
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart 82 AssetEnvironment.create.<fn>.<async>
dart:isolate _RawReceivePortImpl._handleMessage
===== asynchronous gap ===========================
dart:async _Future.then
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart 74 AssetEnvironment.create.<fn>.<async>
dart:isolate _RawReceivePortImpl._handleMessage
===== asynchronous gap ===========================
dart:async Future.Future.microtask
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart AssetEnvironment.create.<fn>
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/log.dart 378 progress
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart 73 AssetEnvironment.create
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/command/serve.dart 91 ServeCommand.onRunTransformerCommand.<async>
dart:isolate _RawReceivePortImpl._handleMessage
===== asynchronous gap ===========================
dart:async Future.Future.microtask
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/command/serve.dart ServeCommand.onRunTransformerCommand
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/command/barback.dart 58 BarbackCommand.run
package:args/command_runner.dart 179 CommandRunner.runCommand.<fn>
dart:async Future.Future.sync
package:args/command_runner.dart 132 CommandRunner.runCommand
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/command_runner.dart 122 PubCommandRunner.runCommand.<async>.<fn>
dart:async Future.Future.sync
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/utils.dart 107 captureErrors.<fn>
package:stack_trace/src/chain.dart 78 Chain.capture
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/utils.dart 121 captureErrors
/Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/command_runner.dart 122 PubCommandRunner.runCommand.<async>
dart:isolate _RawReceivePortImpl._handleMessage

---- Log transcript ----
FINE: Pub 1.10.0
FINE: Loading asset environment...
FINE: Loading package graph...
FINE: Loading package graph finished (0.4s).
FINE: Initializing barback...
FINE: Serving packages on localhost:0.
FINE: Providing sources for toolkit|lib.
FINE: Providing sources for adl_lib|lib.
FINE: Providing sources for bwu_fontawesome_iconset_svg|lib.
FINE: Providing sources for adl_client|lib.
FINE: Loading source assets finished (0.4s).
FINE: Provided sources.
FINE: Loading transformers...
FINE: Loading transformers finished (0.3s).
FINE: Initializing barback finished (0.8s).
FINE: Loading asset environment finished (1.3s).
ERR : The null object does not have a getter 'pubspec'.
    |
    | NoSuchMethodError: method not found: 'pubspec'
    | Receiver: null
    | Arguments: []
FINE: Exception type: NoSuchMethodError
ERR : dart:core Object.noSuchMethod
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/dependency_computer.dart 251 _PackageDependencyComputer._PackageDependencyComputer
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/dependency_computer.dart 199 DependencyComputer._loadPackageComputer
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/dependency_computer.dart 107 DependencyComputer._transformersNeededByTransformer
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/dependency_computer.dart 258 _PackageDependencyComputer._PackageDependencyComputer
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/dependency_computer.dart 199 DependencyComputer._loadPackageComputer
    | dart:core List.forEach
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/dependency_computer.dart 53 DependencyComputer.DependencyComputer
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/load_all_transformers.dart 33 loadAllTransformers.<async>
    | dart:isolate _RawReceivePortImpl._handleMessage
    | ===== asynchronous gap ===========================
    | dart:async _Completer.completeError
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/load_all_transformers.dart 127 loadAllTransformers.<async>
    | dart:isolate _RawReceivePortImpl._handleMessage
    | ===== asynchronous gap ===========================
    | dart:async Future.Future.microtask
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/load_all_transformers.dart loadAllTransformers
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart 512 AssetEnvironment._load.<fn>.<async>.<fn>.<async>.<fn>.<async>
    | dart:isolate _RawReceivePortImpl._handleMessage
    | ===== asynchronous gap ===========================
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart AssetEnvironment._load.<fn>.<async>.<fn>.<async>.<fn>
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/log.dart 378 progress
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart 511 AssetEnvironment._load.<fn>.<async>.<fn>.<async>
    | dart:isolate _RawReceivePortImpl._handleMessage
    | ===== asynchronous gap ===========================
    | dart:async Future.Future.sync
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart 671 AssetEnvironment._withStreamErrors
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart 510 AssetEnvironment._load.<fn>.<async>
    | dart:async _SyncCompleter.complete
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart 672 AssetEnvironment._withStreamErrors.<fn>
    | dart:isolate _RawReceivePortImpl._handleMessage
    | ===== asynchronous gap ===========================
    | dart:async _Future.then
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart 488 AssetEnvironment._load.<fn>.<async>
    | dart:isolate _RawReceivePortImpl._handleMessage
    | ===== asynchronous gap ===========================
    | dart:async _Future.then
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart 477 AssetEnvironment._load.<fn>.<async>
    | dart:isolate _RawReceivePortImpl._handleMessage
    | ===== asynchronous gap ===========================
    | dart:async Future.Future.microtask
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart AssetEnvironment._load.<fn>
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/log.dart 378 progress
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart 459 AssetEnvironment._load
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart 82 AssetEnvironment.create.<fn>.<async>
    | dart:isolate _RawReceivePortImpl._handleMessage
    | ===== asynchronous gap ===========================
    | dart:async _Future.then
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart 74 AssetEnvironment.create.<fn>.<async>
    | dart:isolate _RawReceivePortImpl._handleMessage
    | ===== asynchronous gap ===========================
    | dart:async Future.Future.microtask
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart AssetEnvironment.create.<fn>
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/log.dart 378 progress
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/barback/asset_environment.dart 73 AssetEnvironment.create
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/command/serve.dart 91 ServeCommand.onRunTransformerCommand.<async>
    | dart:isolate _RawReceivePortImpl._handleMessage
    | ===== asynchronous gap ===========================
    | dart:async Future.Future.microtask
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/command/serve.dart ServeCommand.onRunTransformerCommand
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/command/barback.dart 58 BarbackCommand.run
    | package:args/command_runner.dart 179 CommandRunner.runCommand.<fn>
    | dart:async Future.Future.sync
    | package:args/command_runner.dart 132 CommandRunner.runCommand
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/command_runner.dart 122 PubCommandRunner.runCommand.<async>.<fn>
    | dart:async Future.Future.sync
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/utils.dart 107 captureErrors.<fn>
    | package:stack_trace/src/chain.dart 78 Chain.capture
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/utils.dart 121 captureErrors
    | /Volumes/data/b/build/slave/dart-editor-mac-stable/build/dart/sdk/lib/_internal/pub/lib/src/command_runner.dart 122 PubCommandRunner.runCommand.<async>
    | dart:isolate _RawReceivePortImpl._handleMessage

---- End log transcript ----

Pub Publish hangs

Originally opened as dart-lang/sdk#23362

This issue was originally filed by [email protected]


What steps will reproduce the problem?
1.cmd> pub -v publish
2.
3.

What is the expected output? What do you see instead?

find: > bin [: No such file or directory
FINE: Pub 1.10.0-dev.1.10
IO : Spawning "cmd /c ver" in C:\Dart\directory.
IO : Finished ver. Exit code 0.
    | stdout:
    | |
    | | Microsoft Windows [Versi-ón 6.3.9600]
    | Nothing output on stderr.
IO : Spawning "cmd /c git --version" in C:\Dart\directory.

And nothing more happens for ever. (directory is changed from the package directory).

What version of the product are you using? 1.10.0-dev.1.10

On what operating system? Windows 8.1

What browser (if applicable)?

Please provide any additional information below.

Previous publish were ok, in april 2015.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.