Commit 441b5c20 authored by Ian Hickson's avatar Ian Hickson Committed by GitHub

Pin all dependencies ONCE AND FOR ALL (#12210)

* Pin all dependencies ONCE AND FOR ALL

This replaces the secret `flutter update-packages --upgrade` with a destructive `flutter update-packages --force-upgrade` that actually goes and pins every dependency and transitive dependency in every flutter package to the same version.

* Add comments.
parent b9e1be9a
name: flutter_automated_tests name: flutter_automated_tests
dependencies: dependencies:
args: ^0.13.7
flutter: flutter:
sdk: flutter sdk: flutter
flutter_test: flutter_test:
sdk: flutter sdk: flutter
args: 0.13.7 # TRANSITIVE DEPENDENCY
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
cli_util: 0.1.2+1 # TRANSITIVE DEPENDENCY
collection: 1.14.3 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
file: 2.3.4 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http: 0.11.3+14 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
intl: 0.15.1 # TRANSITIVE DEPENDENCY
intl_translation: 0.15.0 # TRANSITIVE DEPENDENCY
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
json_rpc_2: 2.0.4 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
matcher: 0.12.1+4 # TRANSITIVE DEPENDENCY
meta: 1.1.1 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.2 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
path: 1.4.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
plugin: 0.2.0+1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.24.0 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.8.2 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.1 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.24+2 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vector_math: 2.0.5 # TRANSITIVE DEPENDENCY
vm_service_client: 0.2.2+4 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
web_socket_channel: 1.0.5 # TRANSITIVE DEPENDENCY
yaml: 2.1.12 # TRANSITIVE DEPENDENCY
flutter: flutter:
uses-material-design: true uses-material-design: true
...@@ -2,7 +2,6 @@ name: complex_layout ...@@ -2,7 +2,6 @@ name: complex_layout
description: A benchmark of a relatively complex layout. description: A benchmark of a relatively complex layout.
dependencies: dependencies:
args: ^0.13.7
flutter: flutter:
sdk: flutter sdk: flutter
flutter_driver: flutter_driver:
...@@ -18,6 +17,61 @@ dev_dependencies: ...@@ -18,6 +17,61 @@ dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
args: 0.13.7 # TRANSITIVE DEPENDENCY
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
cli_util: 0.1.2+1 # TRANSITIVE DEPENDENCY
collection: 1.14.3 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
file: 2.3.4 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http: 0.11.3+14 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
intl: 0.15.1 # TRANSITIVE DEPENDENCY
intl_translation: 0.15.0 # TRANSITIVE DEPENDENCY
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
json_rpc_2: 2.0.4 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
matcher: 0.12.1+4 # TRANSITIVE DEPENDENCY
meta: 1.1.1 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.2 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
path: 1.4.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
plugin: 0.2.0+1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.24.0 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.8.2 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.1 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.24+2 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vector_math: 2.0.5 # TRANSITIVE DEPENDENCY
vm_service_client: 0.2.2+4 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
web_socket_channel: 1.0.5 # TRANSITIVE DEPENDENCY
yaml: 2.1.12 # TRANSITIVE DEPENDENCY
flutter: flutter:
uses-material-design: true uses-material-design: true
assets: assets:
......
name: microbenchmarks name: microbenchmarks
description: Small benchmarks for very specific parts of the Flutter framework. description: Small benchmarks for very specific parts of the Flutter framework.
dependencies: dependencies:
meta: ^1.0.5 meta: 1.1.1
flutter: flutter:
sdk: flutter sdk: flutter
flutter_test: flutter_test:
sdk: flutter sdk: flutter
stocks: stocks:
path: ../../../examples/stocks path: ../../../examples/stocks
args: 0.13.7 # TRANSITIVE DEPENDENCY
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
cli_util: 0.1.2+1 # TRANSITIVE DEPENDENCY
collection: 1.14.3 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
file: 2.3.4 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http: 0.11.3+14 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
intl: 0.15.1 # TRANSITIVE DEPENDENCY
intl_translation: 0.15.0 # TRANSITIVE DEPENDENCY
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
json_rpc_2: 2.0.4 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
matcher: 0.12.1+4 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.2 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
path: 1.4.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
plugin: 0.2.0+1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.24.0 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.8.2 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.1 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.24+2 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vector_math: 2.0.5 # TRANSITIVE DEPENDENCY
vm_service_client: 0.2.2+4 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
web_socket_channel: 1.0.5 # TRANSITIVE DEPENDENCY
yaml: 2.1.12 # TRANSITIVE DEPENDENCY
flutter: flutter:
uses-material-design: true uses-material-design: true
...@@ -2,4 +2,58 @@ name: tests_on_bots ...@@ -2,4 +2,58 @@ name: tests_on_bots
description: Script to run all tests on bots. description: Script to run all tests on bots.
dependencies: dependencies:
path: ^1.4.0 path: 1.4.2
args: 0.13.7 # TRANSITIVE DEPENDENCY
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
cli_util: 0.1.2+1 # TRANSITIVE DEPENDENCY
collection: 1.14.3 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
file: 2.3.4 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http: 0.11.3+14 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
intl: 0.15.1 # TRANSITIVE DEPENDENCY
intl_translation: 0.15.0 # TRANSITIVE DEPENDENCY
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
json_rpc_2: 2.0.4 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
matcher: 0.12.1+4 # TRANSITIVE DEPENDENCY
meta: 1.1.1 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.2 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
plugin: 0.2.0+1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.24.0 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.8.2 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.1 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.24+2 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vector_math: 2.0.5 # TRANSITIVE DEPENDENCY
vm_service_client: 0.2.2+4 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
web_socket_channel: 1.0.5 # TRANSITIVE DEPENDENCY
yaml: 2.1.12 # TRANSITIVE DEPENDENCY
...@@ -8,16 +8,67 @@ environment: ...@@ -8,16 +8,67 @@ environment:
sdk: '>=1.12.0 <2.0.0' sdk: '>=1.12.0 <2.0.0'
dependencies: dependencies:
args: ^0.13.4 args: 0.13.7
file: 2.3.4 file: 2.3.4
image: ^1.1.27 image: 1.1.29
meta: ^1.0.5 meta: 1.1.1
path: ^1.4.0 path: 1.4.2
platform: 2.1.1 platform: 2.1.1
process: 2.0.5 process: 2.0.5
stack_trace: ^1.4.0 stack_trace: 1.8.2
vm_service_client: '0.2.2+4' vm_service_client: 0.2.2+4
dev_dependencies: dev_dependencies:
# See packages/flutter_test/pubspec.yaml for why we're pinning this version. # See packages/flutter_test/pubspec.yaml for why we're pinning this version.
test: 0.12.24+2 test: 0.12.24+2
archive: 1.0.31 # TRANSITIVE DEPENDENCY
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
browser: 0.10.0+2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
cli_util: 0.1.2+1 # TRANSITIVE DEPENDENCY
collection: 1.14.3 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http: 0.11.3+14 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
intl: 0.15.1 # TRANSITIVE DEPENDENCY
intl_translation: 0.15.0 # TRANSITIVE DEPENDENCY
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
json_rpc_2: 2.0.4 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
matcher: 0.12.1+4 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.2 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
plugin: 0.2.0+1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.24.0 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.1 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vector_math: 2.0.5 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
web_socket_channel: 1.0.5 # TRANSITIVE DEPENDENCY
xml: 2.6.0 # TRANSITIVE DEPENDENCY
yaml: 2.1.12 # TRANSITIVE DEPENDENCY
...@@ -6,5 +6,61 @@ dependencies: ...@@ -6,5 +6,61 @@ dependencies:
sdk: flutter sdk: flutter
flutter_driver: flutter_driver:
sdk: flutter sdk: flutter
args: 0.13.7 # TRANSITIVE DEPENDENCY
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
cli_util: 0.1.2+1 # TRANSITIVE DEPENDENCY
collection: 1.14.3 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
file: 2.3.4 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http: 0.11.3+14 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
intl: 0.15.1 # TRANSITIVE DEPENDENCY
intl_translation: 0.15.0 # TRANSITIVE DEPENDENCY
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
json_rpc_2: 2.0.4 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
matcher: 0.12.1+4 # TRANSITIVE DEPENDENCY
meta: 1.1.1 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.2 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
path: 1.4.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
plugin: 0.2.0+1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.24.0 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.8.2 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.1 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.24+2 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vector_math: 2.0.5 # TRANSITIVE DEPENDENCY
vm_service_client: 0.2.2+4 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
web_socket_channel: 1.0.5 # TRANSITIVE DEPENDENCY
yaml: 2.1.12 # TRANSITIVE DEPENDENCY
flutter: flutter:
uses-material-design: true uses-material-design: true
...@@ -2,10 +2,65 @@ name: flavors ...@@ -2,10 +2,65 @@ name: flavors
description: Integration test for build flavors. description: Integration test for build flavors.
dependencies: dependencies:
args: ^0.13.7
flutter: flutter:
sdk: flutter sdk: flutter
flutter_driver: flutter_driver:
sdk: flutter sdk: flutter
args: 0.13.7 # TRANSITIVE DEPENDENCY
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
cli_util: 0.1.2+1 # TRANSITIVE DEPENDENCY
collection: 1.14.3 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
file: 2.3.4 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http: 0.11.3+14 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
intl: 0.15.1 # TRANSITIVE DEPENDENCY
intl_translation: 0.15.0 # TRANSITIVE DEPENDENCY
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
json_rpc_2: 2.0.4 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
matcher: 0.12.1+4 # TRANSITIVE DEPENDENCY
meta: 1.1.1 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.2 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
path: 1.4.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
plugin: 0.2.0+1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.24.0 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.8.2 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.1 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.24+2 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vector_math: 2.0.5 # TRANSITIVE DEPENDENCY
vm_service_client: 0.2.2+4 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
web_socket_channel: 1.0.5 # TRANSITIVE DEPENDENCY
yaml: 2.1.12 # TRANSITIVE DEPENDENCY
flutter: flutter:
uses-material-design: true uses-material-design: true
...@@ -2,10 +2,65 @@ name: platform_interaction ...@@ -2,10 +2,65 @@ name: platform_interaction
description: Integration test for platform interactions. description: Integration test for platform interactions.
dependencies: dependencies:
args: ^0.13.7
flutter: flutter:
sdk: flutter sdk: flutter
flutter_driver: flutter_driver:
sdk: flutter sdk: flutter
args: 0.13.7 # TRANSITIVE DEPENDENCY
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
cli_util: 0.1.2+1 # TRANSITIVE DEPENDENCY
collection: 1.14.3 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
file: 2.3.4 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http: 0.11.3+14 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
intl: 0.15.1 # TRANSITIVE DEPENDENCY
intl_translation: 0.15.0 # TRANSITIVE DEPENDENCY
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
json_rpc_2: 2.0.4 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
matcher: 0.12.1+4 # TRANSITIVE DEPENDENCY
meta: 1.1.1 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.2 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
path: 1.4.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
plugin: 0.2.0+1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.24.0 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.8.2 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.1 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.24+2 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vector_math: 2.0.5 # TRANSITIVE DEPENDENCY
vm_service_client: 0.2.2+4 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
web_socket_channel: 1.0.5 # TRANSITIVE DEPENDENCY
yaml: 2.1.12 # TRANSITIVE DEPENDENCY
flutter: flutter:
uses-material-design: true uses-material-design: true
...@@ -2,14 +2,69 @@ name: integration_ui ...@@ -2,14 +2,69 @@ name: integration_ui
description: Flutter non-plugin UI integration tests. description: Flutter non-plugin UI integration tests.
dependencies: dependencies:
args: ^0.13.7
flutter: flutter:
sdk: flutter sdk: flutter
flutter_driver: flutter_driver:
sdk: flutter sdk: flutter
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
test: any test: 0.12.24+2
args: 0.13.7 # TRANSITIVE DEPENDENCY
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
cli_util: 0.1.2+1 # TRANSITIVE DEPENDENCY
collection: 1.14.3 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
file: 2.3.4 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http: 0.11.3+14 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
intl: 0.15.1 # TRANSITIVE DEPENDENCY
intl_translation: 0.15.0 # TRANSITIVE DEPENDENCY
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
json_rpc_2: 2.0.4 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
matcher: 0.12.1+4 # TRANSITIVE DEPENDENCY
meta: 1.1.1 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.2 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
path: 1.4.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
plugin: 0.2.0+1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.24.0 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.8.2 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.1 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vector_math: 2.0.5 # TRANSITIVE DEPENDENCY
vm_service_client: 0.2.2+4 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
web_socket_channel: 1.0.5 # TRANSITIVE DEPENDENCY
yaml: 2.1.12 # TRANSITIVE DEPENDENCY
flutter: flutter:
uses-material-design: true uses-material-design: true
...@@ -8,5 +8,60 @@ dev_dependencies: ...@@ -8,5 +8,60 @@ dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
args: 0.13.7 # TRANSITIVE DEPENDENCY
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
cli_util: 0.1.2+1 # TRANSITIVE DEPENDENCY
collection: 1.14.3 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
file: 2.3.4 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http: 0.11.3+14 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
intl: 0.15.1 # TRANSITIVE DEPENDENCY
intl_translation: 0.15.0 # TRANSITIVE DEPENDENCY
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
json_rpc_2: 2.0.4 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
matcher: 0.12.1+4 # TRANSITIVE DEPENDENCY
meta: 1.1.1 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.2 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
path: 1.4.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
plugin: 0.2.0+1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.24.0 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.8.2 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.1 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.24+2 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vector_math: 2.0.5 # TRANSITIVE DEPENDENCY
vm_service_client: 0.2.2+4 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
web_socket_channel: 1.0.5 # TRANSITIVE DEPENDENCY
yaml: 2.1.12 # TRANSITIVE DEPENDENCY
flutter: flutter:
uses-material-design: true uses-material-design: true
...@@ -2,9 +2,59 @@ name: dev_tools ...@@ -2,9 +2,59 @@ name: dev_tools
description: Various repository development tools for flutter. description: Various repository development tools for flutter.
dependencies: dependencies:
archive: ^1.0.20 archive: 1.0.31
args: ^0.13.4 args: 0.13.7
http: ^0.11.3+12 http: 0.11.3+14
intl: '>=0.14.0 <0.16.0' intl: 0.15.1
meta: ^1.0.5 meta: 1.1.1
path: ^1.4.0 path: 1.4.2
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
cli_util: 0.1.2+1 # TRANSITIVE DEPENDENCY
collection: 1.14.3 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
file: 2.3.4 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
intl_translation: 0.15.0 # TRANSITIVE DEPENDENCY
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
json_rpc_2: 2.0.4 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
matcher: 0.12.1+4 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.2 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
plugin: 0.2.0+1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.24.0 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.8.2 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.1 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.24+2 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vector_math: 2.0.5 # TRANSITIVE DEPENDENCY
vm_service_client: 0.2.2+4 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
web_socket_channel: 1.0.5 # TRANSITIVE DEPENDENCY
yaml: 2.1.12 # TRANSITIVE DEPENDENCY
name: sample_catalog name: sample_catalog
description: A collection of Flutter sample apps description: A collection of Flutter sample apps
dependencies: dependencies:
args: ^0.13.7
flutter: flutter:
sdk: flutter sdk: flutter
path: ^1.4.0 path: 1.4.2
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
...@@ -12,5 +11,59 @@ dev_dependencies: ...@@ -12,5 +11,59 @@ dev_dependencies:
flutter_driver: flutter_driver:
sdk: flutter sdk: flutter
args: 0.13.7 # TRANSITIVE DEPENDENCY
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
cli_util: 0.1.2+1 # TRANSITIVE DEPENDENCY
collection: 1.14.3 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
file: 2.3.4 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http: 0.11.3+14 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
intl: 0.15.1 # TRANSITIVE DEPENDENCY
intl_translation: 0.15.0 # TRANSITIVE DEPENDENCY
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
json_rpc_2: 2.0.4 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
matcher: 0.12.1+4 # TRANSITIVE DEPENDENCY
meta: 1.1.1 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.2 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
plugin: 0.2.0+1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.24.0 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.8.2 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.1 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.24+2 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vector_math: 2.0.5 # TRANSITIVE DEPENDENCY
vm_service_client: 0.2.2+4 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
web_socket_channel: 1.0.5 # TRANSITIVE DEPENDENCY
yaml: 2.1.12 # TRANSITIVE DEPENDENCY
flutter: flutter:
uses-material-design: true uses-material-design: true
name: flutter_gallery name: flutter_gallery
dependencies: dependencies:
args: ^0.13.7
collection: '>=1.9.1 <2.0.0'
intl: '>=0.14.0 <0.16.0'
string_scanner: ^1.0.0
flutter: flutter:
sdk: flutter sdk: flutter
url_launcher: ^0.4.0 collection: 1.14.3
intl: 0.15.1
string_scanner: 1.0.2
url_launcher: 0.4.2+5
# Also update dev/benchmarks/complex_layout/pubspec.yaml # Also update dev/benchmarks/complex_layout/pubspec.yaml
flutter_gallery_assets: flutter_gallery_assets:
...@@ -21,6 +19,58 @@ dev_dependencies: ...@@ -21,6 +19,58 @@ dev_dependencies:
flutter_driver: flutter_driver:
sdk: flutter sdk: flutter
args: 0.13.7 # TRANSITIVE DEPENDENCY
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
cli_util: 0.1.2+1 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
file: 2.3.4 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http: 0.11.3+14 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
intl_translation: 0.15.0 # TRANSITIVE DEPENDENCY
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
json_rpc_2: 2.0.4 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
matcher: 0.12.1+4 # TRANSITIVE DEPENDENCY
meta: 1.1.1 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.2 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
path: 1.4.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
plugin: 0.2.0+1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.24.0 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.8.2 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.1 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.24+2 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vector_math: 2.0.5 # TRANSITIVE DEPENDENCY
vm_service_client: 0.2.2+4 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
web_socket_channel: 1.0.5 # TRANSITIVE DEPENDENCY
yaml: 2.1.12 # TRANSITIVE DEPENDENCY
flutter: flutter:
uses-material-design: true uses-material-design: true
assets: assets:
......
...@@ -5,7 +5,62 @@ dependencies: ...@@ -5,7 +5,62 @@ dependencies:
flutter: flutter:
sdk: flutter sdk: flutter
args: 0.13.7 # TRANSITIVE DEPENDENCY
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
cli_util: 0.1.2+1 # TRANSITIVE DEPENDENCY
collection: 1.14.3 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
file: 2.3.4 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http: 0.11.3+14 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
intl: 0.15.1 # TRANSITIVE DEPENDENCY
intl_translation: 0.15.0 # TRANSITIVE DEPENDENCY
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
json_rpc_2: 2.0.4 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
matcher: 0.12.1+4 # TRANSITIVE DEPENDENCY
meta: 1.1.1 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.2 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
path: 1.4.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
plugin: 0.2.0+1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.24.0 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.8.2 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.1 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.24+2 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vector_math: 2.0.5 # TRANSITIVE DEPENDENCY
vm_service_client: 0.2.2+4 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
web_socket_channel: 1.0.5 # TRANSITIVE DEPENDENCY
yaml: 2.1.12 # TRANSITIVE DEPENDENCY
flutter: flutter:
uses-material-design: true uses-material-design: true
assets: assets:
- assets/flutter-mark-square-64.png - assets/flutter-mark-square-64.png
\ No newline at end of file
name: hello_world name: hello_world
dependencies: dependencies:
args: ^0.13.7
flutter: flutter:
sdk: flutter sdk: flutter
...@@ -9,5 +8,60 @@ dev_dependencies: ...@@ -9,5 +8,60 @@ dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
args: 0.13.7 # TRANSITIVE DEPENDENCY
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
cli_util: 0.1.2+1 # TRANSITIVE DEPENDENCY
collection: 1.14.3 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
file: 2.3.4 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http: 0.11.3+14 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
intl: 0.15.1 # TRANSITIVE DEPENDENCY
intl_translation: 0.15.0 # TRANSITIVE DEPENDENCY
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
json_rpc_2: 2.0.4 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
matcher: 0.12.1+4 # TRANSITIVE DEPENDENCY
meta: 1.1.1 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.2 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
path: 1.4.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
plugin: 0.2.0+1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.24.0 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.8.2 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.1 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.24+2 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vector_math: 2.0.5 # TRANSITIVE DEPENDENCY
vm_service_client: 0.2.2+4 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
web_socket_channel: 1.0.5 # TRANSITIVE DEPENDENCY
yaml: 2.1.12 # TRANSITIVE DEPENDENCY
flutter: flutter:
uses-material-design: true uses-material-design: true
...@@ -7,6 +7,61 @@ dev_dependencies: ...@@ -7,6 +7,61 @@ dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
args: 0.13.7 # TRANSITIVE DEPENDENCY
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
cli_util: 0.1.2+1 # TRANSITIVE DEPENDENCY
collection: 1.14.3 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
file: 2.3.4 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http: 0.11.3+14 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
intl: 0.15.1 # TRANSITIVE DEPENDENCY
intl_translation: 0.15.0 # TRANSITIVE DEPENDENCY
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
json_rpc_2: 2.0.4 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
matcher: 0.12.1+4 # TRANSITIVE DEPENDENCY
meta: 1.1.1 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.2 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
path: 1.4.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
plugin: 0.2.0+1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.24.0 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.8.2 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.1 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.24+2 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vector_math: 2.0.5 # TRANSITIVE DEPENDENCY
vm_service_client: 0.2.2+4 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
web_socket_channel: 1.0.5 # TRANSITIVE DEPENDENCY
yaml: 2.1.12 # TRANSITIVE DEPENDENCY
flutter: flutter:
assets: assets:
- services/data.json - services/data.json
......
name: platform_channel name: platform_channel
dependencies: dependencies:
args: ^0.13.7
flutter: flutter:
sdk: flutter sdk: flutter
...@@ -9,7 +8,62 @@ dev_dependencies: ...@@ -9,7 +8,62 @@ dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
flutter_driver: flutter_driver:
path: ../../packages/flutter_driver sdk: flutter
args: 0.13.7 # TRANSITIVE DEPENDENCY
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
cli_util: 0.1.2+1 # TRANSITIVE DEPENDENCY
collection: 1.14.3 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
file: 2.3.4 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http: 0.11.3+14 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
intl: 0.15.1 # TRANSITIVE DEPENDENCY
intl_translation: 0.15.0 # TRANSITIVE DEPENDENCY
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
json_rpc_2: 2.0.4 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
matcher: 0.12.1+4 # TRANSITIVE DEPENDENCY
meta: 1.1.1 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.2 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
path: 1.4.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
plugin: 0.2.0+1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.24.0 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.8.2 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.1 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.24+2 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vector_math: 2.0.5 # TRANSITIVE DEPENDENCY
vm_service_client: 0.2.2+4 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
web_socket_channel: 1.0.5 # TRANSITIVE DEPENDENCY
yaml: 2.1.12 # TRANSITIVE DEPENDENCY
flutter: flutter:
uses-material-design: true uses-material-design: true
...@@ -8,7 +8,62 @@ dev_dependencies: ...@@ -8,7 +8,62 @@ dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
flutter_driver: flutter_driver:
path: ../../packages/flutter_driver sdk: flutter
args: 0.13.7 # TRANSITIVE DEPENDENCY
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
cli_util: 0.1.2+1 # TRANSITIVE DEPENDENCY
collection: 1.14.3 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
file: 2.3.4 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http: 0.11.3+14 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
intl: 0.15.1 # TRANSITIVE DEPENDENCY
intl_translation: 0.15.0 # TRANSITIVE DEPENDENCY
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
json_rpc_2: 2.0.4 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
matcher: 0.12.1+4 # TRANSITIVE DEPENDENCY
meta: 1.1.1 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.2 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
path: 1.4.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
plugin: 0.2.0+1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.24.0 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.8.2 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.1 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.24+2 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vector_math: 2.0.5 # TRANSITIVE DEPENDENCY
vm_service_client: 0.2.2+4 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
web_socket_channel: 1.0.5 # TRANSITIVE DEPENDENCY
yaml: 2.1.12 # TRANSITIVE DEPENDENCY
flutter: flutter:
uses-material-design: true uses-material-design: true
...@@ -4,6 +4,61 @@ dependencies: ...@@ -4,6 +4,61 @@ dependencies:
flutter: flutter:
sdk: flutter sdk: flutter
args: 0.13.7 # TRANSITIVE DEPENDENCY
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
cli_util: 0.1.2+1 # TRANSITIVE DEPENDENCY
collection: 1.14.3 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
file: 2.3.4 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http: 0.11.3+14 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
intl: 0.15.1 # TRANSITIVE DEPENDENCY
intl_translation: 0.15.0 # TRANSITIVE DEPENDENCY
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
json_rpc_2: 2.0.4 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
matcher: 0.12.1+4 # TRANSITIVE DEPENDENCY
meta: 1.1.1 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.2 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
path: 1.4.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
plugin: 0.2.0+1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.24.0 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.8.2 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.1 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.24+2 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vector_math: 2.0.5 # TRANSITIVE DEPENDENCY
vm_service_client: 0.2.2+4 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
web_socket_channel: 1.0.5 # TRANSITIVE DEPENDENCY
yaml: 2.1.12 # TRANSITIVE DEPENDENCY
flutter: flutter:
uses-material-design: true uses-material-design: true
......
...@@ -2,10 +2,10 @@ name: stocks ...@@ -2,10 +2,10 @@ name: stocks
dependencies: dependencies:
flutter: flutter:
sdk: flutter sdk: flutter
intl: '>=0.14.0 <0.16.0' intl: 0.15.1
intl_translation: '>=0.14.0 <0.16.0' intl_translation: 0.15.0
http: '>=0.11.3+12' http: 0.11.3+14
isolate: '>=1.0.0' isolate: 1.1.0
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
...@@ -13,5 +13,56 @@ dev_dependencies: ...@@ -13,5 +13,56 @@ dev_dependencies:
flutter_driver: flutter_driver:
sdk: flutter sdk: flutter
args: 0.13.7 # TRANSITIVE DEPENDENCY
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
cli_util: 0.1.2+1 # TRANSITIVE DEPENDENCY
collection: 1.14.3 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
file: 2.3.4 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
json_rpc_2: 2.0.4 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
matcher: 0.12.1+4 # TRANSITIVE DEPENDENCY
meta: 1.1.1 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.2 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
path: 1.4.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
plugin: 0.2.0+1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.24.0 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.8.2 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.1 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.24+2 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vector_math: 2.0.5 # TRANSITIVE DEPENDENCY
vm_service_client: 0.2.2+4 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
web_socket_channel: 1.0.5 # TRANSITIVE DEPENDENCY
yaml: 2.1.12 # TRANSITIVE DEPENDENCY
flutter: flutter:
uses-material-design: true uses-material-design: true
...@@ -5,13 +5,12 @@ description: A framework for writing Flutter applications ...@@ -5,13 +5,12 @@ description: A framework for writing Flutter applications
homepage: http://flutter.io homepage: http://flutter.io
dependencies: dependencies:
args: ^0.13.7 collection: 1.14.3
collection: '>=1.9.1 <2.0.0' http: 0.11.3+14
http: '>=0.11.3+12' intl: 0.15.1
intl: '>=0.14.0 <0.16.0' meta: 1.1.1
meta: ^1.0.5 typed_data: 1.1.4
typed_data: ^1.1.3 vector_math: 2.0.5
vector_math: '>=2.0.3 <3.0.0'
sky_engine: sky_engine:
path: ../../bin/cache/pkg/sky_engine path: ../../bin/cache/pkg/sky_engine
...@@ -19,7 +18,56 @@ dependencies: ...@@ -19,7 +18,56 @@ dependencies:
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
mockito: "^2.0.2" mockito: 2.2.0
args: 0.13.7 # TRANSITIVE DEPENDENCY
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
cli_util: 0.1.2+1 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
file: 2.3.4 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
intl_translation: 0.15.0 # TRANSITIVE DEPENDENCY
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
json_rpc_2: 2.0.4 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
matcher: 0.12.1+4 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.2 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
path: 1.4.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
plugin: 0.2.0+1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.24.0 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.8.2 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.1 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.24+2 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vm_service_client: 0.2.2+4 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
web_socket_channel: 1.0.5 # TRANSITIVE DEPENDENCY
yaml: 2.1.12 # TRANSITIVE DEPENDENCY
environment: environment:
sdk: '>=1.19.0 <2.0.0' sdk: '>=1.19.0 <2.0.0'
...@@ -9,18 +9,64 @@ environment: ...@@ -9,18 +9,64 @@ environment:
dependencies: dependencies:
file: 2.3.4 file: 2.3.4
json_rpc_2: '^2.0.0' json_rpc_2: 2.0.4
matcher: '>=0.12.0 <1.0.0' matcher: 0.12.1+4
meta: ^1.0.5 meta: 1.1.1
path: '^1.4.0' path: 1.4.2
web_socket_channel: '^1.0.0' web_socket_channel: 1.0.5
vm_service_client: '0.2.2+4' vm_service_client: 0.2.2+4
flutter: flutter:
sdk: flutter sdk: flutter
flutter_test: flutter_test:
sdk: flutter sdk: flutter
dev_dependencies: dev_dependencies:
test: any # pinned by flutter_test test: 0.12.24+2
mockito: ^2.0.2 mockito: 2.2.0
quiver: ^0.24.0 quiver: 0.24.0
args: 0.13.7 # TRANSITIVE DEPENDENCY
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
cli_util: 0.1.2+1 # TRANSITIVE DEPENDENCY
collection: 1.14.3 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http: 0.11.3+14 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
intl: 0.15.1 # TRANSITIVE DEPENDENCY
intl_translation: 0.15.0 # TRANSITIVE DEPENDENCY
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.2 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
plugin: 0.2.0+1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.8.2 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.1 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vector_math: 2.0.5 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
yaml: 2.1.12 # TRANSITIVE DEPENDENCY
name: flutter_test name: flutter_test
version: 0.0.14-dev version: 0.0.14-dev
dependencies: dependencies:
args: ^0.13.7
# The flutter tools depend on very specific internal implementation # The flutter tools depend on very specific internal implementation
# details of the 'test' package, which change between versions, so # details of the 'test' package, which change between versions, so
# here we pin it precisely to avoid version skew across our # here we pin it precisely to avoid version skew across our
...@@ -11,7 +10,7 @@ dependencies: ...@@ -11,7 +10,7 @@ dependencies:
test: 0.12.24+2 test: 0.12.24+2
# We use FakeAsync and other testing utilities. # We use FakeAsync and other testing utilities.
quiver: ^0.24.0 quiver: 0.24.0
flutter: flutter:
sdk: flutter sdk: flutter
...@@ -19,10 +18,60 @@ dependencies: ...@@ -19,10 +18,60 @@ dependencies:
# We import stack_trace because the test packages uses it and we # We import stack_trace because the test packages uses it and we
# need to be able to unmangle the stack traces that it passed to # need to be able to unmangle the stack traces that it passed to
# stack_trace. See https://github.com/dart-lang/test/issues/590 # stack_trace. See https://github.com/dart-lang/test/issues/590
stack_trace: any # use version expected by test package stack_trace: 1.8.2
# We override the createHttpClient in flutter with a MockClient. # We override the createHttpClient in flutter with a MockClient.
http: any # use version expected by flutter http: 0.11.3+14
# Used by globalToLocal et al. # Used by globalToLocal et al.
vector_math: any # use version expected by flutter vector_math: 2.0.5
args: 0.13.7 # TRANSITIVE DEPENDENCY
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
cli_util: 0.1.2+1 # TRANSITIVE DEPENDENCY
collection: 1.14.3 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
file: 2.3.4 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
intl: 0.15.1 # TRANSITIVE DEPENDENCY
intl_translation: 0.15.0 # TRANSITIVE DEPENDENCY
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
json_rpc_2: 2.0.4 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
matcher: 0.12.1+4 # TRANSITIVE DEPENDENCY
meta: 1.1.1 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.2 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
path: 1.4.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
plugin: 0.2.0+1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.1 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vm_service_client: 0.2.2+4 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
web_socket_channel: 1.0.5 # TRANSITIVE DEPENDENCY
yaml: 2.1.12 # TRANSITIVE DEPENDENCY
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
import 'dart:async'; import 'dart:async';
import 'package:meta/meta.dart';
import '../base/file_system.dart'; import '../base/file_system.dart';
import '../base/logger.dart'; import '../base/logger.dart';
import '../base/net.dart'; import '../base/net.dart';
...@@ -15,9 +17,10 @@ import '../runner/flutter_command.dart'; ...@@ -15,9 +17,10 @@ import '../runner/flutter_command.dart';
class UpdatePackagesCommand extends FlutterCommand { class UpdatePackagesCommand extends FlutterCommand {
UpdatePackagesCommand({ this.hidden: false }) { UpdatePackagesCommand({ this.hidden: false }) {
argParser.addFlag( argParser.addFlag(
'upgrade', 'force-upgrade',
help: 'Ignores pubspec.lock and retrieves newer versions of packages.', help: 'Attempt to update all the dependencies to their latest versions.\n'
defaultsTo: false 'This will actually modify the pubspec.yaml files in your checkout.',
defaultsTo: false,
); );
} }
...@@ -31,7 +34,7 @@ class UpdatePackagesCommand extends FlutterCommand { ...@@ -31,7 +34,7 @@ class UpdatePackagesCommand extends FlutterCommand {
final bool hidden; final bool hidden;
Future<Null> _downloadCoverageData() async { Future<Null> _downloadCoverageData() async {
final Status status = logger.startProgress("Downloading lcov data for package:flutter...", expectSlowOperation: true); final Status status = logger.startProgress('Downloading lcov data for package:flutter...', expectSlowOperation: true);
final List<int> data = await fetchUrl(Uri.parse('https://storage.googleapis.com/flutter_infra/flutter/coverage/lcov.info')); final List<int> data = await fetchUrl(Uri.parse('https://storage.googleapis.com/flutter_infra/flutter/coverage/lcov.info'));
final String coverageDir = fs.path.join(Cache.flutterRoot, 'packages/flutter/coverage'); final String coverageDir = fs.path.join(Cache.flutterRoot, 'packages/flutter/coverage');
fs.file(fs.path.join(coverageDir, 'lcov.base.info')) fs.file(fs.path.join(coverageDir, 'lcov.base.info'))
...@@ -45,13 +48,104 @@ class UpdatePackagesCommand extends FlutterCommand { ...@@ -45,13 +48,104 @@ class UpdatePackagesCommand extends FlutterCommand {
@override @override
Future<Null> runCommand() async { Future<Null> runCommand() async {
final List<Directory> packages = runner.getRepoPackages();
final bool upgrade = argResults['force-upgrade'];
if (upgrade) {
printStatus('Upgrading packages...');
// This feature attempts to collect all the packages used across all the
// pubspec.yamls in the repo (including via transitive dependencies), and
// find the latest version of each that can be used while keeping each
// such package fixed at a single version across all the pubspec.yamls.
//
// First, collect up the explicit dependencies:
final List<PubspecYaml> pubspecs = <PubspecYaml>[];
final Map<String, PubspecDependency> dependencies = <String, PubspecDependency>{};
final Set<String> specialDependencies = new Set<String>();
for (Directory directory in packages) { // these are all the directories with pubspec.yamls we care about
printTrace('Reading pubspec.yaml from: ${directory.path}');
final PubspecYaml pubspec = new PubspecYaml(directory); // this parses the pubspec.yaml
pubspecs.add(pubspec); // remember it for later
for (PubspecDependency dependency in pubspec.dependencies) { // this is all the explicit dependencies
if (dependencies.containsKey(dependency.name)) {
// If we've seen the dependency before, make sure that we are
// importing it the same way. There's several ways to import a
// dependency. Hosted (from pub via version number), by path (e.g.
// pointing at the version of a package we get from the Dart SDK
// that we download with Flutter), by SDK (e.g. the "flutter"
// package is explicitly from "sdk: flutter").
//
// This makes sure that we don't import a package in two different
// ways, e.g. by saying "sdk: flutter" in one pubspec.yaml and
// saying "path: ../../..." in another.
final PubspecDependency previous = dependencies[dependency.name];
if (dependency.kind != previous.kind || dependency.lockTarget != previous.lockTarget) {
throw 'Inconsistent requirements around ${dependency.name}; '
'saw ${dependency.kind} (${dependency.lockTarget}) in "${dependency.sourcePath}" '
'and ${previous.kind} (${previous.lockTarget}) in "${previous.sourcePath}".';
}
}
// Remember this dependency by name so we can look it up again.
dependencies[dependency.name] = dependency;
// Normal dependencies are those we get from pub. The others we
// already implicitly pin since we pull down one version of the
// Flutter and Dart SDKs, so we track which those are here so that we
// can omit them from our list of pinned dependencies later.
if (dependency.kind != DependencyKind.normal)
specialDependencies.add(dependency.name);
}
}
// Now that we have all the dependencies we explicitly care about, we are
// going to create a fake package and then run "pub upgrade" on it. The
// pub tool will attempt to bring these dependencies up to the most recent
// possible versions while honoring all their constraints.
final PubDependencyTree tree = new PubDependencyTree(); // object to collect results
final Directory temporaryDirectory = fs.systemTempDirectory.createTempSync('flutter_update_packages_');
try {
final File fakePackage = _pubspecFor(temporaryDirectory);
fakePackage.createSync();
fakePackage.writeAsStringSync(_generateFakePubspec(dependencies.values));
// First we run "pub upgrade" on this generated package:
await pubGet(directory: temporaryDirectory.path, upgrade: true, checkLastModified: false);
// Then we run "pub deps --style=compact" on the result. We pipe all the
// output to tree.fill(), which parses it so that it can create a graph
// of all the dependencies so that we can figure out the transitive
// dependencies later. It also remembers which version was selected for
// each package.
await pub(
<String>['deps', '--style=compact'],
directory: temporaryDirectory.path,
filter: tree.fill,
retry: false, // errors here are usually fatal since we're not hitting the network
);
} finally {
temporaryDirectory.deleteSync(recursive: true);
}
// Now that we have collected all the data, we can apply our dependency
// versions to each pubspec.yaml that we collected. This mutates the
// pubspec.yaml files.
//
// The specialDependencies argument is the set of package names to not pin
// to specific versions because they are explicitly pinned by their
// constraints. Here we list the names we earlier established we didn't
// need to pin because they come from the Dart or Flutter SDKs.
for (PubspecYaml pubspec in pubspecs)
pubspec.apply(tree, specialDependencies);
// Now that the pubspec.yamls are updated, we run "pub get" on each one so
// that the various packages are ready to use. This is what "flutter
// update-packages" does without --force-upgrade, so we can just fall into
// the regular code path.
}
final Stopwatch timer = new Stopwatch()..start(); final Stopwatch timer = new Stopwatch()..start();
int count = 0; int count = 0;
final bool upgrade = argResults['upgrade'];
for (Directory dir in runner.getRepoPackages()) { for (Directory dir in packages) {
await pubGet(directory: dir.path, upgrade: upgrade, checkLastModified: false); await pubGet(directory: dir.path, checkLastModified: false);
count++; count += 1;
} }
await _downloadCoverageData(); await _downloadCoverageData();
...@@ -60,3 +154,619 @@ class UpdatePackagesCommand extends FlutterCommand { ...@@ -60,3 +154,619 @@ class UpdatePackagesCommand extends FlutterCommand {
printStatus('\nRan \'pub\' $count time${count == 1 ? "" : "s"} and fetched coverage data in ${seconds.toStringAsFixed(1)}s.'); printStatus('\nRan \'pub\' $count time${count == 1 ? "" : "s"} and fetched coverage data in ${seconds.toStringAsFixed(1)}s.');
} }
} }
/// The various sections of a pubspec.yaml file. We care about the
/// "dependencies", "dev_dependencies", and "dependency_overrides" sections, the
/// others are all bucketed into "other".
enum Section { dependencies, devDependencies, dependencyOverrides, other }
/// The various kinds of dependencies we know and care about.
enum DependencyKind {
// Dependencies that will be path or sdk dependencies but
// for which we haven't yet parsed the data.
unknown,
// Regular dependencies with a specified version range.
normal,
// Dependency that uses an explicit path, e.g. into the Dart SDK.
path,
// Dependency defined as coming from an SDK (typically "sdk: flutter").
sdk,
// A dependency that was "normal", but for which we later found a "path" or
// "sdk" dependency in the dependency_overrides section.
overridden,
}
/// This is the string we output next to each of our autogenerated transitive
/// dependencies so that we can ignore them the next time we parse the
/// pubspec.yaml file.
const String kTransitiveMagicString = '# TRANSITIVE DEPENDENCY';
/// This class represents a pubspec.yaml file for the purposes of upgrading the
/// dependencies as done by this file.
class PubspecYaml {
/// You create one of these by providing a directory, from which we obtain the
/// pubspec.yaml and parse it into a line-by-line form.
factory PubspecYaml(Directory directory) {
final File file = _pubspecFor(directory);
return new PubspecYaml._(file, _parse(file.path, file.readAsLinesSync()));
}
PubspecYaml._(this.file, this.inputData);
final File file; // The actual pubspec.yaml file.
final List<PubspecLine> inputData; // Each line of the pubspec.yaml file, parsed(ish).
/// This parses each line of a pubspec.yaml file (a list of lines) into
/// slightly more structured data (in the form of a list of PubspecLine
/// objects). We don't just use a YAML parser because we care about comments
/// and also because we can just define the style of pubspec.yaml files we care
/// about (since they're all under our control).
static List<PubspecLine> _parse(String filename, List<String> lines) {
final List<PubspecLine> result = <PubspecLine>[]; // The output buffer.
Section section = Section.other; // Which section we're currently reading from.
bool seenMain = false; // Whether we've seen the "dependencies:" section.
bool seenDev = false; // Whether we've seen the "dev_dependencies:" section.
// The masterDependencies map is used to keep track of the objects
// representing actual dependencies we've seen so far in this file so that
// if we see dependency overrides we can update the actual dependency so it
// knows that it's not really a dependency.
final Map<String, PubspecDependency> masterDependencies = <String, PubspecDependency>{};
// The "special" dependencies (the ones that use git: or path: or sdk: or
// whatnot) have the style of having extra data after the line that declares
// the dependency. So we track what is the "current" (or "last") dependency
// that we are dealing with using this variable.
PubspecDependency lastDependency;
for (String line in lines) {
if (lastDependency == null) {
// First we look to see if we're transitioning to a new top-level section.
// The PubspecHeader.parse static method can recognize those headers.
final PubspecHeader header = PubspecHeader.parse(line); // See if it's a header.
if (header != null) { // It is!
section = header.section; // The parser determined what kind of section it is.
if (section == Section.dependencies) {
// If we're entering the "dependencies" section, we want to make sure that
// it's the first section (of those we care about) that we've seen so far.
if (seenMain)
throw 'Two dependencies sections found in $filename. There should only be one.';
if (seenDev) {
throw 'The dependencies section was after the dev_dependencies section in $filename. '
'To enable one-pass processing, the dependencies section must come before the '
'dev_dependencies section.';
}
seenMain = true;
} else if (section == Section.devDependencies) {
// Similarly, if we're entering the dev_dependencies section, we should verify
// that we've not seen one already.
if (seenDev)
throw 'Two dev_dependencies sections found in $filename. There should only be one.';
seenDev = true;
}
result.add(header);
} else if (section == Section.other) {
// This line isn't a section header, and we're not in a section we care about.
// We just stick the line into the output unmodified.
result.add(new PubspecLine(line));
} else {
// We're in a section we care about. Try to parse out the dependency:
final PubspecDependency dependency = PubspecDependency.parse(line, filename: filename);
if (dependency != null) { // We got one!
result.add(dependency);
if (dependency.kind == DependencyKind.unknown) {
// If we didn't get a version number, then we need to be ready to
// read the next line as part of this dependency, so keep track of
// this dependency object.
lastDependency = dependency;
}
if (section != Section.dependencyOverrides) {
// If we're not in the overrides section, then just remember the
// dependency, in case it comes up again later in the overrides
// section.
//
// First, make sure it's a unique dependency. Listing dependencies
// twice doesn't make sense.
if (masterDependencies.containsKey(dependency.name))
throw '$filename contains two dependencies on ${dependency.name}.';
masterDependencies[dependency.name] = dependency;
} else {
// If we _are_ in the overrides section, then go tell the version
// we saw earlier (if any -- there might not be, we might be
// overriding a transitive dependency) that we have overridden it,
// so that later when we output the dependencies we can leave
// the line unmodified.
masterDependencies[dependency.name]?.markOverridden(dependency);
}
} else {
// We're in a section we care about but got a line we didn't
// recognize. Maybe it's a comment or a blank line or something.
// Just pass it through.
result.add(new PubspecLine(line));
}
}
} else {
// If we're here it means the last line was a dependency that needed
// extra information to be parsed from the next line.
//
// Try to parse the line by giving it to the last PubspecDependency
// object we created. If parseLock fails to recognize the line, it will
// throw. If it does recognize the line but decides it's one we don't
// care about (specifically, "git:" dependencies), it'll return false.
// Otherwise it returns true.
//
// If it returns true, then it will have updated itself internally to
// store the information from this line.
if (!lastDependency.parseLock(line, filename, lockIsOverride: section == Section.dependencyOverrides)) {
// Ok we're dealing with some "git:" dependency. Let's pretend we
// never saw it. In practice this is only used for the flutter gallery
// assets dependency which we don't care about especially since it has
// no subdependencies and it's pinned by git hash.
//
// Remove the PubspecDependency entry we had for it and replace it
// with a PubspecLine entry, and add such an entry for this line.
result.removeLast();
result.add(new PubspecLine(lastDependency.line));
result.add(new PubspecLine(line));
}
// We're done with this special dependency, so reset back to null so
// we'll go in the top section next time instead.
lastDependency = null;
}
}
return result;
}
/// This returns all the explicit dependencies that this pubspec.yaml lists.
Iterable<PubspecDependency> get dependencies sync* {
// It works by iterating over the parsed data from _parse above, collecting
// all the dependencies that were found, ignoring any that are flagged as as
// overridden by subsequent entries in the same file and any that have the
// magic comment flagging them as auto-generated transitive dependencies
// that we added in a previous run.
for (PubspecLine data in inputData) {
if (data is PubspecDependency && data.kind != DependencyKind.overridden && !data.isTransitive)
yield data;
}
}
/// Take a dependency graph with explicit version numbers, and apply them to
/// the pubspec.yaml, ignoring any that we know are special dependencies (those
/// that depend on the Flutter or Dart SDK directly and are thus automatically
/// pinned).
void apply(PubDependencyTree versions, Set<String> specialDependencies) {
assert(versions != null);
final List<String> output = <String>[]; // the string data to output to the file, line by line
final Set<String> done = new Set<String>(); // packages we've already dealt with
Section section = Section.other; // the section we're currently handling
int lastPossiblePlace; // the line number where we're going to insert the transitive dependencies
// Walk the pre-parsed input file, outputting it unmodified except for
// updating version numbers, removing the old transitive dependencies lines,
// and adding our new transitive dependencies lines. We also do a little
// cleanup, removing trailing spaces, removing double-blank lines, leading
// blank lines, and trailing blank lines, and ensuring the file ends with a
// newline. This cleanup lets us be a little more aggressive while building
// the output.
for (PubspecLine data in inputData) {
if (data is PubspecHeader) {
// This line was a header of some sort.
//
// If we're leaving one of the sections in which we can list transitive
// dependencies, then remember this as the current last known valid
// place to insert our transitive dependencies.
if (section == Section.dependencies || section == Section.devDependencies)
lastPossiblePlace = output.length;
section = data.section; // track which section we're now in.
output.add(data.line); // insert the header into the output
} else if (data is PubspecDependency) {
// This was a dependency of some sort.
// How we handle this depends on the section.
switch (section) {
case Section.dependencies:
case Section.devDependencies:
// For the dependencies and dev_dependencies sections, we reinsert
// the dependency if it wasn't one of our autogenerated transitive
// dependency lines.
if (!data.isTransitive) {
assert(!done.contains(data.name));
assert(versions.contains(data.name));
if (data.kind == DependencyKind.normal) {
// This is a regular dependency, so we need to update the
// version number.
//
// We output data that matches the format that
// PubspecDependency.parse can handle. The data.suffix is any
// previously-specified trailing comment.
output.add(' ${data.name}: ${versions.versionFor(data.name)}${data.suffix}');
} else {
// If it wasn't a regular dependency, then we output the line
// unmodified. If there was an additional line (e.g. an "sdk:
// flutter" line) then we output that too.
output.add(data.line);
if (data.lockLine != null)
output.add(data.lockLine);
}
// Remember that we've dealt with this dependency so we don't
// mention it again when doing the transitive dependencies.
done.add(data.name);
}
// Since we're in one of the places where we can list dependencies,
// remember this as the current last known valid place to insert our
// transitive dependencies.
lastPossiblePlace = output.length;
break;
default:
// In other sections, pass everything through in its original form.
output.add(data.line);
if (data.lockLine != null)
output.add(data.lockLine);
break;
}
} else {
// Not a header, not a dependency, just pass that through unmodified.
output.add(data.line);
}
}
// By this point we should know where to put our transitive dependencies.
// Only if there were no dependencies: or dev_dependencies: sections could
// we get here with this still null, and we should not have any such files
// in our repo.
assert(lastPossiblePlace != null);
// Now include all the transitive dependencies.
final List<String> transitiveDependencyOutput = <String>[]; // the block of text to insert
final Set<String> transitiveDependencies = new Set<String>(); // which dependencies we need to handle
// Merge the list of dependencies we've seen in this file and the dependencies we know this
// file mentions that are already pinned (and which didn't get special processing above).
done.addAll(specialDependencies);
// Now, for each of those dependencies, find all the transitive dependencies.
for (String package in done.toList())
transitiveDependencies.addAll(versions.getTransitiveDependenciesFor(package, seen: new Set<String>.from(done)));
// Sort that list lexically so that we don't get noisy diffs when upgrading.
final List<String> transitiveDependenciesAsList = transitiveDependencies.toList()..sort();
// Add a blank line to keep the output clean. It doesn't matter if this adds
// redundant blank lines because we'll clean them out later.
transitiveDependencyOutput.add('');
// Add a line for each transitive dependency using our magic string to recognize them later.
for (String package in transitiveDependenciesAsList)
transitiveDependencyOutput.add(' $package: ${versions.versionFor(package)} $kTransitiveMagicString');
// Add a blank line on the other end to keep the output clean again, as before.
transitiveDependencyOutput.add('');
// Insert the block of transitive dependency declarations into the output in
// the place we previously established was optimal.
output.insertAll(lastPossiblePlace, transitiveDependencyOutput);
// Remove trailing lines.
while (output.last.isEmpty)
output.removeLast();
// Output the result to the pubspec.yaml file, skipping leading and
// duplicate blank lines and removing trailing spaces.
final StringBuffer contents = new StringBuffer();
bool hadBlankLine = true;
for (String line in output) {
line = line.trimRight();
if (line == '') {
if (!hadBlankLine)
contents.writeln('');
hadBlankLine = true;
} else {
contents.writeln(line);
hadBlankLine = false;
}
}
file.writeAsStringSync(contents.toString());
}
}
/// This is the base class for the objects that represent lines in the
/// pubspec.yaml files.
class PubspecLine {
PubspecLine(this.line);
/// The raw line as we saw it in the original file. This is used so that we can
/// output the same line unmodified for the majority of lines.
final String line;
}
/// A header, e.g. "dependencies:".
class PubspecHeader extends PubspecLine {
PubspecHeader(String line, this.section) : super(line);
final Section section;
static PubspecHeader parse(String line) {
// We recognize any line that:
// * doesn't start with a space (i.e. is aligned on the left edge)
// * ignoring trailing spaces and comments, ends with a colon
// * has contents before the colon
// We also try to recognize which of the kinds of Sections it is
// by comparing those contents against known strings.
if (line.startsWith(' '))
return null;
final String strippedLine = _stripComments(line);
if (!strippedLine.endsWith(':') || strippedLine.length <= 1)
return null;
final String sectionName = strippedLine.substring(0, strippedLine.length - 1);
switch (sectionName) {
case 'dependencies':
return new PubspecHeader(line, Section.dependencies);
case 'dev_dependencies':
return new PubspecHeader(line, Section.devDependencies);
case 'dependency_overrides':
return new PubspecHeader(line, Section.dependencyOverrides);
default:
return new PubspecHeader(line, Section.other);
}
}
/// Returns the input after removing trailing spaces and anything after the
/// first "#".
static String _stripComments(String line) {
final int hashIndex = line.indexOf('#');
if (hashIndex < 0)
return line.trimRight();
return line.substring(0, hashIndex).trimRight();
}
}
/// A dependency, as represented by a line (or two) from a pubspec.yaml file.
class PubspecDependency extends PubspecLine {
PubspecDependency(String line, this.name, this.suffix, {
@required this.isTransitive,
DependencyKind kind,
this.sourcePath,
}) : _kind = kind, super(line);
static PubspecDependency parse(String line, { @required String filename }) {
// We recognize any line that:
// * starts with exactly two spaces, no more or less
// * has some content, then a colon
//
// If we recognize the line, then we look to see if there's anything after
// the colon, ignoring comments. If there is, then this is a normal
// dependency, otherwise it's an unknown one.
//
// We also look at the trailing comment, if any, to see if it is the magic
// string that identifies the line as a transitive dependency that we
// previously pinned, so we can ignore it.
//
// We remember the trailing comment, if any, so that we can reconstruct the
// line later. We forget the specified version range, if any.
if (line.length < 4 || line.startsWith(' ') || !line.startsWith(' '))
return null;
final int colonIndex = line.indexOf(':');
final int hashIndex = line.indexOf('#');
if (colonIndex < 3) // two spaces at 0 and 1, a character at 2
return null;
if (hashIndex >= 0 && hashIndex < colonIndex)
return null;
final String package = line.substring(2, colonIndex).trimRight();
assert(package.isNotEmpty);
assert(line.startsWith(' $package'));
String suffix = '';
bool isTransitive = false;
String stripped;
if (hashIndex >= 0) {
assert(hashIndex > colonIndex);
final String trailingComment = line.substring(hashIndex, line.length);
assert(line.endsWith(trailingComment));
isTransitive = trailingComment == kTransitiveMagicString;
suffix = ' ' + trailingComment;
stripped = line.substring(colonIndex + 1, hashIndex).trimRight();
} else {
stripped = line.substring(colonIndex + 1, line.length).trimRight();
}
return new PubspecDependency(line, package, suffix, isTransitive: isTransitive, kind: stripped.isEmpty ? DependencyKind.unknown : DependencyKind.normal, sourcePath: filename);
}
final String name; // the package name
final String suffix; // any trailing comment we found
final bool isTransitive; // whether the suffix matched kTransitiveMagicString
final String sourcePath; // the filename of the pubspec.yaml file, for error messages
DependencyKind get kind => _kind;
DependencyKind _kind = DependencyKind.normal;
/// If we're a path or sdk dependency, the path or sdk in question.
String get lockTarget => _lockTarget;
String _lockTarget;
/// If we were a two-line dependency, the second line (see the inherited [line]
/// for the first).
String get lockLine => _lockLine;
String _lockLine;
/// If we're a path or sdk dependency, whether we were found in a
/// dependencies/dev_dependencies section, or a dependency_overrides section.
/// We track this so that we can put ourselves in the right section when
/// generating the fake pubspec.yaml.
bool get lockIsOverride => _lockIsOverride;
bool _lockIsOverride;
static const String _kPathPrefix = ' path: ';
static const String _kSdkPrefix = ' sdk: ';
static const String _kGitPrefix = ' git:';
/// If parse decided we were a two-line dependency, this is called to parse the second line.
/// We throw if we couldn't parse this line.
/// We return true if we parsed it and stored the line in lockLine.
/// We return false if we parsed it but want to forget the whole thing.
bool parseLock(String line, String pubspecPath, { @required bool lockIsOverride }) {
assert(lockIsOverride != null);
assert(kind == DependencyKind.unknown);
if (line.startsWith(_kPathPrefix)) {
// We're a path dependency; remember the (absolute) path.
_lockTarget = fs.path.absolute(fs.path.dirname(pubspecPath), line.substring(_kPathPrefix.length, line.length));
_kind = DependencyKind.path;
} else if (line.startsWith(_kSdkPrefix)) {
// We're an SDK dependency.
_lockTarget = line.substring(_kSdkPrefix.length, line.length);
_kind = DependencyKind.sdk;
} else if (line.startsWith(_kGitPrefix)) {
// We're a git: dependency. Return false so we'll be forgotten.
return false;
} else {
throw 'Could not parse additional details for dependency $name; line was: "$line"';
}
_lockIsOverride = lockIsOverride;
_lockLine = line;
return true;
}
void markOverridden(PubspecDependency sibling) {
// This is called when we find a dependency is mentioned a second time,
// first in dependencies/dev_dependencies, and then in dependency_overrides.
// It is called on the one found in dependencies/dev_dependencies, so that
// we'll later know to report our version as "any" in the fake pubspec.yaml
// and unmodified in the official pubspec.yamls.
assert(sibling.name == name);
assert(sibling.sourcePath == sourcePath);
assert(sibling.kind != DependencyKind.normal);
_kind = DependencyKind.overridden;
}
/// This generates the entry for this dependency for the pubspec.yaml for the
/// fake package that we'll use to get the version numbers figured out.
void describeForFakePubspec(StringBuffer dependencies, StringBuffer overrides) {
switch (kind) {
case DependencyKind.unknown:
case DependencyKind.overridden:
assert(kind != DependencyKind.unknown);
break;
case DependencyKind.normal:
dependencies.writeln(' $name: any');
break;
case DependencyKind.path:
if (_lockIsOverride) {
dependencies.writeln(' $name: any');
overrides.writeln(' $name:');
overrides.writeln(' path: $lockTarget');
} else {
dependencies.writeln(' $name:');
dependencies.writeln(' path: $lockTarget');
}
break;
case DependencyKind.sdk:
if (_lockIsOverride) {
dependencies.writeln(' $name: any');
overrides.writeln(' $name:');
overrides.writeln(' sdk: $lockTarget');
} else {
dependencies.writeln(' $name:');
dependencies.writeln(' sdk: $lockTarget');
}
break;
}
}
}
/// Generates the File object for the pubspec.yaml file of a given Directory.
File _pubspecFor(Directory directory) {
return fs.file('${directory.path}/pubspec.yaml');
}
/// Generates the source of a fake pubspec.yaml file given a list of
/// dependencies.
String _generateFakePubspec(Iterable<PubspecDependency> dependencies) {
final StringBuffer result = new StringBuffer();
final StringBuffer overrides = new StringBuffer();
result.writeln('name: flutter_update_packages');
result.writeln('dependencies:');
overrides.writeln('dependency_overrides:');
for (PubspecDependency dependency in dependencies)
dependency.describeForFakePubspec(result, overrides);
result.write(overrides.toString());
return result.toString();
}
/// This object tracks the output of a call to "pub deps --style=compact".
///
/// It ends up holding the full graph of dependencies, and the version number for
/// each one.
class PubDependencyTree {
final Map<String, String> _versions = <String, String>{};
final Map<String, Set<String>> _dependencyTree = <String, Set<String>>{};
/// Handles the output from "pub deps --style=compact".
///
/// That output is of this form:
///
/// ```
/// package_name 0.0.0
///
/// dependencies:
/// - analyzer 0.31.0-alpha.0 [watcher args package_config collection]
/// - archive 1.0.31 [crypto args path]
/// - args 0.13.7
/// - cli_util 0.1.2+1 [path]
///
/// dev dependencies:
/// - async 1.13.3 [collection]
/// - barback 0.15.2+11 [stack_trace source_span pool async collection path]
///
/// dependency overrides:
/// - analyzer 0.31.0-alpha.0 [watcher args package_config collection]
/// ```
///
/// We ignore all the lines that don't start with a hyphen. For each other
/// line, we ignore any line that mentions a package we've already seen (this
/// happens when the overrides section mentions something that was in the
/// dependencies section). We ignore if something is a dependency or
/// dev_dependency (pub won't use different versions for those two).
///
/// We then parse out the package name, version number, and subdependencies for
/// each entry, and store than in our _versions and _dependencyTree fields
/// above.
String fill(String message) {
if (message.startsWith('- ')) {
final int space2 = message.indexOf(' ', 2);
int space3 = message.indexOf(' ', space2 + 1);
if (space3 < 0)
space3 = message.length;
final String package = message.substring(2, space2);
if (!contains(package)) {
// Some packages get listed in the dependency overrides section too.
// We just ignore those. The data is the same either way.
final String version = message.substring(space2 + 1, space3);
List<String> dependencies;
if (space3 < message.length) {
assert(message[space3 + 1] == '[');
assert(message[message.length - 1] == ']');
final String allDependencies = message.substring(space3 + 2, message.length - 1);
dependencies = allDependencies.split(' ');
} else {
dependencies = const <String>[];
}
_versions[package] = version;
_dependencyTree[package] = new Set<String>.from(dependencies);
}
}
return null;
}
/// Whether we know about this package.
bool contains(String package) {
return _versions.containsKey(package);
}
/// The transitive closure of all the dependencies for the given package,
/// excluding any listen in `seen`.
Iterable<String> getTransitiveDependenciesFor(String package, { Set<String> seen }) sync* {
seen ??= new Set<String>();
for (String dependency in _dependencyTree[package]) {
if (!seen.contains(dependency)) {
yield dependency;
seen.add(dependency);
yield* getTransitiveDependenciesFor(dependency, seen: seen);
}
}
}
/// The version that a particular package ended up with.
String versionFor(String package) {
return _versions[package];
}
}
...@@ -7,31 +7,31 @@ environment: ...@@ -7,31 +7,31 @@ environment:
sdk: '>=1.19.0 <2.0.0' sdk: '>=1.19.0 <2.0.0'
dependencies: dependencies:
archive: ^1.0.20 archive: 1.0.31
args: ^0.13.4 args: 0.13.7
cli_util: ^0.1.2 cli_util: 0.1.2+1
coverage: ^0.9.2 coverage: 0.9.2
crypto: '>=1.1.1 <3.0.0' crypto: 2.0.2+1
file: 2.3.4 file: 2.3.4
http: ^0.11.3+12 http: 0.11.3+14
intl: '>=0.14.0 <0.16.0' intl: 0.15.1
json_rpc_2: ^2.0.0 json_rpc_2: 2.0.4
json_schema: 1.0.6 json_schema: 1.0.6
linter: 0.1.35 linter: 0.1.35
meta: ^1.0.5 meta: 1.1.1
mustache: ^0.2.5 mustache: 0.2.5+1
package_config: '>=0.1.5 <2.0.0' package_config: 1.0.2
platform: 2.1.1 platform: 2.1.1
plugin: ^0.2.0 plugin: 0.2.0+1
process: 2.0.5 process: 2.0.5
quiver: ^0.24.0 quiver: 0.24.0
stack_trace: ^1.4.0 stack_trace: 1.8.2
stream_channel: ^1.6.1 stream_channel: 1.6.1
usage: ^3.2.0+1 usage: 3.3.0
vm_service_client: '0.2.2+4' vm_service_client: 0.2.2+4
web_socket_channel: ^1.0.4 web_socket_channel: 1.0.5
xml: ^2.4.1 xml: 2.6.0
yaml: ^2.1.3 yaml: 2.1.12
# We depend on very specific internal implementation details of the # We depend on very specific internal implementation details of the
# 'test' package, which change between versions, so here we pin it # 'test' package, which change between versions, so here we pin it
...@@ -42,15 +42,52 @@ dependencies: ...@@ -42,15 +42,52 @@ dependencies:
test: 0.12.24+2 test: 0.12.24+2
# Version from the vended Dart SDK as defined in `dependency_overrides`. # Version from the vended Dart SDK as defined in `dependency_overrides`.
analyzer: any analyzer: 0.31.0-alpha.0
front_end: any front_end: 0.1.0-alpha.5
dev_dependencies: dev_dependencies:
collection: '>=1.9.1 <2.0.0' collection: 1.14.3
mockito: ^2.0.2 mockito: 2.2.0
async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+11 # TRANSITIVE DEPENDENCY
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
charcode: 1.1.1 # TRANSITIVE DEPENDENCY
convert: 2.0.1 # TRANSITIVE DEPENDENCY
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
dart_style: 1.0.8 # TRANSITIVE DEPENDENCY
glob: 1.1.3 # TRANSITIVE DEPENDENCY
html: 0.13.2 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.3 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
intl_translation: 0.15.0 # TRANSITIVE DEPENDENCY
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
js: 0.6.1 # TRANSITIVE DEPENDENCY
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
matcher: 0.12.1+4 # TRANSITIVE DEPENDENCY
mime: 0.9.3 # TRANSITIVE DEPENDENCY
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
path: 1.4.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY
pool: 1.3.2 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
shelf: 0.7.0 # TRANSITIVE DEPENDENCY
shelf_packages_handler: 1.0.3 # TRANSITIVE DEPENDENCY
shelf_static: 0.2.5 # TRANSITIVE DEPENDENCY
shelf_web_socket: 0.2.1 # TRANSITIVE DEPENDENCY
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
utf: 0.9.0+3 # TRANSITIVE DEPENDENCY
vector_math: 2.0.5 # TRANSITIVE DEPENDENCY
watcher: 0.9.7+4 # TRANSITIVE DEPENDENCY
# Exclude this package from the hosted API docs.
dartdoc: dartdoc:
# Exclude this package from the hosted API docs.
nodoc: true nodoc: true
dependency_overrides: dependency_overrides:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment