Skip to content
This repository was archived by the owner on Feb 22, 2023. It is now read-only.

Commit d86a665

Browse files
committed
Merge branch 'master' into iOS_podspec
2 parents 7311faf + d3ccc34 commit d86a665

2,330 files changed

Lines changed: 85623 additions & 27577 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.

.ci/Dockerfile

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
1+
FROM cirrusci/flutter:stable
12

2-
FROM cirrusci/flutter:latest
3+
RUN sudo apt-get update -y
4+
5+
RUN sudo apt-get install -y --no-install-recommends gnupg
6+
7+
# Add repo for gcloud sdk and install it
8+
RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | \
9+
sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
10+
11+
RUN curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
12+
sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
13+
14+
RUN sudo apt-get update && sudo apt-get install -y google-cloud-sdk && \
15+
gcloud config set core/disable_usage_reporting true && \
16+
gcloud config set component_manager/disable_update_check true
317

418
RUN yes | sdkmanager \
519
"platforms;android-27" \
@@ -8,3 +22,8 @@ RUN yes | sdkmanager \
822
"extras;android;m2repository"
923

1024
RUN yes | sdkmanager --licenses
25+
26+
# Add repo for Google Chrome and install it
27+
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
28+
RUN echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' | sudo tee /etc/apt/sources.list.d/google-chrome.list
29+
RUN sudo apt-get update && sudo apt-get install -y --no-install-recommends google-chrome-stable

.ci/Dockerfile-LinuxDesktop

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
FROM cirrusci/flutter:stable
2+
3+
RUN sudo apt-get update -y
4+
5+
RUN sudo apt-get install -y --no-install-recommends gnupg
6+
7+
# Add repo for gcloud sdk and install it
8+
RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | \
9+
sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
10+
11+
RUN curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
12+
sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
13+
14+
RUN sudo apt-get update && sudo apt-get install -y google-cloud-sdk && \
15+
gcloud config set core/disable_usage_reporting true && \
16+
gcloud config set component_manager/disable_update_check true
17+
18+
# Install xvfb to allow running headless
19+
RUN sudo apt-get install -y xvfb libegl1-mesa
20+
# Install Linux desktop build tool requirements.
21+
RUN sudo apt-get install -y clang cmake ninja-build file pkg-config
22+
# Install necessary libraries.
23+
RUN sudo apt-get install -y libgtk-3-dev

.cirrus.yml

Lines changed: 138 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,80 @@
11
task:
2+
# don't run on release tags since it creates O(n^2) tasks where n is the number of plugins
3+
only_if: $CIRRUS_TAG == ''
24
use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true' && $CIRRUS_PR == ''
35
container:
46
dockerfile: .ci/Dockerfile
57
cpu: 8
68
memory: 16G
9+
env:
10+
E2E_PATH: "./packages/e2e"
711
upgrade_script:
12+
- flutter channel stable
13+
- flutter upgrade
814
- flutter channel master
915
- flutter upgrade
1016
- git fetch origin master
1117
activate_script: pub global activate flutter_plugin_tools
1218
matrix:
1319
- name: publishable
14-
script: ./script/check_publish.sh
15-
- name: test+format
20+
script:
21+
- flutter channel master
22+
- ./script/check_publish.sh
23+
- name: format
1624
install_script:
1725
- wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
1826
- sudo apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main"
1927
- sudo apt-get update
2028
- sudo apt-get install -y --allow-unauthenticated clang-format-7
2129
format_script: ./script/incremental_build.sh format --travis --clang-format=clang-format-7
22-
test_script: ./script/incremental_build.sh test
30+
- name: test
31+
env:
32+
matrix:
33+
CHANNEL: "master"
34+
CHANNEL: "stable"
35+
test_script:
36+
# TODO(jackson): Allow web plugins once supported on stable
37+
# https://github.com/flutter/flutter/issues/42864
38+
- if [[ "$CHANNEL" -eq "stable" ]]; then find . | grep _web$ | xargs rm -rf; fi
39+
- flutter channel $CHANNEL
40+
- ./script/incremental_build.sh test
2341
- name: analyze
2442
script: ./script/incremental_build.sh analyze
2543
- name: build_all_plugins_apk
26-
script: ./script/build_all_plugins_app.sh apk
27-
- name: build-apks+java-test+drive-examples
44+
script:
45+
# TODO(jackson): Allow web plugins once supported on stable
46+
# https://github.com/flutter/flutter/issues/42864
47+
- if [[ "$CHANNEL" -eq "stable" ]]; then find . | grep _web$ | xargs rm -rf; fi
48+
- flutter channel $CHANNEL
49+
- ./script/build_all_plugins_app.sh apk
50+
- name: e2e_web_smoke_test
51+
# Tests e2e example test in web.
52+
only_if: "changesInclude('.cirrus.yml', 'packages/e2e/**') || $CIRRUS_PR == ''"
53+
install_script:
54+
- flutter config --enable-web
55+
- git clone https://github.com/flutter/web_installers.git
56+
- cd web_installers/packages/web_drivers/
57+
- pub get
58+
- dart lib/web_driver_installer.dart chromedriver --install-only
59+
- ./chromedriver/chromedriver --port=4444 &
60+
test_script:
61+
- cd $E2E_PATH/example/
62+
- flutter drive -v --target=test_driver/example_e2e.dart -d web-server --release --browser-name=chrome
63+
- name: build-apks+java-test+firebase-test-lab
2864
env:
2965
matrix:
3066
PLUGIN_SHARDING: "--shardIndex 0 --shardCount 2"
3167
PLUGIN_SHARDING: "--shardIndex 1 --shardCount 2"
68+
matrix:
69+
CHANNEL: "master"
70+
CHANNEL: "stable"
3271
MAPS_API_KEY: ENCRYPTED[596a9f6bca436694625ac50851dc5da6b4d34cba8025f7db5bc9465142e8cd44e15f69e3507787753accebfc4910d550]
72+
GCLOUD_FIREBASE_TESTLAB_KEY: ENCRYPTED[07586610af1fdfc894e5969f70ef2458341b9b7e9c3b7c4225a663b4a48732b7208a4d91c3b7d45305a6b55fa2a37fc4]
3373
script:
74+
# TODO(jackson): Allow web plugins once supported on stable
75+
# https://github.com/flutter/flutter/issues/42864
76+
- if [[ "$CHANNEL" -eq "stable" ]]; then find . | grep _web$ | xargs rm -rf; fi
77+
- flutter channel $CHANNEL
3478
# Unsetting CIRRUS_CHANGE_MESSAGE and CIRRUS_COMMIT_MESSAGE as they
3579
# might include non-ASCII characters which makes Gradle crash.
3680
# See: https://github.com/flutter/flutter/issues/24935
@@ -43,27 +87,77 @@ task:
4387
- export CIRRUS_COMMIT_MESSAGE=""
4488
- ./script/incremental_build.sh build-examples --apk
4589
- ./script/incremental_build.sh java-test # must come after apk build
90+
- if [[ $GCLOUD_FIREBASE_TESTLAB_KEY == ENCRYPTED* ]]; then
91+
- echo "This user does not have permission to run Firebase Test Lab tests."
92+
- else
93+
- echo $GCLOUD_FIREBASE_TESTLAB_KEY > ${HOME}/gcloud-service-key.json
94+
- ./script/incremental_build.sh firebase-test-lab
95+
- fi
4696
- export CIRRUS_CHANGE_MESSAGE=`cat /tmp/cirrus_change_message.txt`
4797
- export CIRRUS_COMMIT_MESSAGE=`cat /tmp/cirrus_commit_message.txt`
4898

4999
task:
100+
# don't run on release tags since it creates O(n^2) tasks where n is the number of plugins
101+
only_if: $CIRRUS_TAG == ''
102+
use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true' && $CIRRUS_PR == ''
103+
container:
104+
dockerfile: .ci/Dockerfile-LinuxDesktop
105+
cpu: 8
106+
memory: 16G
107+
env:
108+
E2E_PATH: "./packages/e2e"
109+
upgrade_script:
110+
- flutter channel stable
111+
- flutter upgrade
112+
- flutter channel master
113+
- flutter upgrade
114+
- git fetch origin master
115+
activate_script: pub global activate flutter_plugin_tools
116+
matrix:
117+
- name: build-linux+drive-examples
118+
install_script:
119+
- flutter config --enable-linux-desktop
120+
build_script:
121+
# TODO(stuartmorgan): Include stable once Linux is supported on stable.
122+
- flutter channel master
123+
- ./script/incremental_build.sh build-examples --linux
124+
- xvfb-run ./script/incremental_build.sh drive-examples --linux
125+
126+
task:
127+
# don't run on release tags since it creates O(n^2) tasks where n is the number of plugins
128+
only_if: $CIRRUS_TAG == ''
50129
use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true'
51130
osx_instance:
52-
image: mojave-xcode-10.2-flutter
53-
setup_script:
54-
- pod repo update
131+
image: catalina-xcode-11.3.1-flutter
55132
upgrade_script:
133+
- flutter channel stable
134+
- flutter upgrade
56135
- flutter channel master
57136
- flutter upgrade
58137
- git fetch origin master
59-
activate_script:
60-
- pub global activate flutter_plugin_tools
138+
activate_script: pub global activate flutter_plugin_tools
61139
create_simulator_script:
62140
- xcrun simctl list
63-
- xcrun simctl create Flutter-iPhone com.apple.CoreSimulator.SimDeviceType.iPhone-X com.apple.CoreSimulator.SimRuntime.iOS-12-2 | xargs xcrun simctl boot
141+
- xcrun simctl create Flutter-iPhone com.apple.CoreSimulator.SimDeviceType.iPhone-X com.apple.CoreSimulator.SimRuntime.iOS-13-3 | xargs xcrun simctl boot
64142
matrix:
65143
- name: build_all_plugins_ipa
66-
script: ./script/build_all_plugins_app.sh ios --no-codesign
144+
script:
145+
# TODO(jackson): Allow web plugins once supported on stable
146+
# https://github.com/flutter/flutter/issues/42864
147+
- if [[ "$CHANNEL" -eq "stable" ]]; then find . | grep _web$ | xargs rm -rf; fi
148+
- flutter channel $CHANNEL
149+
- ./script/build_all_plugins_app.sh ios --no-codesign
150+
- name: lint_darwin_plugins
151+
env:
152+
matrix:
153+
PLUGIN_SHARDING: "--shardIndex 0 --shardCount 2"
154+
PLUGIN_SHARDING: "--shardIndex 1 --shardCount 2"
155+
script:
156+
# TODO(jmagman): Lint macOS podspecs but skip any that fail library validation.
157+
- find . -name "*.podspec" | xargs grep -l "osx" | xargs rm
158+
# Skip the dummy podspecs used to placate the tool.
159+
- find . -name "*_web*.podspec" -o -name "*_mac*.podspec" | xargs rm
160+
- ./script/incremental_build.sh podspecs --no-analyze camera --ignore-warnings camera
67161
- name: build-ipas+drive-examples
68162
env:
69163
PATH: $PATH:/usr/local/bin
@@ -72,7 +166,39 @@ task:
72166
PLUGIN_SHARDING: "--shardIndex 1 --shardCount 4"
73167
PLUGIN_SHARDING: "--shardIndex 2 --shardCount 4"
74168
PLUGIN_SHARDING: "--shardIndex 3 --shardCount 4"
169+
matrix:
170+
CHANNEL: "master"
171+
CHANNEL: "stable"
75172
SIMCTL_CHILD_MAPS_API_KEY: ENCRYPTED[596a9f6bca436694625ac50851dc5da6b4d34cba8025f7db5bc9465142e8cd44e15f69e3507787753accebfc4910d550]
76173
build_script:
174+
# TODO(jackson): Allow web plugins once supported on stable
175+
# https://github.com/flutter/flutter/issues/42864
176+
- if [[ "$CHANNEL" -eq "stable" ]]; then find . | grep _web$ | xargs rm -rf; fi
177+
- flutter channel $CHANNEL
77178
- ./script/incremental_build.sh build-examples --ipa
78179
- ./script/incremental_build.sh drive-examples
180+
task:
181+
# don't run on release tags since it creates O(n^2) tasks where n is the number of plugins
182+
only_if: $CIRRUS_TAG == ''
183+
use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true'
184+
osx_instance:
185+
image: catalina-xcode-11.3.1-flutter
186+
setup_script:
187+
- flutter config --enable-macos-desktop
188+
upgrade_script:
189+
- flutter channel master
190+
- flutter upgrade
191+
- git fetch origin master
192+
activate_script: pub global activate flutter_plugin_tools
193+
matrix:
194+
- name: build_all_plugins_app
195+
script:
196+
- flutter channel master
197+
- ./script/build_all_plugins_app.sh macos
198+
- name: build-apps+drive-examples
199+
env:
200+
PATH: $PATH:/usr/local/bin
201+
build_script:
202+
- flutter channel master
203+
- ./script/incremental_build.sh build-examples --macos --no-ipa
204+
- ./script/incremental_build.sh drive-examples --macos

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,13 @@ Podfile.lock
1616
Pods/
1717
.symlinks/
1818
**/Flutter/App.framework/
19+
**/Flutter/ephemeral/
1920
**/Flutter/Flutter.framework/
2021
**/Flutter/Generated.xcconfig
2122
**/Flutter/flutter_assets/
23+
2224
ServiceDefinitions.json
2325
xcuserdata/
24-
*.xcworkspace
2526
**/DerivedData/
2627

2728
local.properties
@@ -30,11 +31,14 @@ keystore.properties
3031
gradlew
3132
gradlew.bat
3233
gradle-wrapper.jar
34+
.flutter-plugins-dependencies
3335
*.iml
3436

37+
generated_plugin_registrant.dart
3538
GeneratedPluginRegistrant.h
3639
GeneratedPluginRegistrant.m
3740
GeneratedPluginRegistrant.java
41+
GeneratedPluginRegistrant.swift
3842
build/
3943
.flutter-plugins
4044

AUTHORS

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,18 @@ Audrius Karosevicius <[email protected]>
4343
Lukasz Piliszczuk <[email protected]>
4444
SoundReply Solutions GmbH <[email protected]>
4545
Rafal Wachol <[email protected]>
46-
Pau Picas <[email protected]>
46+
Pau Picas <[email protected]>
47+
Christian Weder <[email protected]>
48+
Alexandru Tuca <[email protected]>
49+
Christian Weder <[email protected]>
50+
Rhodes Davis Jr. <[email protected]>
51+
Luigi Agosti <[email protected]>
52+
Quentin Le Guennec <[email protected]>
53+
Koushik Ravikumar <[email protected]>
54+
Nissim Dsilva <[email protected]>
55+
Giancarlo Rocha <[email protected]>
56+
Ryo Miyake <[email protected]>
57+
Théo Champion <[email protected]>
58+
Kazuki Yamaguchi <[email protected]>
59+
Eitan Schwartz <[email protected]>
60+
Chris Rutkowski <[email protected]>

CODEOWNERS

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,22 @@
44
# These names are just suggestions. It is fine to have your changes
55
# reviewed by someone else.
66

7-
packages/android_alarm_manager/* @bkonyi
8-
packages/android_intent/* @mklim
9-
packages/battery/* @amirh
10-
packages/camera/* @bparrishMines @mklim
11-
packages/connectivity/* @cyanglaz
12-
packages/google_maps_flutter/* @iskakaushik
13-
packages/google_sign_in/* @cyanglaz @mehmetf
14-
packages/image_picker/* @cyanglaz
15-
packages/in_app_purchase/* @mklim @cyanglaz
16-
packages/instrumentation_adapter/* @collinjackson @digiter
17-
packages/package_info/* @cyanglaz
18-
packages/path_provider/* @collinjackson
19-
packages/quick_actions/* @collinjackson
20-
packages/shared_preferences/* @collinjackson
21-
packages/url_launcher/* @mklim
22-
packages/video_player/* @iskakaushik @cyanglaz
23-
packages/webview_flutter/* @amirh
7+
packages/android_alarm_manager/* @bkonyi
8+
packages/android_intent/* @mklim @matthew-carroll
9+
packages/battery/* @amirh @matthew-carroll
10+
packages/camera/* @bparrishMines
11+
packages/connectivity/* @cyanglaz @matthew-carroll
12+
packages/device_info/* @matthew-carroll
13+
packages/e2e/* @collinjackson @digiter
14+
packages/espresso/* @collinjackson @adazh
15+
packages/google_maps_flutter/* @cyanglaz
16+
packages/google_sign_in/* @cyanglaz @mehmetf
17+
packages/image_picker/* @cyanglaz
18+
packages/in_app_purchase/* @mklim @cyanglaz @LHLL
19+
packages/ios_platform_images/* @gaaclarke
20+
packages/package_info/* @cyanglaz @matthew-carroll
21+
packages/path_provider/* @matthew-carroll
22+
packages/shared_preferences/* @matthew-carroll
23+
packages/url_launcher/* @mklim
24+
packages/video_player/* @iskakaushik @cyanglaz
25+
packages/webview_flutter/* @amirh

0 commit comments

Comments
 (0)