Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
b06a7093
Unverified
Commit
b06a7093
authored
Feb 06, 2019
by
Jonah Williams
Committed by
GitHub
Feb 06, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use flutter_tools to generate build_script (#27277)
parent
7765dd4c
Changes
27
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
532 additions
and
205 deletions
+532
-205
pubspec.yaml
dev/automated_tests/pubspec.yaml
+3
-3
pubspec.yaml
dev/benchmarks/complex_layout/pubspec.yaml
+3
-3
pubspec.yaml
dev/benchmarks/macrobenchmarks/pubspec.yaml
+3
-3
pubspec.yaml
dev/benchmarks/microbenchmarks/pubspec.yaml
+3
-3
pubspec.yaml
dev/bots/pubspec.yaml
+3
-3
pubspec.yaml
dev/devicelab/pubspec.yaml
+3
-3
pubspec.yaml
dev/integration_tests/android_semantics_testing/pubspec.yaml
+3
-3
pubspec.yaml
dev/integration_tests/android_views/pubspec.yaml
+3
-3
pubspec.yaml
dev/integration_tests/channels/pubspec.yaml
+3
-3
pubspec.yaml
dev/integration_tests/external_ui/pubspec.yaml
+3
-3
pubspec.yaml
dev/integration_tests/flavors/pubspec.yaml
+3
-3
pubspec.yaml
dev/integration_tests/platform_interaction/pubspec.yaml
+3
-3
pubspec.yaml
dev/integration_tests/ui/pubspec.yaml
+3
-3
pubspec.yaml
dev/snippets/pubspec.yaml
+3
-3
pubspec.yaml
examples/catalog/pubspec.yaml
+3
-3
pubspec.yaml
examples/flutter_gallery/pubspec.yaml
+4
-4
pubspec.yaml
examples/platform_channel/pubspec.yaml
+3
-3
kernel_builder.dart
packages/flutter_build/lib/src/kernel_builder.dart
+18
-16
pubspec.yaml
packages/flutter_build/pubspec.yaml
+3
-3
build_runner.dart
...ages/flutter_tools/lib/src/build_runner/build_runner.dart
+109
-51
build_script_generator.dart
...er_tools/lib/src/build_runner/build_script_generator.dart
+283
-0
update_packages.dart
packages/flutter_tools/lib/src/commands/update_packages.dart
+1
-1
context_runner.dart
packages/flutter_tools/lib/src/context_runner.dart
+2
-0
project.dart
packages/flutter_tools/lib/src/project.dart
+19
-0
pubspec.yaml
packages/flutter_tools/pubspec.yaml
+26
-4
build_runner_test.dart
...es/flutter_tools/test/build_runner/build_runner_test.dart
+5
-73
forbidden_imports_test.dart
packages/flutter_tools/test/forbidden_imports_test.dart
+14
-5
No files found.
dev/automated_tests/pubspec.yaml
View file @
b06a7093
...
...
@@ -9,7 +9,7 @@ dependencies:
sdk
:
flutter
flutter_test
:
sdk
:
flutter
test
:
1.5.
2
test
:
1.5.
3
analyzer
:
0.33.6+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.5.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -56,7 +56,7 @@ dependencies:
string_scanner
:
1.0.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.1.6
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
utf
:
0.9.0+5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.0.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -68,4 +68,4 @@ dependencies:
flutter
:
uses-material-design
:
true
# PUBSPEC CHECKSUM:
e195
# PUBSPEC CHECKSUM:
25f2
dev/benchmarks/complex_layout/pubspec.yaml
View file @
b06a7093
...
...
@@ -40,7 +40,7 @@ dependencies:
dev_dependencies
:
flutter_test
:
sdk
:
flutter
test
:
1.5.
2
test
:
1.5.
3
analyzer
:
0.33.6+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.5.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -74,7 +74,7 @@ dev_dependencies:
source_maps
:
0.10.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
string_scanner
:
1.0.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
utf
:
0.9.0+5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+10
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.1.15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -85,4 +85,4 @@ flutter:
-
packages/flutter_gallery_assets/people/square/ali.png
-
packages/flutter_gallery_assets/places/india_chettinad_silk_maker.png
# PUBSPEC CHECKSUM:
b266
# PUBSPEC CHECKSUM:
39c3
dev/benchmarks/macrobenchmarks/pubspec.yaml
View file @
b06a7093
...
...
@@ -40,7 +40,7 @@ dependencies:
dev_dependencies
:
flutter_test
:
sdk
:
flutter
test
:
1.5.
2
test
:
1.5.
3
analyzer
:
0.33.6+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.5.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -74,7 +74,7 @@ dev_dependencies:
source_maps
:
0.10.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
string_scanner
:
1.0.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
utf
:
0.9.0+5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+10
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.1.15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -82,4 +82,4 @@ dev_dependencies:
flutter
:
uses-material-design
:
true
# PUBSPEC CHECKSUM:
b266
# PUBSPEC CHECKSUM:
39c3
dev/benchmarks/microbenchmarks/pubspec.yaml
View file @
b06a7093
...
...
@@ -13,7 +13,7 @@ dependencies:
sdk
:
flutter
stocks
:
path
:
../../../examples/stocks
test
:
1.5.
2
test
:
1.5.
3
analyzer
:
0.33.6+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.5.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -64,7 +64,7 @@ dependencies:
string_scanner
:
1.0.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.1.6
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
utf
:
0.9.0+5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.0.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -76,4 +76,4 @@ dependencies:
flutter
:
uses-material-design
:
true
# PUBSPEC CHECKSUM:
61eb
# PUBSPEC CHECKSUM:
fd49
dev/bots/pubspec.yaml
View file @
b06a7093
...
...
@@ -13,7 +13,7 @@ dependencies:
platform
:
2.2.0
http
:
0.12.0+1
http_parser
:
3.1.3
test
:
1.5.
2
test
:
1.5.
3
analyzer
:
0.33.6+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
async
:
2.0.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -55,7 +55,7 @@ dependencies:
stream_channel
:
1.6.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
string_scanner
:
1.0.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.1.6
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
utf
:
0.9.0+5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -67,4 +67,4 @@ dev_dependencies:
mockito
:
4.0.0
test_api
:
0.2.2
# PUBSPEC CHECKSUM:
4e3a
# PUBSPEC CHECKSUM:
ca97
dev/devicelab/pubspec.yaml
View file @
b06a7093
...
...
@@ -37,7 +37,7 @@ dependencies:
dev_dependencies
:
# See packages/flutter_test/pubspec.yaml for why we're pinning this version.
test
:
1.5.
2
test
:
1.5.
3
analyzer
:
0.33.6+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
boolean_selector
:
1.0.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -69,9 +69,9 @@ dev_dependencies:
source_maps
:
0.10.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
string_scanner
:
1.0.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
utf
:
0.9.0+5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+10
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.1.15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
# PUBSPEC CHECKSUM:
cf24
# PUBSPEC CHECKSUM:
bc81
dev/integration_tests/android_semantics_testing/pubspec.yaml
View file @
b06a7093
...
...
@@ -6,7 +6,7 @@ dependencies:
sdk
:
flutter
flutter_driver
:
sdk
:
flutter
test
:
1.5.
2
test
:
1.5.
3
analyzer
:
0.33.6+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.5.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -54,7 +54,7 @@ dependencies:
string_scanner
:
1.0.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.1.6
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
utf
:
0.9.0+5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.0.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -66,4 +66,4 @@ dependencies:
flutter
:
uses-material-design
:
true
# PUBSPEC CHECKSUM:
13de
# PUBSPEC CHECKSUM:
7b3c
dev/integration_tests/android_views/pubspec.yaml
View file @
b06a7093
...
...
@@ -37,7 +37,7 @@ dependencies:
dev_dependencies
:
flutter_test
:
sdk
:
flutter
test
:
1.5.
2
test
:
1.5.
3
analyzer
:
0.33.6+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.5.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -71,7 +71,7 @@ dev_dependencies:
source_maps
:
0.10.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
string_scanner
:
1.0.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
utf
:
0.9.0+5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+10
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.1.15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -79,4 +79,4 @@ dev_dependencies:
flutter
:
uses-material-design
:
true
# PUBSPEC CHECKSUM:
eb90
# PUBSPEC CHECKSUM:
1bed
dev/integration_tests/channels/pubspec.yaml
View file @
b06a7093
...
...
@@ -10,7 +10,7 @@ dependencies:
sdk
:
flutter
flutter_driver
:
sdk
:
flutter
test
:
1.5.
2
test
:
1.5.
3
analyzer
:
0.33.6+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.5.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -58,7 +58,7 @@ dependencies:
string_scanner
:
1.0.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.1.6
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
utf
:
0.9.0+5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.0.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -70,4 +70,4 @@ dependencies:
flutter
:
uses-material-design
:
true
# PUBSPEC CHECKSUM:
13de
# PUBSPEC CHECKSUM:
7b3c
dev/integration_tests/external_ui/pubspec.yaml
View file @
b06a7093
...
...
@@ -10,7 +10,7 @@ dependencies:
sdk
:
flutter
flutter_driver
:
sdk
:
flutter
test
:
1.5.
2
test
:
1.5.
3
analyzer
:
0.33.6+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.5.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -58,7 +58,7 @@ dependencies:
string_scanner
:
1.0.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.1.6
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
utf
:
0.9.0+5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.0.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -70,4 +70,4 @@ dependencies:
flutter
:
uses-material-design
:
true
# PUBSPEC CHECKSUM:
13de
# PUBSPEC CHECKSUM:
7b3c
dev/integration_tests/flavors/pubspec.yaml
View file @
b06a7093
...
...
@@ -10,7 +10,7 @@ dependencies:
sdk
:
flutter
flutter_driver
:
sdk
:
flutter
test
:
1.5.
2
test
:
1.5.
3
analyzer
:
0.33.6+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.5.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -58,7 +58,7 @@ dependencies:
string_scanner
:
1.0.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.1.6
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
utf
:
0.9.0+5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.0.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -70,4 +70,4 @@ dependencies:
flutter
:
uses-material-design
:
true
# PUBSPEC CHECKSUM:
13de
# PUBSPEC CHECKSUM:
7b3c
dev/integration_tests/platform_interaction/pubspec.yaml
View file @
b06a7093
...
...
@@ -10,7 +10,7 @@ dependencies:
sdk
:
flutter
flutter_driver
:
sdk
:
flutter
test
:
1.5.
2
test
:
1.5.
3
analyzer
:
0.33.6+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.5.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -58,7 +58,7 @@ dependencies:
string_scanner
:
1.0.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.1.6
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
utf
:
0.9.0+5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.0.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -70,4 +70,4 @@ dependencies:
flutter
:
uses-material-design
:
true
# PUBSPEC CHECKSUM:
13de
# PUBSPEC CHECKSUM:
7b3c
dev/integration_tests/ui/pubspec.yaml
View file @
b06a7093
...
...
@@ -11,7 +11,7 @@ dependencies:
sdk
:
flutter
flutter_driver
:
sdk
:
flutter
test
:
1.5.
2
test
:
1.5.
3
analyzer
:
0.33.6+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
archive
:
2.0.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -60,7 +60,7 @@ dependencies:
stream_channel
:
1.6.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
string_scanner
:
1.0.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.1.6
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
utf
:
0.9.0+5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.0.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -80,4 +80,4 @@ dev_dependencies:
flutter
:
uses-material-design
:
true
# PUBSPEC CHECKSUM:
54f5
# PUBSPEC CHECKSUM:
e153
dev/snippets/pubspec.yaml
View file @
b06a7093
...
...
@@ -43,7 +43,7 @@ dependencies:
yaml
:
2.1.15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
dev_dependencies
:
test
:
1.5.
2
test
:
1.5.
3
boolean_selector
:
1.0.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
http
:
0.12.0+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -68,7 +68,7 @@ dev_dependencies:
stack_trace
:
1.9.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stream_channel
:
1.6.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.0.9
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -101,4 +101,4 @@ executables:
vm_service_client
:
0.2.6
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.0.9
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
# PUBSPEC CHECKSUM:
48f7
# PUBSPEC CHECKSUM:
bb55
examples/catalog/pubspec.yaml
View file @
b06a7093
...
...
@@ -20,7 +20,7 @@ dev_dependencies:
sdk
:
flutter
flutter_driver
:
sdk
:
flutter
test
:
1.5.
2
test
:
1.5.
3
analyzer
:
0.33.6+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.5.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -66,7 +66,7 @@ dev_dependencies:
string_scanner
:
1.0.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
utf
:
0.9.0+5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+10
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -76,4 +76,4 @@ dev_dependencies:
flutter
:
uses-material-design
:
true
# PUBSPEC CHECKSUM:
c6c7
# PUBSPEC CHECKSUM:
d225
examples/flutter_gallery/pubspec.yaml
View file @
b06a7093
...
...
@@ -10,7 +10,7 @@ dependencies:
collection
:
1.14.11
device_info
:
0.4.0
intl
:
0.15.7
connectivity
:
0.4.0
connectivity
:
0.4.0
+1
string_scanner
:
1.0.4
url_launcher
:
5.0.0
cupertino_icons
:
0.1.2
...
...
@@ -36,7 +36,7 @@ dev_dependencies:
sdk
:
flutter
flutter_goldens
:
sdk
:
flutter
test
:
1.5.
2
test
:
1.5.
3
analyzer
:
0.33.6+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.5.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -79,7 +79,7 @@ dev_dependencies:
stack_trace
:
1.9.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stream_channel
:
1.6.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
utf
:
0.9.0+5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+10
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -242,4 +242,4 @@ flutter:
-
asset
:
packages/flutter_gallery_assets/fonts/private/googlesans/GoogleSansDisplay-Regular.ttf
weight
:
400
# PUBSPEC CHECKSUM:
2c0e
# PUBSPEC CHECKSUM:
b3c7
examples/platform_channel/pubspec.yaml
View file @
b06a7093
...
...
@@ -18,7 +18,7 @@ dev_dependencies:
sdk
:
flutter
flutter_driver
:
sdk
:
flutter
test
:
1.5.
2
test
:
1.5.
3
analyzer
:
0.33.6+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.5.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -65,7 +65,7 @@ dev_dependencies:
string_scanner
:
1.0.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.2.1
+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
utf
:
0.9.0+5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+10
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -75,4 +75,4 @@ dev_dependencies:
flutter
:
uses-material-design
:
true
# PUBSPEC CHECKSUM:
c6c7
# PUBSPEC CHECKSUM:
d225
packages/flutter_build/lib/src/kernel_builder.dart
View file @
b06a7093
...
...
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Note: this Builder does not run in the same process as the flutter_tool, so
// the DI provided getters such as `fs` will not work.
import
'dart:async'
;
import
'dart:convert'
;
import
'dart:io'
;
...
...
@@ -14,7 +16,6 @@ import 'package:path/path.dart' as path;
const
String
_kFlutterDillOutputExtension
=
'.app.dill'
;
const
String
_kPackagesExtension
=
'.packages'
;
const
String
multiRootScheme
=
'org-dartlang-app'
;
/// A builder which creates a kernel and packages file for a Flutter app.
///
...
...
@@ -235,39 +236,47 @@ class _StdoutHandler {
}
}
class
_CompilerOutput
{
const
_CompilerOutput
(
this
.
outputFilename
,
this
.
errorCount
);
final
String
outputFilename
;
final
int
errorCount
;
}
/// Converts filesystem paths to package URIs.
class
_PackageUriMapper
{
_PackageUriMapper
(
String
scriptPath
,
String
packagesPath
,
this
.
fileSystemScheme
,
this
.
fileSystemRoots
)
{
_PackageUriMapper
(
String
scriptPath
,
String
packagesPath
,
String
fileSystemScheme
,
List
<
String
>
fileSystemRoots
)
{
final
List
<
int
>
bytes
=
File
(
path
.
absolute
(
packagesPath
)).
readAsBytesSync
();
final
Map
<
String
,
Uri
>
packageMap
=
packages_file
.
parse
(
bytes
,
Uri
.
file
(
packagesPath
,
windows:
Platform
.
isWindows
));
final
String
scriptUri
=
Uri
.
file
(
scriptPath
,
windows:
Platform
.
isWindows
).
toString
();
for
(
String
packageName
in
packageMap
.
keys
)
{
final
String
prefix
=
packageMap
[
packageName
].
toString
();
if
(
fileSystemScheme
!=
null
&&
fileSystemRoots
!=
null
&&
prefix
.
contains
(
fileSystemScheme
))
{
_packageName
=
packageName
;
_uriPrefix
=
fileSystemRoots
.
map
((
String
name
)
=>
Uri
.
file
(
'
$name
/lib/'
,
windows:
Platform
.
isWindows
).
toString
()).
toList
();
_uriPrefixes
=
fileSystemRoots
.
map
((
String
name
)
=>
Uri
.
file
(
'
$name
/lib/'
,
windows:
Platform
.
isWindows
).
toString
())
.
toList
();
return
;
}
if
(
scriptUri
.
startsWith
(
prefix
))
{
_packageName
=
packageName
;
_uriPrefix
=
<
String
>[
prefix
];
_uriPrefix
es
=
<
String
>[
prefix
];
return
;
}
}
}
final
String
fileSystemScheme
;
final
List
<
String
>
fileSystemRoots
;
String
_packageName
;
List
<
String
>
_uriPrefix
;
List
<
String
>
_uriPrefix
es
;
Uri
map
(
String
scriptPath
)
{
if
(
_packageName
==
null
)
{
return
null
;
}
final
String
scriptUri
=
Uri
.
file
(
scriptPath
,
windows:
Platform
.
isWindows
).
toString
();
for
(
String
uriPrefix
in
_uriPrefix
)
{
for
(
String
uriPrefix
in
_uriPrefix
es
)
{
if
(
scriptUri
.
startsWith
(
uriPrefix
))
{
return
Uri
.
parse
(
'package:
$_packageName
/
${scriptUri.substring(uriPrefix.length)}
'
);
}
...
...
@@ -279,10 +288,3 @@ class _PackageUriMapper {
return
_PackageUriMapper
(
scriptPath
,
packagesPath
,
fileSystemScheme
,
fileSystemRoots
).
map
(
scriptPath
);
}
}
class
_CompilerOutput
{
const
_CompilerOutput
(
this
.
outputFilename
,
this
.
errorCount
);
final
String
outputFilename
;
final
int
errorCount
;
}
packages/flutter_build/pubspec.yaml
View file @
b06a7093
...
...
@@ -7,7 +7,7 @@ environment:
dependencies
:
# To update these, use "flutter update-packages --force-upgrade".
build
:
1.1.0
build_modules
:
1.0.
4
build_modules
:
1.0.
6
package_config
:
1.0.5
path
:
1.6.2
...
...
@@ -33,7 +33,7 @@ dependencies:
pedantic
:
1.4.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
plugin
:
0.2.0+3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pool
:
1.4.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
protobuf
:
0.13.
0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
protobuf
:
0.13.
1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pub_semver
:
1.4.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pubspec_parse
:
0.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
scratch_space
:
0.0.3+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -50,4 +50,4 @@ dartdoc:
# Exclude this package from the hosted API docs.
nodoc
:
true
# PUBSPEC CHECKSUM:
ec31
# PUBSPEC CHECKSUM:
1f34
packages/flutter_tools/lib/src/build_runner/build_runner.dart
View file @
b06a7093
...
...
@@ -4,19 +4,22 @@
import
'dart:async'
;
import
'package:build_runner_core/build_runner_core.dart'
;
import
'package:meta/meta.dart'
;
import
'../artifacts.dart'
;
import
'../base/context.dart'
;
import
'../base/file_system.dart'
;
import
'../base/io.dart'
;
import
'../base/logger.dart'
;
import
'../base/platform.dart'
;
import
'../base/process_manager.dart'
;
import
'../cache.dart'
;
import
'../convert.dart'
;
import
'../dart/p
ackage_map
.dart'
;
import
'../dart/p
ub
.dart'
;
import
'../globals.dart'
;
import
'../project.dart'
;
import
'build_script_generator.dart'
;
/// The [BuildRunnerFactory] instance.
BuildRunnerFactory
get
buildRunnerFactory
=>
context
[
BuildRunnerFactory
];
...
...
@@ -26,17 +29,8 @@ BuildRunnerFactory get buildRunnerFactory => context[BuildRunnerFactory];
/// This requires both an experimental opt in via the environment variable
/// 'FLUTTER_EXPERIMENTAL_BUILD' and that the project itself has a
/// dependency on the package 'flutter_build' and 'build_runner.'
FutureOr
<
bool
>
get
experimentalBuildEnabled
async
{
if
(
_experimentalBuildEnabled
!=
null
)
{
return
_experimentalBuildEnabled
;
}
final
bool
flagEnabled
=
platform
.
environment
[
'FLUTTER_EXPERIMENTAL_BUILD'
]?.
toLowerCase
()
==
'true'
;
if
(!
flagEnabled
)
{
return
_experimentalBuildEnabled
=
false
;
}
final
FlutterProject
flutterProject
=
await
FlutterProject
.
current
();
final
Map
<
String
,
Uri
>
packages
=
PackageMap
(
flutterProject
.
packagesFile
.
path
).
map
;
return
_experimentalBuildEnabled
=
packages
.
containsKey
(
'flutter_build'
)
&&
packages
.
containsKey
(
'build_runner'
);
bool
get
experimentalBuildEnabled
{
return
_experimentalBuildEnabled
??=
platform
.
environment
[
'FLUTTER_EXPERIMENTAL_BUILD'
]?.
toLowerCase
()
==
'true'
;
}
bool
_experimentalBuildEnabled
;
...
...
@@ -74,53 +68,69 @@ class BuildRunner {
@required
String
mainPath
,
@required
List
<
String
>
extraFrontEndOptions
,
})
async
{
await
generateBuildScript
();
final
FlutterProject
flutterProject
=
await
FlutterProject
.
current
();
final
String
frontendServerPath
=
artifacts
.
getArtifactPath
(
Artifact
.
frontendServerSnapshotForEngineDartSdk
);
final
String
pubExecutable
=
fs
.
path
.
join
(
Cache
.
flutterRoot
,
'bin'
,
'cache'
,
'dart-sdk'
,
'bin'
,
'pub'
);
final
String
sdkRoot
=
artifacts
.
getArtifactPath
(
Artifact
.
flutterPatchedSdkPath
);
final
String
engineDartBinaryPath
=
artifacts
.
getArtifactPath
(
Artifact
.
engineDartBinary
);
final
String
packagesPath
=
flutterProject
.
packagesFile
.
absolute
.
path
;
final
Process
process
=
await
processManager
.
start
(<
String
>[
'
$pubExecutable
'
,
'run'
,
'build_runner'
,
'build'
,
'--define'
,
'flutter_build|kernel=disabled=false'
,
'--define'
,
'flutter_build|kernel=aot=
$aot
'
,
'--define'
,
'flutter_build|kernel=linkPlatformKernelIn=
$linkPlatformKernelIn
'
,
'--define'
,
'flutter_build|kernel=trackWidgetCreation=
$trackWidgetCreation
'
,
'--define'
,
'flutter_build|kernel=targetProductVm=
$targetProductVm
'
,
'--define'
,
'flutter_build|kernel=mainPath=
$mainPath
'
,
'--define'
,
'flutter_build|kernel=packagesPath=
$packagesPath
'
,
'--define'
,
'flutter_build|kernel=sdkRoot=
$sdkRoot
'
,
'--define'
,
'flutter_build|kernel=frontendServerPath=
$frontendServerPath
'
,
'--define'
,
'flutter_build|kernel=engineDartBinaryPath=
$engineDartBinaryPath
'
,
'--define'
,
'flutter_build|kernel=extraFrontEndOptions=
${extraFrontEndOptions ?? const <String>[]}
'
,
]);
process
.
stdout
.
transform
(
utf8
.
decoder
)
.
transform
(
const
LineSplitter
())
.
listen
(
_handleOutput
);
process
.
stderr
.
transform
(
utf8
.
decoder
)
.
transform
(
const
LineSplitter
())
.
listen
(
_handleError
);
final
int
exitCode
=
await
process
.
exitCode
;
if
(
exitCode
!=
0
)
{
throw
Exception
(
'build_runner exited with non-zero exit code:
$exitCode
'
);
final
String
buildScript
=
flutterProject
.
dartTool
.
childDirectory
(
'build'
)
.
childDirectory
(
'entrypoint'
)
.
childFile
(
'build.dart'
)
.
path
;
final
String
scriptPackagesPath
=
flutterProject
.
dartTool
.
childDirectory
(
'flutter_tool'
)
.
childFile
(
'.packages'
)
.
path
;
final
String
dartPath
=
fs
.
path
.
join
(
Cache
.
flutterRoot
,
'bin'
,
'cache'
,
'dart-sdk'
,
'bin'
,
'dart'
);
final
Status
status
=
logger
.
startProgress
(
'running builders...'
,
timeout:
null
);
try
{
final
Process
buildProcess
=
await
processManager
.
start
(<
String
>[
dartPath
,
'--packages=
$scriptPackagesPath
'
,
buildScript
,
'build'
,
'--define'
,
'flutter_build|kernel=disabled=false'
,
'--define'
,
'flutter_build|kernel=aot=
$aot
'
,
'--define'
,
'flutter_build|kernel=linkPlatformKernelIn=
$linkPlatformKernelIn
'
,
'--define'
,
'flutter_build|kernel=trackWidgetCreation=
$trackWidgetCreation
'
,
'--define'
,
'flutter_build|kernel=targetProductVm=
$targetProductVm
'
,
'--define'
,
'flutter_build|kernel=mainPath=
$mainPath
'
,
'--define'
,
'flutter_build|kernel=packagesPath=
$packagesPath
'
,
'--define'
,
'flutter_build|kernel=sdkRoot=
$sdkRoot
'
,
'--define'
,
'flutter_build|kernel=frontendServerPath=
$frontendServerPath
'
,
'--define'
,
'flutter_build|kernel=engineDartBinaryPath=
$engineDartBinaryPath
'
,
'--define'
,
'flutter_build|kernel=extraFrontEndOptions=
${extraFrontEndOptions ?? const <String>[]}
'
,
]);
buildProcess
.
stdout
.
transform
(
utf8
.
decoder
)
.
transform
(
const
LineSplitter
())
.
listen
(
printStatus
);
buildProcess
.
stderr
.
transform
(
utf8
.
decoder
)
.
transform
(
const
LineSplitter
())
.
listen
(
printError
);
await
buildProcess
.
exitCode
;
}
finally
{
status
.
stop
();
}
/// We don't check for this above because it might be generated for the
/// first time by invoking the build.
final
Directory
dartTool
=
flutterProject
.
dartTool
;
final
String
projectName
=
flutterProject
.
manifest
.
appName
;
final
Directory
generatedDirectory
=
dartTool
.
absolute
.
childDirectory
(
'build'
)
.
childDirectory
(
'generated'
)
.
childDirectory
(
projectName
);
if
(!
await
generatedDirectory
.
exists
())
{
.
absolute
.
childDirectory
(
'build'
)
.
childDirectory
(
'generated'
)
.
childDirectory
(
projectName
);
if
(!
generatedDirectory
.
existsSync
())
{
throw
Exception
(
'build_runner cannot find generated directory'
);
}
final
String
relativeMain
=
fs
.
path
.
relative
(
mainPath
,
from:
flutterProject
.
directory
.
path
);
...
...
@@ -130,18 +140,66 @@ class BuildRunner {
final
File
dillFile
=
fs
.
file
(
fs
.
path
.
join
(
generatedDirectory
.
path
,
fs
.
path
.
setExtension
(
relativeMain
,
'.app.dill'
))
);
if
(!
await
packagesFile
.
exists
()
||
!
await
dillFile
.
exists
())
{
if
(!
packagesFile
.
existsSync
()
||
!
dillFile
.
existsSync
())
{
throw
Exception
(
'build_runner did not produce output at expected location:
${dillFile.path}
missing'
);
}
return
BuildResult
(
packagesFile
,
dillFile
);
}
void
_handleOutput
(
String
line
)
{
printTrace
(
line
);
/// Invalidates a generated build script by deleting it.
///
/// Must be called any time a pubspec file update triggers a corresponding change
/// in .packages.
Future
<
void
>
invalidateBuildScript
()
async
{
final
FlutterProject
flutterProject
=
await
FlutterProject
.
current
();
final
File
buildScript
=
flutterProject
.
dartTool
.
absolute
.
childDirectory
(
'flutter_tool'
)
.
childFile
(
'build.dart'
);
if
(!
buildScript
.
existsSync
())
{
return
;
}
await
buildScript
.
delete
();
}
void
_handleError
(
String
line
)
{
printError
(
line
);
// Generates a synthetic package under .dart_tool/flutter_tool which is in turn
// used to generate a build script.
Future
<
void
>
generateBuildScript
()
async
{
final
FlutterProject
flutterProject
=
await
FlutterProject
.
current
();
final
String
generatedDirectory
=
fs
.
path
.
join
(
flutterProject
.
dartTool
.
path
,
'flutter_tool'
);
final
String
resultScriptPath
=
fs
.
path
.
join
(
flutterProject
.
dartTool
.
path
,
'build'
,
'entrypoint'
,
'build.dart'
);
if
(
fs
.
file
(
resultScriptPath
).
existsSync
())
{
return
;
}
final
Status
status
=
logger
.
startProgress
(
'generating build script...'
,
timeout:
null
);
try
{
fs
.
directory
(
generatedDirectory
).
createSync
(
recursive:
true
);
final
File
syntheticPubspec
=
fs
.
file
(
fs
.
path
.
join
(
generatedDirectory
,
'pubspec.yaml'
));
final
StringBuffer
stringBuffer
=
StringBuffer
();
stringBuffer
.
writeln
(
'name: synthetic_example'
);
stringBuffer
.
writeln
(
'dependencies:'
);
for
(
String
builder
in
await
flutterProject
.
builders
)
{
stringBuffer
.
writeln
(
'
$builder
: any'
);
}
stringBuffer
.
writeln
(
' build_runner: any'
);
stringBuffer
.
writeln
(
' flutter_build:'
);
stringBuffer
.
writeln
(
' sdk: flutter'
);
await
syntheticPubspec
.
writeAsString
(
stringBuffer
.
toString
());
await
pubGet
(
context:
PubContext
.
pubGet
,
directory:
generatedDirectory
,
upgrade:
false
,
checkLastModified:
false
,
);
final
PackageGraph
packageGraph
=
PackageGraph
.
forPath
(
syntheticPubspec
.
parent
.
path
);
final
BuildScriptGenerator
buildScriptGenerator
=
buildScriptGeneratorFactory
.
create
(
flutterProject
,
packageGraph
);
await
buildScriptGenerator
.
generateBuildScript
();
}
finally
{
status
.
stop
();
}
}
}
...
...
packages/flutter_tools/lib/src/build_runner/build_script_generator.dart
0 → 100644
View file @
b06a7093
// Copyright 201 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import
'dart:async'
;
import
'package:build_runner_core/build_runner_core.dart'
;
import
'package:build/build.dart'
show
BuilderOptions
;
import
'package:build_config/build_config.dart'
;
import
'package:code_builder/code_builder.dart'
;
import
'package:dart_style/dart_style.dart'
;
import
'package:graphs/graphs.dart'
;
import
'../base/common.dart'
;
import
'../base/context.dart'
;
import
'../base/file_system.dart'
;
import
'../project.dart'
;
BuildScriptGeneratorFactory
get
buildScriptGeneratorFactory
=>
context
[
BuildScriptGeneratorFactory
];
class
BuildScriptGeneratorFactory
{
const
BuildScriptGeneratorFactory
();
/// Creates a [BuildScriptGenerator] for the current flutter project.
BuildScriptGenerator
create
(
FlutterProject
flutterProject
,
PackageGraph
packageGraph
)
{
return
BuildScriptGenerator
(
flutterProject
,
packageGraph
);
}
}
/// Generates a build_script for the current flutter project.
class
BuildScriptGenerator
{
const
BuildScriptGenerator
(
this
.
flutterProject
,
this
.
packageGraph
);
final
FlutterProject
flutterProject
;
final
PackageGraph
packageGraph
;
/// Generate a build script for the curent flutter project.
///
/// Requires the project to have a pubspec.yaml.
Future
<
void
>
generateBuildScript
()
async
{
final
Iterable
<
Expression
>
builders
=
await
_findBuilderApplications
();
final
Library
library
=
Library
((
LibraryBuilder
libraryBuilder
)
=>
libraryBuilder
.
body
.
addAll
(<
Spec
>[
literalList
(
builders
,
refer
(
'BuilderApplication'
,
'package:build_runner_core/build_runner_core.dart'
))
.
assignFinal
(
'_builders'
)
.
statement
,
_createMain
()
]));
final
DartEmitter
emitter
=
DartEmitter
(
Allocator
.
simplePrefixing
());
try
{
final
String
location
=
fs
.
path
.
join
(
flutterProject
.
dartTool
.
path
,
'build'
,
'entrypoint'
,
'build.dart'
);
final
String
result
=
DartFormatter
().
format
(
'''
// ignore_for_file: directives_ordering
${library.accept(emitter)}
'''
);
final
File
output
=
fs
.
file
(
location
);
await
output
.
create
(
recursive:
true
);
await
fs
.
file
(
location
).
writeAsString
(
result
);
}
on
FormatterException
{
throwToolExit
(
'Generated build script could not be parsed. '
'This is likely caused by a misconfigured builder definition.'
);
}
}
/// Finds expressions to create all the `BuilderApplication` instances that
/// should be applied packages in the build.
///
/// Adds `apply` expressions based on the BuildefDefinitions from any package
/// which has a `build.yaml`.
Future
<
Iterable
<
Expression
>>
_findBuilderApplications
()
async
{
final
List
<
Expression
>
builderApplications
=
<
Expression
>[];
final
Iterable
<
PackageNode
>
orderedPackages
=
stronglyConnectedComponents
<
PackageNode
>(
<
PackageNode
>[
packageGraph
.
root
],
(
PackageNode
node
)
=>
node
.
dependencies
,
equals:
(
PackageNode
a
,
PackageNode
b
)
=>
a
.
name
==
b
.
name
,
hashCode:
(
PackageNode
n
)
=>
n
.
name
.
hashCode
,
).
expand
((
List
<
PackageNode
>
nodes
)
=>
nodes
);
Future
<
BuildConfig
>
_packageBuildConfig
(
PackageNode
package
)
async
{
try
{
return
await
BuildConfig
.
fromBuildConfigDir
(
package
.
name
,
package
.
dependencies
.
map
((
PackageNode
node
)
=>
node
.
name
),
package
.
path
);
}
on
ArgumentError
catch
(
_
)
{
// During the build an error will be logged.
return
BuildConfig
.
useDefault
(
package
.
name
,
package
.
dependencies
.
map
((
PackageNode
node
)
=>
node
.
name
));
}
}
final
Iterable
<
BuildConfig
>
orderedConfigs
=
await
Future
.
wait
(
orderedPackages
.
map
(
_packageBuildConfig
));
final
List
<
BuilderDefinition
>
builderDefinitions
=
orderedConfigs
.
expand
((
BuildConfig
buildConfig
)
=>
buildConfig
.
builderDefinitions
.
values
)
.
where
((
BuilderDefinition
builderDefinition
)
{
if
(
builderDefinition
.
import
.
startsWith
(
'package:'
))
{
return
true
;
}
return
builderDefinition
.
package
==
packageGraph
.
root
.
name
;
})
.
toList
();
final
List
<
BuilderDefinition
>
orderedBuilders
=
_findBuilderOrder
(
builderDefinitions
).
toList
();
builderApplications
.
addAll
(
orderedBuilders
.
map
(
_applyBuilder
));
final
List
<
PostProcessBuilderDefinition
>
postProcessBuilderDefinitions
=
orderedConfigs
.
expand
((
BuildConfig
buildConfig
)
=>
buildConfig
.
postProcessBuilderDefinitions
.
values
)
.
where
((
PostProcessBuilderDefinition
builderDefinition
)
{
if
(
builderDefinition
.
import
.
startsWith
(
'package:'
))
{
return
true
;
}
return
builderDefinition
.
package
==
packageGraph
.
root
.
name
;
})
.
toList
();
builderApplications
.
addAll
(
postProcessBuilderDefinitions
.
map
(
_applyPostProcessBuilder
));
return
builderApplications
;
}
/// A method forwarding to `run`.
Method
_createMain
()
{
return
Method
((
MethodBuilder
b
)
=>
b
..
name
=
'main'
..
modifier
=
MethodModifier
.
async
..
requiredParameters
.
add
(
Parameter
((
ParameterBuilder
parameterBuilder
)
=>
parameterBuilder
..
name
=
'args'
..
type
=
TypeReference
((
TypeReferenceBuilder
typeReferenceBuilder
)
=>
typeReferenceBuilder
..
symbol
=
'List'
..
types
.
add
(
refer
(
'String'
)))))
..
optionalParameters
.
add
(
Parameter
((
ParameterBuilder
parameterBuilder
)
=>
parameterBuilder
..
name
=
'sendPort'
..
type
=
refer
(
'SendPort'
,
'dart:isolate'
)))
..
body
=
Block
.
of
(<
Code
>[
refer
(
'run'
,
'package:build_runner/build_runner.dart'
)
.
call
(<
Expression
>[
refer
(
'args'
),
refer
(
'_builders'
)])
.
awaited
.
assignVar
(
'result'
)
.
statement
,
refer
(
'sendPort'
)
.
nullSafeProperty
(
'send'
)
.
call
(<
Expression
>[
refer
(
'result'
)]).
statement
,
]));
}
/// An expression calling `apply` with appropriate setup for a Builder.
Expression
_applyBuilder
(
BuilderDefinition
definition
)
{
final
Map
<
String
,
Expression
>
namedArgs
=
<
String
,
Expression
>{};
if
(
definition
.
isOptional
)
{
namedArgs
[
'isOptional'
]
=
literalTrue
;
}
if
(
definition
.
buildTo
==
BuildTo
.
cache
)
{
namedArgs
[
'hideOutput'
]
=
literalTrue
;
}
else
{
namedArgs
[
'hideOutput'
]
=
literalFalse
;
}
if
(!
identical
(
definition
.
defaults
?.
generateFor
,
InputSet
.
anything
))
{
final
Map
<
String
,
Expression
>
inputSetArgs
=
<
String
,
Expression
>{};
if
(
definition
.
defaults
.
generateFor
.
include
!=
null
)
{
inputSetArgs
[
'include'
]
=
literalConstList
(
definition
.
defaults
.
generateFor
.
include
);
}
if
(
definition
.
defaults
.
generateFor
.
exclude
!=
null
)
{
inputSetArgs
[
'exclude'
]
=
literalConstList
(
definition
.
defaults
.
generateFor
.
exclude
);
}
namedArgs
[
'defaultGenerateFor'
]
=
refer
(
'InputSet'
,
'package:build_config/build_config.dart'
)
.
constInstance
(<
Expression
>[],
inputSetArgs
);
}
if
(!
identical
(
definition
.
defaults
?.
options
,
BuilderOptions
.
empty
))
{
namedArgs
[
'defaultOptions'
]
=
_constructBuilderOptions
(
definition
.
defaults
.
options
);
}
if
(!
identical
(
definition
.
defaults
?.
devOptions
,
BuilderOptions
.
empty
))
{
namedArgs
[
'defaultDevOptions'
]
=
_constructBuilderOptions
(
definition
.
defaults
.
devOptions
);
}
if
(!
identical
(
definition
.
defaults
?.
releaseOptions
,
BuilderOptions
.
empty
))
{
namedArgs
[
'defaultReleaseOptions'
]
=
_constructBuilderOptions
(
definition
.
defaults
.
releaseOptions
);
}
if
(
definition
.
appliesBuilders
.
isNotEmpty
)
{
namedArgs
[
'appliesBuilders'
]
=
literalList
(
definition
.
appliesBuilders
);
}
final
String
import
=
_buildScriptImport
(
definition
.
import
);
return
refer
(
'apply'
,
'package:build_runner_core/build_runner_core.dart'
)
.
call
(<
Expression
>[
literalString
(
definition
.
key
),
literalList
(
definition
.
builderFactories
.
map
((
String
f
)
=>
refer
(
f
,
import
)).
toList
()),
_findToExpression
(
definition
),
],
namedArgs
);
}
/// An expression calling `applyPostProcess` with appropriate setup for a
/// PostProcessBuilder.
Expression
_applyPostProcessBuilder
(
PostProcessBuilderDefinition
definition
)
{
final
Map
<
String
,
Expression
>
namedArgs
=
<
String
,
Expression
>{};
if
(
definition
.
defaults
?.
generateFor
!=
null
)
{
final
Map
<
String
,
Expression
>
inputSetArgs
=
<
String
,
Expression
>{};
if
(
definition
.
defaults
.
generateFor
.
include
!=
null
)
{
inputSetArgs
[
'include'
]
=
literalConstList
(
definition
.
defaults
.
generateFor
.
include
);
}
if
(
definition
.
defaults
.
generateFor
.
exclude
!=
null
)
{
inputSetArgs
[
'exclude'
]
=
literalConstList
(
definition
.
defaults
.
generateFor
.
exclude
);
}
if
(!
identical
(
definition
.
defaults
?.
options
,
BuilderOptions
.
empty
))
{
namedArgs
[
'defaultOptions'
]
=
_constructBuilderOptions
(
definition
.
defaults
.
options
);
}
if
(!
identical
(
definition
.
defaults
?.
devOptions
,
BuilderOptions
.
empty
))
{
namedArgs
[
'defaultDevOptions'
]
=
_constructBuilderOptions
(
definition
.
defaults
.
devOptions
);
}
if
(!
identical
(
definition
.
defaults
?.
releaseOptions
,
BuilderOptions
.
empty
))
{
namedArgs
[
'defaultReleaseOptions'
]
=
_constructBuilderOptions
(
definition
.
defaults
.
releaseOptions
);
}
namedArgs
[
'defaultGenerateFor'
]
=
refer
(
'InputSet'
,
'package:build_config/build_config.dart'
).
constInstance
(<
Expression
>[],
inputSetArgs
);
}
final
String
import
=
_buildScriptImport
(
definition
.
import
);
return
refer
(
'applyPostProcess'
,
'package:build_runner_core/build_runner_core.dart'
)
.
call
(<
Expression
>[
literalString
(
definition
.
key
),
refer
(
definition
.
builderFactory
,
import
),
],
namedArgs
);
}
/// Returns the actual import to put in the generated script based on an import
/// found in the build.yaml.
String
_buildScriptImport
(
String
import
)
{
if
(
import
.
startsWith
(
'package:'
))
{
return
import
;
}
throwToolExit
(
'non-package import syntax in build.yaml is not supported'
);
return
null
;
}
Expression
_findToExpression
(
BuilderDefinition
definition
)
{
switch
(
definition
.
autoApply
)
{
case
AutoApply
.
none
:
return
refer
(
'toNoneByDefault'
,
'package:build_runner_core/build_runner_core.dart'
)
.
call
(<
Expression
>[]);
case
AutoApply
.
dependents
:
return
refer
(
'toDependentsOf'
,
'package:build_runner_core/build_runner_core.dart'
)
.
call
(<
Expression
>[
literalString
(
definition
.
package
)]);
case
AutoApply
.
allPackages
:
return
refer
(
'toAllPackages'
,
'package:build_runner_core/build_runner_core.dart'
)
.
call
(<
Expression
>[]);
case
AutoApply
.
rootPackage
:
return
refer
(
'toRoot'
,
'package:build_runner_core/build_runner_core.dart'
)
.
call
(<
Expression
>[]);
}
throw
ArgumentError
(
'Unhandled AutoApply type:
${definition.autoApply}
'
);
}
/// An expression creating a [BuilderOptions] from a json string.
Expression
_constructBuilderOptions
(
BuilderOptions
options
)
{
return
refer
(
'BuilderOptions'
,
'package:build/build.dart'
).
newInstance
(<
Expression
>[
literalMap
(
options
.
config
)]);
}
/// Put [builders] into an order such that any builder which specifies
/// [BuilderDefinition.requiredInputs] will come after any builder which
/// produces a desired output.
///
/// Builders will be ordered such that their `required_inputs` and `runs_before`
/// constraints are met, but the rest of the ordering is arbitrary.
Iterable
<
BuilderDefinition
>
_findBuilderOrder
(
Iterable
<
BuilderDefinition
>
builders
)
{
Iterable
<
BuilderDefinition
>
dependencies
(
BuilderDefinition
parent
)
{
return
builders
.
where
((
BuilderDefinition
child
)
=>
_hasInputDependency
(
parent
,
child
)
||
_mustRunBefore
(
parent
,
child
));
}
final
List
<
List
<
BuilderDefinition
>>
components
=
stronglyConnectedComponents
<
BuilderDefinition
>(
builders
,
dependencies
,
equals:
(
BuilderDefinition
a
,
BuilderDefinition
b
)
=>
a
.
key
==
b
.
key
,
hashCode:
(
BuilderDefinition
b
)
=>
b
.
key
.
hashCode
,
);
return
components
.
map
((
List
<
BuilderDefinition
>
component
)
{
if
(
component
.
length
>
1
)
{
throw
ArgumentError
(
'Required input cycle for
${component.toList()}
'
);
}
return
component
.
single
;
}).
toList
();
}
/// Whether [parent] has a `required_input` that wants to read outputs produced
/// by [child].
bool
_hasInputDependency
(
BuilderDefinition
parent
,
BuilderDefinition
child
)
{
final
Set
<
String
>
childOutputs
=
child
.
buildExtensions
.
values
.
expand
((
List
<
String
>
values
)
=>
values
).
toSet
();
return
parent
.
requiredInputs
.
any
((
String
input
)
=>
childOutputs
.
any
((
String
output
)
=>
output
.
endsWith
(
input
)));
}
/// Whether [child] specifies that it wants to run before [parent].
bool
_mustRunBefore
(
BuilderDefinition
parent
,
BuilderDefinition
child
)
=>
child
.
runsBefore
.
contains
(
parent
.
key
);
}
\ No newline at end of file
packages/flutter_tools/lib/src/commands/update_packages.dart
View file @
b06a7093
...
...
@@ -119,7 +119,7 @@ class UpdatePackagesCommand extends FlutterCommand {
);
}
// Only retain flutter, flutter_test, flutter_driver, and flutter_localizations.
const
List
<
String
>
consumerPackages
=
<
String
>[
'flutter'
,
'flutter_test'
,
'flutter_driver'
,
'flutter_localizations'
,
'flutter_build'
];
const
List
<
String
>
consumerPackages
=
<
String
>[
'flutter'
,
'flutter_test'
,
'flutter_driver'
,
'flutter_localizations'
];
// ensure we only get flutter/packages
packages
.
retainWhere
((
Directory
directory
)
{
return
consumerPackages
.
any
((
String
package
)
{
...
...
packages/flutter_tools/lib/src/context_runner.dart
View file @
b06a7093
...
...
@@ -22,6 +22,7 @@ import 'base/time.dart';
import
'base/user_messages.dart'
;
import
'base/utils.dart'
;
import
'build_runner/build_runner.dart'
;
import
'build_runner/build_script_generator.dart'
;
import
'cache.dart'
;
import
'compile.dart'
;
import
'devfs.dart'
;
...
...
@@ -60,6 +61,7 @@ Future<T> runInContext<T>(
Artifacts:
()
=>
CachedArtifacts
(),
AssetBundleFactory:
()
=>
AssetBundleFactory
.
defaultInstance
,
BotDetector:
()
=>
const
BotDetector
(),
BuildScriptGeneratorFactory:
()
=>
const
BuildScriptGeneratorFactory
(),
BuildRunnerFactory:
()
=>
const
BuildRunnerFactory
(),
Cache:
()
=>
Cache
(),
CocoaPods:
()
=>
CocoaPods
(),
...
...
packages/flutter_tools/lib/src/project.dart
View file @
b06a7093
...
...
@@ -4,7 +4,9 @@
import
'dart:async'
;
import
'package:build_runner_core/build_runner_core.dart'
;
import
'package:meta/meta.dart'
;
import
'package:yaml/yaml.dart'
;
import
'android/gradle.dart'
as
gradle
;
import
'base/common.dart'
;
...
...
@@ -144,6 +146,23 @@ class FlutterProject {
await
ios
.
ensureReadyForPlatformSpecificTooling
();
await
injectPlugins
(
this
);
}
/// Return the build_runner [PackageGraph] for this package.
Future
<
PackageGraph
>
get
packageGraph
async
{
return
PackageGraph
.
forPath
(
directory
.
path
);
}
/// Return the set of builders used by this package.
Future
<
List
<
String
>>
get
builders
async
{
final
YamlMap
pubspec
=
loadYaml
(
await
pubspecFile
.
readAsString
());
final
YamlList
builders
=
pubspec
[
'builders'
];
if
(
builders
==
null
)
{
return
<
String
>[];
}
return
builders
.
map
<
String
>((
Object
node
)
{
return
node
.
toString
();
}).
toList
();
}
}
/// Represents the iOS sub-project of a Flutter project.
...
...
packages/flutter_tools/pubspec.yaml
View file @
b06a7093
...
...
@@ -23,7 +23,7 @@ dependencies:
json_schema
:
1.0.10
linter
:
0.1.74
meta
:
1.1.6
mustache
:
1.1.
0
mustache
:
1.1.
1
package_config
:
1.0.5
platform
:
2.2.0
plugin
:
0.2.0+3
...
...
@@ -39,23 +39,40 @@ dependencies:
flutter_goldens_client
:
path
:
../flutter_goldens_client
# build_runner depenencies needed for codegen.
build
:
1.1.0
build_modules
:
1.0.6
# We depend on very specific internal implementation details of the
# 'test' package, which change between versions, so when upgrading
# this, make sure the tests are still running correctly.
test_api
:
0.2.2
test_core
:
0.2.1
test_core
:
0.2.1+1
# Code generation dependencies
build_runner_core
:
2.0.1
dart_style
:
1.2.0
code_builder
:
3.2.0
async
:
2.0.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
bazel_worker
:
0.1.18
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
boolean_selector
:
1.0.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
build_config
:
0.3.1+4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
build_resolvers
:
0.2.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
built_collection
:
4.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
built_value
:
6.3.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
charcode
:
1.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
convert
:
2.1.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
csslib
:
0.14.6
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
dart2_constant
:
1.0.2+dart2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
fixnum
:
0.10.9
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
front_end
:
0.1.6+9
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
glob
:
1.1.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
graphs
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
html
:
0.13.3+3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
http_parser
:
3.1.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_annotation
:
2.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
kernel
:
0.3.6+9
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.3+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.3+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -64,12 +81,17 @@ dependencies:
pedantic
:
1.4.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
petitparser
:
2.1.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pool
:
1.4.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
protobuf
:
0.13.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pub_semver
:
1.4.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pubspec_parse
:
0.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
scratch_space
:
0.0.3+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_map_stack_trace
:
1.1.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_maps
:
0.10.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_span
:
1.5.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stream_transform
:
0.0.14+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
string_scanner
:
1.0.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
timing
:
0.1.1+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.1.6
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
utf
:
0.9.0+5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+10
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
...
@@ -89,10 +111,10 @@ dev_dependencies:
shelf_packages_handler
:
1.0.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_static
:
0.2.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_web_socket
:
0.2.2+4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test
:
1.5.
2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test
:
1.5.
3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
dartdoc
:
# Exclude this package from the hosted API docs.
nodoc
:
true
# PUBSPEC CHECKSUM:
8bcf
# PUBSPEC CHECKSUM:
7930
packages/flutter_tools/test/build_runner/build_runner_test.dart
View file @
b06a7093
...
...
@@ -2,103 +2,35 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import
'dart:convert'
;
import
'package:flutter_tools/src/base/file_system.dart'
;
import
'package:flutter_tools/src/base/platform.dart'
;
import
'package:flutter_tools/src/build_runner/build_runner.dart'
;
import
'package:mockito/mockito.dart'
;
import
'package:process/process.dart'
;
import
'../src/common.dart'
;
import
'../src/context.dart'
;
void
main
(
)
{
group
(
'experimentalBuildEnabled'
,
()
{
final
MockProcessManager
mockProcessManager
=
MockProcessManager
();
final
MockPlatform
mockPlatform
=
MockPlatform
();
final
MockFileSystem
mockFileSystem
=
MockFileSystem
();
setUp
(()
{
experimentalBuildEnabled
=
null
;
});
testUsingContext
(
'is enabled if environment variable is enabled and project '
'contains a dependency on flutter_build and build_runner'
,
()
async
{
final
MockDirectory
projectDirectory
=
MockDirectory
();
final
MockDirectory
exampleDirectory
=
MockDirectory
();
final
MockFile
packagesFile
=
MockFile
();
final
MockFile
pubspecFile
=
MockFile
();
final
MockFile
examplePubspecFile
=
MockFile
();
const
String
packages
=
r''
'
flutter_build:file:///Users/tester/.pub-cache/hosted/pub.dartlang.org/flutter_build/lib/
build_runner:file:///Users/tester/.pub-cache/hosted/pub.dartlang.org/build_runner/lib/
example:lib/
'''
;
when
(
mockPlatform
.
environment
).
thenReturn
(<
String
,
String
>{
'FLUTTER_EXPERIMENTAL_BUILD'
:
'true'
});
when
(
mockFileSystem
.
currentDirectory
).
thenReturn
(
projectDirectory
);
when
(
mockFileSystem
.
isFileSync
(
any
)).
thenReturn
(
false
);
when
(
projectDirectory
.
childFile
(
'pubspec.yaml'
)).
thenReturn
(
pubspecFile
);
when
(
projectDirectory
.
childFile
(
'.packages'
)).
thenReturn
(
packagesFile
);
when
(
projectDirectory
.
childDirectory
(
'example'
)).
thenReturn
(
exampleDirectory
);
when
(
exampleDirectory
.
childFile
(
'pubspec.yaml'
)).
thenReturn
(
examplePubspecFile
);
when
(
packagesFile
.
path
).
thenReturn
(
'/test/.packages'
);
when
(
pubspecFile
.
path
).
thenReturn
(
'/test/pubspec.yaml'
);
when
(
examplePubspecFile
.
path
).
thenReturn
(
'/test/example/pubspec.yaml'
);
when
(
mockFileSystem
.
file
(
'/test/.packages'
)).
thenReturn
(
packagesFile
);
when
(
packagesFile
.
readAsBytesSync
()).
thenReturn
(
utf8
.
encode
(
packages
));
expect
(
await
experimentalBuildEnabled
,
true
);
testUsingContext
(
'is enabled if environment variable is enabled'
,
()
async
{
when
(
mockPlatform
.
environment
).
thenReturn
(<
String
,
String
>{
'FLUTTER_EXPERIMENTAL_BUILD'
:
'true'
});
expect
(
experimentalBuildEnabled
,
true
);
},
overrides:
<
Type
,
Generator
>{
ProcessManager:
()
=>
mockProcessManager
,
Platform:
()
=>
mockPlatform
,
FileSystem:
()
=>
mockFileSystem
,
});
testUsingContext
(
'is not enabled if environment variable is enabled and project '
'does not contain a dependency on flutter_build'
,
()
async
{
final
MockDirectory
projectDirectory
=
MockDirectory
();
final
MockDirectory
exampleDirectory
=
MockDirectory
();
final
MockFile
packagesFile
=
MockFile
();
final
MockFile
pubspecFile
=
MockFile
();
final
MockFile
examplePubspecFile
=
MockFile
();
const
String
packages
=
r''
'
build_runner:file:///Users/tester/.pub-cache/hosted/pub.dartlang.org/build_runner/lib/
example:lib/
'''
;
when
(
mockPlatform
.
environment
).
thenReturn
(<
String
,
String
>{
'FLUTTER_EXPERIMENTAL_BUILD'
:
'true'
});
when
(
mockFileSystem
.
currentDirectory
).
thenReturn
(
projectDirectory
);
when
(
mockFileSystem
.
isFileSync
(
any
)).
thenReturn
(
false
);
when
(
projectDirectory
.
childFile
(
'pubspec.yaml'
)).
thenReturn
(
pubspecFile
);
when
(
projectDirectory
.
childFile
(
'.packages'
)).
thenReturn
(
packagesFile
);
when
(
projectDirectory
.
childDirectory
(
'example'
)).
thenReturn
(
exampleDirectory
);
when
(
exampleDirectory
.
childFile
(
'pubspec.yaml'
)).
thenReturn
(
examplePubspecFile
);
when
(
packagesFile
.
path
).
thenReturn
(
'/test/.packages'
);
when
(
pubspecFile
.
path
).
thenReturn
(
'/test/pubspec.yaml'
);
when
(
examplePubspecFile
.
path
).
thenReturn
(
'/test/example/pubspec.yaml'
);
when
(
mockFileSystem
.
file
(
'/test/.packages'
)).
thenReturn
(
packagesFile
);
when
(
packagesFile
.
readAsBytesSync
()).
thenReturn
(
utf8
.
encode
(
packages
));
expect
(
await
experimentalBuildEnabled
,
false
);
},
overrides:
<
Type
,
Generator
>{
ProcessManager:
()
=>
mockProcessManager
,
Platform:
()
=>
mockPlatform
,
FileSystem:
()
=>
mockFileSystem
,
});
testUsingContext
(
'is not enabed if environment varable is not enabled'
,
()
async
{
when
(
mockPlatform
.
environment
).
thenReturn
(<
String
,
String
>{});
expect
(
await
experimentalBuildEnabled
,
false
);
expect
(
experimentalBuildEnabled
,
false
);
},
overrides:
<
Type
,
Generator
>{
ProcessManager:
()
=>
mockProcessManager
,
Platform:
()
=>
mockPlatform
,
FileSystem:
()
=>
mockFileSystem
,
});
});
}
class
MockProcessManager
extends
Mock
implements
ProcessManager
{}
class
MockPlatform
extends
Mock
implements
Platform
{}
class
MockFileSystem
extends
Mock
implements
FileSystem
{}
class
MockDirectory
extends
Mock
implements
Directory
{}
class
MockFile
extends
Mock
implements
File
{}
class
MockPlatform
extends
Mock
implements
Platform
{}
\ No newline at end of file
packages/flutter_tools/test/forbidden_imports_test.dart
View file @
b06a7093
...
...
@@ -10,8 +10,11 @@ void main() {
final
String
flutterTools
=
fs
.
path
.
join
(
getFlutterRoot
(),
'packages'
,
'flutter_tools'
);
test
(
'no unauthorized imports of dart:io'
,
()
{
final
String
whitelistedPath
=
fs
.
path
.
join
(
flutterTools
,
'lib'
,
'src'
,
'base'
,
'io.dart'
);
bool
_isNotWhitelisted
(
FileSystemEntity
entity
)
=>
entity
.
path
!=
whitelistedPath
;
final
List
<
String
>
whitelistedPaths
=
<
String
>[
fs
.
path
.
join
(
flutterTools
,
'lib'
,
'src'
,
'base'
,
'io.dart'
),
fs
.
path
.
join
(
flutterTools
,
'lib'
,
'src'
,
'build_runner'
,
'kernel_builder.dart'
),
];
bool
_isNotWhitelisted
(
FileSystemEntity
entity
)
=>
whitelistedPaths
.
every
((
String
path
)
=>
path
!=
entity
.
path
);
for
(
String
dirName
in
<
String
>[
'lib'
,
'bin'
])
{
final
Iterable
<
File
>
files
=
fs
.
directory
(
fs
.
path
.
join
(
flutterTools
,
dirName
))
...
...
@@ -32,14 +35,17 @@ void main() {
});
test
(
'no unauthorized imports of package:path'
,
()
{
final
String
whitelistedPath
=
fs
.
path
.
join
(
flutterTools
,
'lib'
,
'src'
,
'build_runner'
,
'kernel_builder.dart'
);
for
(
String
dirName
in
<
String
>[
'lib'
,
'bin'
,
'test'
])
{
final
Iterable
<
File
>
files
=
fs
.
directory
(
fs
.
path
.
join
(
flutterTools
,
dirName
))
.
listSync
(
recursive:
true
)
.
where
(
_isDartFile
)
.
where
((
FileSystemEntity
entity
)
=>
entity
.
path
!=
whitelistedPath
)
.
map
(
_asFile
);
for
(
File
file
in
files
)
{
for
(
String
line
in
file
.
readAsLinesSync
())
{
if
(
line
.
startsWith
(
RegExp
(
r'import.*package:path/path.dart'
)))
{
if
(
line
.
startsWith
(
RegExp
(
r'import.*package:path/path.dart'
))
&&
!
line
.
contains
(
'ignore: package_path_import'
))
{
final
String
relativePath
=
fs
.
path
.
relative
(
file
.
path
,
from:
flutterTools
);
fail
(
"
$relativePath
imports 'package:path/path.dart'; use 'fs.path' instead"
);
}
...
...
@@ -49,8 +55,11 @@ void main() {
});
test
(
'no unauthorized imports of dart:convert'
,
()
{
final
String
whitelistedPath
=
fs
.
path
.
join
(
flutterTools
,
'lib'
,
'src'
,
'convert.dart'
);
bool
_isNotWhitelisted
(
FileSystemEntity
entity
)
=>
entity
.
path
!=
whitelistedPath
;
final
List
<
String
>
whitelistedPaths
=
<
String
>[
fs
.
path
.
join
(
flutterTools
,
'lib'
,
'src'
,
'convert.dart'
),
fs
.
path
.
join
(
flutterTools
,
'lib'
,
'src'
,
'build_runner'
,
'kernel_builder.dart'
),
];
bool
_isNotWhitelisted
(
FileSystemEntity
entity
)
=>
whitelistedPaths
.
every
((
String
path
)
=>
path
!=
entity
.
path
);
for
(
String
dirName
in
<
String
>[
'lib'
])
{
final
Iterable
<
File
>
files
=
fs
.
directory
(
fs
.
path
.
join
(
flutterTools
,
dirName
))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment