c590e8ae0c
This also changes the SDK layout by replacing the "pkg" directory, which contained the full source of all the packages needed by pub and dartdoc, with a "packages" directory that contains only their lib directories. This directory is used as the package root for pub and dartdoc when run from the SDK. BUG=6745 Review URL: https://codereview.chromium.org//12782016 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20640 260f80e4-7a28-3924-810f-c04153c831b5
117 lines
2.6 KiB
Dart
117 lines
2.6 KiB
Dart
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
import 'package:pathos/path.dart' as path;
|
|
|
|
import 'descriptor.dart' as d;
|
|
import 'test_pub.dart';
|
|
|
|
main() {
|
|
initConfig();
|
|
integration("includes root package's dev dependencies", () {
|
|
d.dir('foo', [
|
|
d.libDir('foo'),
|
|
d.libPubspec('foo', '0.0.1')
|
|
]).create();
|
|
|
|
d.dir('bar', [
|
|
d.libDir('bar'),
|
|
d.libPubspec('bar', '0.0.1')
|
|
]).create();
|
|
|
|
d.dir(appPath, [
|
|
d.pubspec({
|
|
"name": "myapp",
|
|
"dev_dependencies": {
|
|
"foo": {"path": "../foo"},
|
|
"bar": {"path": "../bar"},
|
|
}
|
|
})
|
|
]).create();
|
|
|
|
schedulePub(args: ["install"],
|
|
output: new RegExp(r"Dependencies installed!$"));
|
|
|
|
d.dir(packagesPath, [
|
|
d.dir("foo", [
|
|
d.file("foo.dart", 'main() => "foo";')
|
|
]),
|
|
d.dir("bar", [
|
|
d.file("bar.dart", 'main() => "bar";')
|
|
])
|
|
]).validate();
|
|
});
|
|
|
|
integration("includes dev dependency's transitive dependencies", () {
|
|
d.dir('foo', [
|
|
d.libDir('foo'),
|
|
d.libPubspec('foo', '0.0.1', deps: [
|
|
{"path": "../bar"}
|
|
])
|
|
]).create();
|
|
|
|
d.dir('bar', [
|
|
d.libDir('bar'),
|
|
d.libPubspec('bar', '0.0.1')
|
|
]).create();
|
|
|
|
d.dir(appPath, [
|
|
d.pubspec({
|
|
"name": "myapp",
|
|
"dev_dependencies": {
|
|
"foo": {"path": "../foo"}
|
|
}
|
|
})
|
|
]).create();
|
|
|
|
schedulePub(args: ["install"],
|
|
output: new RegExp(r"Dependencies installed!$"));
|
|
|
|
d.dir(packagesPath, [
|
|
d.dir("foo", [
|
|
d.file("foo.dart", 'main() => "foo";')
|
|
]),
|
|
d.dir("bar", [
|
|
d.file("bar.dart", 'main() => "bar";')
|
|
])
|
|
]).validate();
|
|
});
|
|
|
|
integration("ignores transitive dependency's dev dependencies", () {
|
|
d.dir('foo', [
|
|
d.libDir('foo'),
|
|
d.pubspec({
|
|
"name": "foo",
|
|
"version": "0.0.1",
|
|
"dev_dependencies": {
|
|
"bar": {"path": "../bar"}
|
|
}
|
|
})
|
|
]).create();
|
|
|
|
d.dir('bar', [
|
|
d.libDir('bar'),
|
|
d.libPubspec('bar', '0.0.1')
|
|
]).create();
|
|
|
|
d.dir(appPath, [
|
|
d.pubspec({
|
|
"name": "myapp",
|
|
"dependencies": {
|
|
"foo": {"path": "../foo"}
|
|
}
|
|
})
|
|
]).create();
|
|
|
|
schedulePub(args: ["install"],
|
|
output: new RegExp(r"Dependencies installed!$"));
|
|
|
|
d.dir(packagesPath, [
|
|
d.dir("foo", [
|
|
d.file("foo.dart", 'main() => "foo";')
|
|
]),
|
|
d.nothing("bar")
|
|
]).validate();
|
|
});
|
|
} |