Skip to content

Commit 29bcc33

Browse files
authored
Merge pull request #1 from flutter/master
Up to 201118
2 parents f9ce016 + 4a5cf14 commit 29bcc33

2,537 files changed

Lines changed: 327166 additions & 96795 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.cirrus.yml

Lines changed: 36 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -1,110 +1,63 @@
11
gcp_credentials: ENCRYPTED[987a78af29b91ce8489594c9ab3fec21845bbe5ba68294b8f6def3cf0d380830f06687a89ea69c87344c5ade369700fe]
22

3+
# LINUX
34
task:
45
gke_container:
5-
image: gcr.io/flutter-cirrus/build-engine-image:latest
6-
cluster_name: build-32-cluster
7-
zone: us-central1-a
8-
namespace: default
9-
cpu: 30 # can't use all 30-cores; system pods needs cores too
10-
memory: 100Gb # similarly, can't use all 100Gb memory
6+
dockerfile: "ci/docker/build/Dockerfile"
7+
builder_image_name: docker-builder # gce vm image
8+
cluster_name: build-32-cluster
9+
zone: us-central1-a
10+
namespace: default
11+
cpu: 30 # can't use all 30-cores; system pods needs cores too
12+
memory: 100Gb # similarly, can't use all 100Gb memory
1113
env:
14+
CIRRUS_DOCKER_CONTEXT: "ci/docker/build"
1215
CIRRUS_WORKING_DIR: "/tmp/github_repo"
1316
ENGINE_PATH: "/tmp/clean_engine"
1417
DEPOT_TOOLS: "/tmp/depot_tools"
1518
FLUTTER_ENGINE: "/tmp/clean_engine/src"
1619
FRAMEWORK_PATH: "/tmp/master_framework"
1720
PATH: "$FLUTTER_ENGINE/third_party/dart/tools/sdks/dart-sdk/bin:$DEPOT_TOOLS:$PATH"
18-
depot_tools_script:
21+
USE_ANDROID: "False"
22+
# TODO(liyuqian): currently we're using flutter-cirrus GCP project. Migrate
23+
# to flutter-infra project once the metrics_center service is stabilized,
24+
BENCHMARK_GCP_CREDENTIALS: ENCRYPTED[da76d2b7b39894de70fae1fc9182c97cc41400adc93f0f1c49bc7442f15fb933da8d756ed88523810a9a77c34f51a693]
25+
setup_script: |
1926
git clone --depth 1 https://chromium.googlesource.com/chromium/tools/depot_tools.git $DEPOT_TOOLS
20-
gclient_sync_script: |
2127
mkdir -p $ENGINE_PATH/src
22-
echo 'solutions = [{"managed": False,"name": "src/flutter","url": "git@github.com:flutter/engine.git","deps_file": "DEPS", "custom_vars": {"download_android_deps" : False, "download_windows_deps" : False,},},]' > $ENGINE_PATH/.gclient
28+
echo 'solutions = [{"managed": False,"name": "src/flutter","url": "git@github.com:flutter/engine.git","deps_file": "DEPS", "custom_vars": {"download_android_deps" : ' $USE_ANDROID ', "download_windows_deps" : False,},},]' > $ENGINE_PATH/.gclient
2329
cd $ENGINE_PATH/src
2430
rm -rf flutter
2531
rm -rf out
2632
mv $CIRRUS_WORKING_DIR flutter
2733
gclient sync
28-
2934
matrix:
30-
- name: build_and_test_host
35+
# The following test depends on Flutter framework repo. It may fail if the
36+
# framework repo is currently broken.
37+
- name: build_and_test_linux_unopt_debug
3138
compile_host_script: |
3239
cd $ENGINE_PATH/src
33-
./flutter/tools/gn --unoptimized
40+
./flutter/tools/gn --unoptimized --full-dart-sdk
3441
ninja -C out/host_debug_unopt
35-
test_host_script: cd $ENGINE_PATH/src && ./flutter/testing/run_tests.sh host_debug_unopt
42+
test_host_script: |
43+
cd $ENGINE_PATH/src
44+
./flutter/testing/run_tests.sh host_debug_unopt
3645
fetch_framework_script: |
3746
mkdir -p $FRAMEWORK_PATH
3847
cd $FRAMEWORK_PATH
3948
git clone https://github.com/flutter/flutter.git
40-
framework_test_script: |
49+
analyze_framework_script: |
50+
cd $FRAMEWORK_PATH/flutter
51+
rm -rf bin/cache/pkg/sky_engine
52+
mkdir -p bin/cache/pkg/
53+
cp -r $ENGINE_PATH/src/out/host_debug_unopt/gen/dart-pkg/sky_engine bin/cache/pkg/
54+
bin/flutter update-packages --local-engine=host_debug_unopt
55+
bin/flutter analyze --dartdocs --flutter-repo --local-engine=host_debug_unopt
56+
test_framework_script: |
4157
cd $FRAMEWORK_PATH/flutter/packages/flutter
42-
../../bin/flutter test --local-engine=host_debug_unopt
43-
- name: build_and_test_host_profile
44-
compile_host_script: |
45-
cd $ENGINE_PATH/src
46-
./flutter/tools/gn --runtime-mode profile --no-lto
47-
ninja -C out/host_profile
48-
test_host_script: cd $ENGINE_PATH/src && ./flutter/testing/run_tests.sh host_profile
49-
- name: build_and_test_host_release
50-
compile_host_script: |
51-
cd $ENGINE_PATH/src
52-
./flutter/tools/gn --runtime-mode release --no-lto
53-
ninja -C out/host_release
54-
test_host_script: cd $ENGINE_PATH/src && ./flutter/testing/run_tests.sh host_release
55-
- name: build_android
56-
get_android_sdk_script: |
57-
echo 'solutions = [{"managed": False,"name": "src/flutter","url": "git@github.com:flutter/engine.git","deps_file": "DEPS", "custom_vars": {"download_windows_deps" : False,},},]' > $ENGINE_PATH/.gclient
58-
cd $ENGINE_PATH/src
59-
gclient sync
60-
lint_host_script: |
61-
cd $ENGINE_PATH/src/flutter/tools/android_lint
62-
$ENGINE_PATH/src/third_party/dart/tools/sdks/dart-sdk/bin/pub get
63-
$ENGINE_PATH/src/third_party/dart/tools/sdks/dart-sdk/bin/dart bin/main.dart
64-
compile_host_script: |
65-
cd $ENGINE_PATH/src
66-
./flutter/tools/gn --android --unoptimized
67-
ninja -C out/android_debug_unopt
68-
mkdir javadoc_tmp
69-
./flutter/tools/gen_javadoc.py --out-dir javadoc_tmp
70-
- name: format_and_dart_test
71-
format_script: cd $ENGINE_PATH/src/flutter && ./ci/format.sh
72-
build_script: cd $ENGINE_PATH/src/flutter && ./ci/build.sh
73-
74-
task:
75-
gce_instance:
76-
image_project: flutter-cirrus
77-
image_name: flutter-engine-windows-server-2016-core
78-
zone: us-central1-a
79-
platform: windows
80-
cpu: 32
81-
memory: 32Gb
82-
disk: 50
83-
84-
env:
85-
# Cirrus is somehow not picking up the environment variables set in the VM image.
86-
PATH: "c:/depot_tools;c:/MinGit/cmd;$PATH"
87-
DEPOT_TOOLS_WIN_TOOLCHAIN: 0
88-
GYP_MSVS_OVERRIDE_PATH: "c:/Program Files (x86)/Microsoft Visual Studio/2017/Community"
89-
90-
ENGINE_PATH: "c:/flutter/engine"
91-
92-
# robocopy can return 1 for successful copy; suppress its error code.
93-
# move somehow doesn't work as it complains that the file is being used by another process.
94-
gclient_sync_script: |
95-
robocopy %CIRRUS_WORKING_DIR% %ENGINE_PATH%/src/flutter /MIR || (cmd /s /c exit /b 0)
96-
cd %ENGINE_PATH%/src
97-
gclient sync
98-
99-
matrix:
100-
- name: build_windows_debug
101-
compile_host_script: |
102-
cd %ENGINE_PATH%/src
103-
python flutter/tools/gn --runtime-mode debug --unoptimized
104-
ninja -C out/host_debug_unopt
105-
106-
- name: build_windows_debug_unopt
107-
compile_host_script: |
108-
cd %ENGINE_PATH%/src
109-
python flutter/tools/gn --runtime-mode debug
110-
ninja -C out/host_debug
58+
../../bin/flutter test --local-engine=host_debug_unopt --null-assertions --sound-null-safety --enable-experiment=non-nullable
59+
# TODO(fujino): remove this once ci/licenses.sh is run on LUCI
60+
- name: licenses_check
61+
build_script: |
62+
cd $ENGINE_PATH/src/flutter
63+
./ci/licenses.sh

.clang-tidy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Checks: 'google-*'

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
## Description
2+
3+
*Replace this paragraph with a description of what this PR is doing. If you're
4+
modifying existing behavior, describe the existing behavior, how this PR is
5+
changing it, and what motivated the change.*
6+
7+
## Related Issues
8+
9+
*Replace this paragraph with a list of issues related to this PR from our [issue
10+
database]. Indicate, which of these issues are resolved or fixed by this PR.
11+
There should be at least one issue listed here.*
12+
13+
## Tests
14+
15+
I added the following tests:
16+
17+
*Replace this with a list of the tests that you added as part of this PR. A
18+
change in behaviour with no test covering it will likely get reverted
19+
accidentally sooner or later. PRs must include tests for all
20+
changed/updated/fixed behaviors. See [testing the engine] for instructions on
21+
writing and running engine tests.*
22+
23+
## Checklist
24+
25+
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes (`[x]`). This will ensure a smooth and quick review process.
26+
27+
- [ ] I read the [contributor guide] and followed the process outlined there for submitting PRs.
28+
- [ ] I signed the [CLA].
29+
- [ ] I read and followed the [C++, Objective-C, Java style guides] for the engine.
30+
- [ ] I read the [tree hygiene] wiki page, which explains my responsibilities.
31+
- [ ] I updated/added relevant documentation.
32+
- [ ] All existing and new tests are passing.
33+
- [ ] I am willing to follow-up on review comments in a timely manner.
34+
35+
36+
## Reviewer Checklist
37+
38+
- [ ] I have submitted any presubmit flakes in this PR using the [engine presubmit flakes form] before re-triggering the failure.
39+
40+
41+
## Breaking Change
42+
43+
Did any tests fail when you ran them? Please read [handling breaking changes].
44+
45+
- [ ] No, no existing tests failed, so this is *not* a breaking change.
46+
- [ ] Yes, this is a breaking change. *If not, delete the remainder of this section.*
47+
- [ ] I wrote a design doc: https://flutter.dev/go/template *Replace this with a link to your design doc's short link*
48+
- [ ] I got input from the developer relations team, specifically from: *Replace with the names of who gave advice*
49+
- [ ] I wrote a migration guide: https://flutter.dev/go/breaking-changes-template *Replace this with a link to a pull request that adds the migration guide to https://flutter.dev/docs/release/breaking-changes*
50+
51+
<!-- Links -->
52+
[issue database]: https://github.com/flutter/flutter/issues
53+
[contributor guide]: https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
54+
[testing the engine]: https://github.com/flutter/flutter/wiki/Testing-the-engine
55+
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/master/CONTRIBUTING.md#style
56+
[CLA]: https://cla.developers.google.com/
57+
[tree hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
58+
[handling breaking changes]: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
59+
[engine presubmit flakes form]: https://forms.gle/Wc1VyFRYJjQTH6w5A

.gitignore

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
*~
44
.*.sw?
55
.DS_Store
6+
.ccls-cache
67
.classpath
8+
.clangd/
79
.cproject
810
.dart_tool
911
.gdb_history
@@ -14,10 +16,116 @@
1416
.project
1517
.pub
1618
.pydevproject
19+
compile_commands.json
1720
cscope.*
1821
Session.vim
1922
tags
2023
Thumbs.db
2124
.idea
2225
pubspec.lock
2326
.vscode/
27+
docs/doxygen/
28+
xcuserdata
29+
30+
third_party/gn/
31+
32+
# Miscellaneous
33+
*.class
34+
*.lock
35+
*.log
36+
*.pyc
37+
*.swp
38+
.DS_Store
39+
.atom/
40+
.buildlog/
41+
.history
42+
.svn/
43+
44+
# IntelliJ related
45+
*.iml
46+
*.ipr
47+
*.iws
48+
.idea/
49+
50+
# Visual Studio Code related
51+
.classpath
52+
.project
53+
.settings/
54+
.vscode/
55+
56+
# packages file containing multi-root paths
57+
.packages.generated
58+
59+
# Flutter/Dart/Pub related
60+
**/doc/api/
61+
.dart_tool/
62+
.flutter-plugins
63+
.flutter-plugins-dependencies
64+
.packages
65+
.pub-cache/
66+
.pub/
67+
build/
68+
flutter_*.png
69+
linked_*.ds
70+
unlinked.ds
71+
unlinked_spec.ds
72+
73+
# Android related
74+
**/android/**/gradle-wrapper.jar
75+
**/android/.gradle
76+
**/android/captures/
77+
**/android/gradlew
78+
**/android/gradlew.bat
79+
**/android/local.properties
80+
**/android/**/GeneratedPluginRegistrant.java
81+
**/android/key.properties
82+
*.jks
83+
84+
# iOS/XCode related
85+
**/ios/**/*.mode1v3
86+
**/ios/**/*.mode2v3
87+
**/ios/**/*.moved-aside
88+
**/ios/**/*.pbxuser
89+
**/ios/**/*.perspectivev3
90+
**/ios/**/*sync/
91+
**/ios/**/.sconsign.dblite
92+
**/ios/**/.tags*
93+
**/ios/**/.vagrant/
94+
**/ios/**/DerivedData/
95+
**/ios/**/Icon?
96+
**/ios/**/Pods/
97+
**/ios/**/.symlinks/
98+
**/ios/**/profile
99+
**/ios/**/xcuserdata
100+
**/ios/.generated/
101+
**/ios/Flutter/App.framework
102+
**/ios/Flutter/Flutter.framework
103+
**/ios/Flutter/Flutter.xcframework
104+
**/ios/Flutter/Flutter.podspec
105+
**/ios/Flutter/Generated.xcconfig
106+
**/ios/Flutter/app.flx
107+
**/ios/Flutter/app.zip
108+
**/ios/Flutter/flutter_assets/
109+
**/ios/Flutter/flutter_export_environment.sh
110+
**/ios/ServiceDefinitions.json
111+
**/ios/Runner/GeneratedPluginRegistrant.*
112+
113+
# macOS
114+
**/macos/Flutter/GeneratedPluginRegistrant.swift
115+
**/macos/Flutter/Flutter-Debug.xcconfig
116+
**/macos/Flutter/Flutter-Release.xcconfig
117+
**/macos/Flutter/Flutter-Profile.xcconfig
118+
119+
# Coverage
120+
coverage/
121+
122+
# Symbols
123+
app.*.symbols
124+
125+
# Exceptions to above rules.
126+
!**/ios/**/default.mode1v3
127+
!**/ios/**/default.mode2v3
128+
!**/ios/**/default.pbxuser
129+
!**/ios/**/default.perspectivev3
130+
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
131+
!/dev/ci/**/Gemfile.lock

AUTHORS

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,7 @@ Victor Choueiri <victor@ctrlanddev.com>
1414
Simon Lightfoot <simon@devangels.london>
1515
Dwayne Slater <ds84182@gmail.com>
1616
Tetsuhiro Ueda <najeira@gmail.com>
17+
shoryukenn <naifu.guan@gmail.com>
18+
SOTEC GmbH & Co. KG <sotec-contributors@sotec.eu>
19+
Hidenori Matsubayashi <Hidenori.Matsubayashi@sony.com>
20+
Sarbagya Dhaubanjar <mail@sarbagyastha.com.np>

0 commit comments

Comments
 (0)