Commit Graph

452 Commits

Author SHA1 Message Date
nweiz@google.com 0db73f5236 Add a "help" command to Pub.
Review URL: https://chromiumcodereview.appspot.com//10805017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9765 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-19 18:10:39 +00:00
nweiz@google.com 38add2cf87 Allow the Git source to depend on a specific revision.
Review URL: https://chromiumcodereview.appspot.com//10790021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9693 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-17 02:36:06 +00:00
nweiz@google.com b4f3327e2b pub: treat a pubspec with just comments as empty
BUG= http://dartbug.com/3483

TEST=

Review URL: https://chromiumcodereview.appspot.com//10534081
Patch from Kevin Moore <kevmoo@j832.com>.

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9686 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-16 22:44:43 +00:00
nweiz@google.com 223195ba79 Use environment variables to find the Dart SDK and the Pub cache directory.
Review URL: https://chromiumcodereview.appspot.com//10689169

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9615 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-12 21:44:17 +00:00
nweiz@google.com 2c2583e304 Hook in the version solver to pub install.
Review URL: https://chromiumcodereview.appspot.com//10704172

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9604 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-12 18:47:31 +00:00
nweiz@google.com a6466ffe20 Make VersionSolver actually return PackageIds.
Review URL: https://chromiumcodereview.appspot.com//10701146

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9574 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-11 22:57:44 +00:00
nweiz@google.com b2ee421a78 Add support to the version solver for sources that only have a single version per package.
Review URL: https://chromiumcodereview.appspot.com//10690127

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9567 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-11 19:14:35 +00:00
nweiz@google.com 97269ad9ac Make the Git source install to the system cache.
This is the same change as r9527, except it doesn't use the --progress flag
which is unsupported on the buildbot.

Review URL: https://chromiumcodereview.appspot.com//10694119

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9540 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-11 00:37:27 +00:00
nweiz@google.com 5b3f06ec6f Reverting 9527
Review URL: https://chromiumcodereview.appspot.com//10695132

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9531 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-10 21:59:27 +00:00
nweiz@google.com 2927ef893c Make the Git source install to the system cache.
Review URL: https://chromiumcodereview.appspot.com//10736015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9527 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-10 21:33:01 +00:00
nweiz@google.com a818022964 Refactor Source to take the system cache as a parameter.
Review URL: https://chromiumcodereview.appspot.com//10749014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9519 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-10 18:14:05 +00:00
nweiz@google.com 42fe721087 Add a --trace flag to make Pub print a stack trace on error.
Review URL: https://chromiumcodereview.appspot.com//10752013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9491 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-09 23:38:21 +00:00
nweiz@google.com cefb44c63e Have Pub make use of the arg parser.
Also allow non-negatable flags in the arg parser.

Review URL: https://chromiumcodereview.appspot.com//10756011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9488 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-09 22:13:24 +00:00
nweiz@google.com deda5a01fa Add numerous features to the Pub test infrastructure.
Review URL: https://chromiumcodereview.appspot.com//10699068

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9368 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-03 18:04:47 +00:00
nweiz@google.com 8f53bf75f9 Make VersionSolver source- and description-aware.
Review URL: https://chromiumcodereview.appspot.com//10690032

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9260 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-29 19:36:05 +00:00
nweiz@google.com 9d0be9e342 Don't try to look up the root package in the default source.
Review URL: https://chromiumcodereview.appspot.com//10674007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9184 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-27 18:14:59 +00:00
nweiz@google.com 5a6998d14e Add a Pub source for pub.dartlang.org.
This fixes a race condition in commit 9094.

Review URL: https://chromiumcodereview.appspot.com//10636045

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9132 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-26 20:01:30 +00:00
nweiz@google.com d13116a711 Reverting 9094
Review URL: https://chromiumcodereview.appspot.com//10666042

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9097 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-25 23:54:43 +00:00
nweiz@google.com 7af3fdfdfa Add a Pub source for pub.dartlang.org.
This fixes a couple typos in commit 9090.

Review URL: https://chromiumcodereview.appspot.com//10658025

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9094 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-25 23:45:21 +00:00
nweiz@google.com 3a5c7b9dcc Reverting 9090
Review URL: https://chromiumcodereview.appspot.com//10659019

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9093 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-25 23:23:39 +00:00
nweiz@google.com fffc9979fe Add a Pub source for pub.dartlang.org.
Review URL: https://chromiumcodereview.appspot.com//10628016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9090 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-25 22:52:32 +00:00
rnystrom@google.com bfe7935124 First pass at version constraint solver.
It does:
- Walk dependency graphs.
- Unify shared constraints.
- Go through Source to get dependency and version information.
- Handle the fact that everything is async.
- Find best versions that match all constraints.
- Error out if it can't find a match or gets stuck in a loop.
- Have an OK amount of tests.

It does not:
- Handle dependencies from different sources.
- Integrate with the rest of pub.
- Implement an actual "pub update" command.
- Do very much to minimize server traffic.
  (Though it does cache pubspecs it has requested.)

Review URL: https://chromiumcodereview.appspot.com//10540151

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8985 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-21 15:50:57 +00:00
nweiz@google.com 3aa0e8b141 Give cached sources control over their cache directories.
Review URL: https://chromiumcodereview.appspot.com//10577009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8832 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-18 23:45:36 +00:00
rnystrom@google.com 9636d43bf4 "pubspec" -> "pubspec.yaml".
Review URL: https://chromiumcodereview.appspot.com//10544041

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8405 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-07 18:32:16 +00:00
rnystrom@google.com 8a87698968 Start adding support for lock files.
Lock files can be parsed (from strings) with tests.

Review URL: https://chromiumcodereview.appspot.com//10542015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8362 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-06 20:48:41 +00:00
rnystrom@google.com e4ce65ae8f Get rid of #source in pub.
Review URL: https://chromiumcodereview.appspot.com//10442023

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7967 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-24 23:29:18 +00:00
nweiz@google.com d56327e507 Re-enable Yaml tests on dart2js and dartc.
Also fix a couple warnings in dart2js.

Review URL: https://chromiumcodereview.appspot.com//10444016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7966 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-24 22:58:45 +00:00
rnystrom@google.com b0885dcd7a Make pub handle missing git more gracefully.
- Put in place the basics for reporting errors to the user.
- If you try to install a git package without git installed, you will get
  a nice error.
- Don't run git-related pub tests locally if the user doesn't have git
  installed.

Review URL: https://chromiumcodereview.appspot.com//10421026

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7959 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-24 18:33:13 +00:00
nweiz@google.com faf738c5ed Don't make a void arrow function.
Review URL: https://chromiumcodereview.appspot.com//10414015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7821 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-21 20:30:48 +00:00
rnystrom@google.com 20c48b237f Get codebase ready for actually supporting versioning.
Review URL: https://chromiumcodereview.appspot.com//10399076

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7776 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-18 23:14:18 +00:00
nweiz@google.com 16f047132d Support a much larger subset of YAML.
With this change, the only parts of the syntax we don't parse are directives,
tags, and anchors.

Review URL: https://chromiumcodereview.appspot.com//10377186

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7771 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-18 21:56:15 +00:00
rnystrom@google.com 3f50f7621f Add base Version class to start support versioning in pub.
Review URL: https://chromiumcodereview.appspot.com//10383203

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7701 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-16 21:39:01 +00:00
nweiz@google.com a8038715b0 Add a Pub source that checks packages out from Git.
This was submitted as r7623, but was then reverted due to test failures. The new
version doesn't depend on Git's output.

Review URL: https://chromiumcodereview.appspot.com//10392089

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7629 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-14 21:36:55 +00:00
nweiz@google.com cd3261497d Reverting 7623
TBR

Review URL: https://chromiumcodereview.appspot.com//10388123

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7626 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-14 20:29:38 +00:00
nweiz@google.com 5dfb6baea5 Add a Pub source that checks packages out from Git.
Review URL: https://chromiumcodereview.appspot.com//10386021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7623 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-14 19:53:49 +00:00
nweiz@google.com fe0d59f7bc Refactor the pub tests.
The goal of this refactoring is to make it easier to flexibly set up the
filesystem before Pub runs and validate it afterwards. To do so, the pub tests
are made more modular by moving creation and validation out of the monolithic
testPub method. The declarative philosophy of testPub is maintained.

This CL also includes several changes to the unit test library. Most notably, it
causes stack traces to be displayed for errors that are thrown during tests.

This was first submitted as r7566. That was rolled back due to a test error that
is fixed in this CL.

Review URL: https://chromiumcodereview.appspot.com//10382137

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7573 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-11 23:10:49 +00:00
nweiz@google.com 53aee9dc2b Reverting 7566, which is causing build breakage.
TBR

Review URL: https://chromiumcodereview.appspot.com//10356133

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7567 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-11 20:08:47 +00:00
nweiz@google.com f5a8afe0db Refactor the pub tests.
The goal of this refactoring is to make it easier to flexibly set up the
filesystem before Pub runs and validate it afterwards. To do so, the pub tests
are made more modular by moving creation and validation out of the monolithic
testPub method. The declarative philosophy of testPub is maintained.

This CL also includes several changes to the unit test library. Most notably, it
causes stack traces to be displayed for errors that are thrown during tests.

Review URL: https://chromiumcodereview.appspot.com//10382094

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7566 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-11 19:34:17 +00:00
ager@google.com 5fb75d3952 Change dart:io to use Future for one-shot operations.
This appears to be what a lot of our users are doing and it is the
style used in our other libraries.

Noteworthy changes:

- File and Directory objects are now immutable.

- Directory.list returns an active lister object.

- Write operations on files return futures and the
  onNoPendingWrites handler is gone. The same
  functionality is there by using 'then' on the
  future returned from the last write operation.

- Process starting is now done with static methods:
  -- Process.start yields an InteractiveProcess.
  -- Process.run yields a Future<ProcessResult>

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//10392023

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7529 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-11 06:09:42 +00:00
nweiz@google.com 7a92bade41 Rely on dart:io to deal with symlinks in pub.
Now that issue 2516 is solved, we don't need these hacks.

Review URL: https://chromiumcodereview.appspot.com//10378044

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7428 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-08 18:43:33 +00:00
nweiz@google.com 3085912d01 Add support for pub install.
This CL does several things:

* Adds explicit infrastructure for package sources.
* Adds the Dart SDK as such a source.
* Adds an explicit class for managing the packages/ directory (AppCache, as
  opposed to SystemCache).
* Adds an "install" command that installs to packages/, backed up by the system
  cache.

Review URL: https://chromiumcodereview.appspot.com//10340005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7398 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-07 19:58:32 +00:00
rnystrom@google.com 7b9089417a Add pub (and by extension YAML) to the SDK.
Review URL: https://chromiumcodereview.appspot.com//10171019

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7301 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-03 20:56:07 +00:00
ager@google.com e6b2635059 Change Platform members to getters instead of methods.
R=sgjesse@google.com
BUG=dartbug.com/1668
TEST=

Review URL: https://chromiumcodereview.appspot.com//10351011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7282 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-03 13:16:33 +00:00
nweiz@google.com 3e83522697 Move Yaml into utils/pub.
Review URL: https://chromiumcodereview.appspot.com//10339009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7264 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-02 23:37:17 +00:00
rnystrom@google.com 96398f47bb Sort packages before listing them.
Review URL: https://chromiumcodereview.appspot.com//10137015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7112 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-27 23:52:51 +00:00
rnystrom@google.com f7a1480c4e Fix a couple of minor issues and try to resolve #2740.
Review URL: https://chromiumcodereview.appspot.com//10230016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7087 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-27 16:00:13 +00:00
rnystrom@google.com 36371653f4 Refactor command code and add support for --help and --version.
Review URL: https://chromiumcodereview.appspot.com//10214006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6985 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-26 00:45:24 +00:00
nweiz@google.com 35b7a697bb Use YAML as the format for the pubspec file.
Review URL: https://chromiumcodereview.appspot.com//10174029

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6982 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-25 23:09:32 +00:00
rnystrom@google.com 8c913b10fc First pass at "pub update" implementation.
This will create a "packages" directory next to the current
package's entrypoint and populate it with symlinks to packages
in the pub package cache. Transitive dependencies are handled.

Review URL: https://chromiumcodereview.appspot.com//10207018

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6979 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-25 22:18:15 +00:00
rnystrom@google.com 4c6865d7d8 Sort packages by name before listing them.
Review URL: https://chromiumcodereview.appspot.com//10191027

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6978 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-25 21:44:05 +00:00