forked from flutter/website
-
Notifications
You must be signed in to change notification settings - Fork 0
/
firebase.json
151 lines (148 loc) · 17 KB
/
firebase.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
{
"hosting": {
"public": "_site",
"cleanUrls": true,
"trailingSlash": false,
"rules": "firebase_config/firebase_rules.json",
"ignore": [ "assets/.sprockets-manifest-*.json" ],
"redirects": [
{ "source": "/style-guide*", "destination": "https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo", "type": 301 },
{ "source": "/chat", "destination": "https://gitter.im/flutter/flutter", "type": 302 },
{ "source": "/downloads/:resource*", "destination": "/resources/:resource*", "type": 301 },
{ "source": "/privacy", "destination": "https://www.google.com/intl/en/policies/privacy", "type": 301 },
{ "source": "/research-signup", "destination": "https://docs.google.com/forms/d/e/1FAIpQLSe0i4De809KXVCdljGKrjMj3lxhuzbuFKCtY5PEQPCYtGxFMg/viewform?usp=sf_link", "type": 301 },
{ "source": "/research-optout", "destination": "https://docs.google.com/forms/d/e/1FAIpQLSeG2Nhj0YQkr3m75P74Zb9G-v7zgNhAE9arCyig-a5B1A8uDw/viewform?usp=sf_link", "type": 301 },
{ "source": "/docs/catalog", "destination": "/docs/catalog/samples", "type": 301 },
{ "source": "/docs/cookbook/networking", "destination": "/docs/cookbook#networking", "type": 301 },
{ "source": "/docs/cookbook/networking/named-routes", "destination": "/docs/cookbook/navigation/named-routes", "type": 301 },
{ "source": "/docs/cookbook/testing/integration-test-introduction", "destination": "/docs/cookbook/testing/integration", "type": 301 },
{ "source": "/docs/cookbook/testing/integration-test-profiling", "destination": "/docs/cookbook/testing/integration/profiling", "type": 301 },
{ "source": "/docs/cookbook/testing/integration-test-scrolling", "destination": "/docs/cookbook/testing/integration/scrolling", "type": 301 },
{ "source": "/docs/cookbook/testing/mocking", "destination": "/docs/cookbook/testing/unit/mocking", "type": 301 },
{ "source": "/docs/cookbook/testing/unit-test", "destination": "/docs/cookbook/testing/unit/introduction", "type": 301 },
{ "source": "/docs/cookbook/testing/widget-test-finders", "destination": "/docs/cookbook/testing/widget/finders", "type": 301 },
{ "source": "/docs/cookbook/testing/widget-test-introduction", "destination": "/docs/cookbook/testing/widget", "type": 301 },
{ "source": "/docs/cookbook/testing/widget-test-tap-drag", "destination": "/docs/cookbook/testing/widget/tap-drag", "type": 301 },
{ "source": "/docs/development/packages-and-plugins/androidx-compatibility", "destination": "/docs/development/androidx-migration", "type": 301 },
{ "source": "/docs/get-started", "destination": "/docs/get-started/install", "type": 301 },
{ "source": "/docs/get-started/flutter-for", "destination": "/docs/get-started/flutter-for/android-devs", "type": 301 },
{ "source": "/docs/get-started/install/null", "destination": "/docs/get-started/install", "type": 301 },
{ "source": "/docs/development/tools/ide", "destination": "/docs/development/tools/android-studio", "type": 301 },
{ "source": "/docs/development/tools/ide/android-studio", "destination": "/docs/development/tools/android-studio", "type": 301 },
{ "source": "/docs/development/tools/ide/vs-code", "destination": "/docs/development/tools/vs-code", "type": 301 },
{ "source": "/docs/development/tools/sdk", "destination": "/docs/development/tools/sdk/upgrading", "type": 301 },
{ "source": "/docs/development/ui/widgets/catalog", "destination": "/docs/development/ui/widgets", "type": 301 },
{ "source": "/docs/development/ui/widgets/widgetindex", "destination": "/docs/reference/widgets", "type": 301 },
{ "source": "/docs/reference/widgets/widgetindex", "destination": "/docs/reference/widgets", "type": 301 },
{ "source": "/docs/reference/widgets/:catalogpage+", "destination": "/docs/development/ui/widgets/:catalogpage+", "type": 301 },
{ "source": "/docs/resources/design-principles", "destination": "https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo", "type": 301 },
{ "source": "/accessibility", "destination": "/docs/development/accessibility-and-localization/accessibility", "type": 301 },
{ "source": "/adaptations", "destination": "/docs/resources/platform-adaptations", "type": 301 },
{ "source": "/android-release", "destination": "/docs/deployment/android", "type": 301 },
{ "source": "/animations", "destination": "/docs/development/ui/animations", "type": 301 },
{ "source": "/animations/:rest*", "destination": "/docs/development/ui/animations/:rest*", "type": 301 },
{ "source": "/assets-and-images", "destination": "/docs/development/ui/assets-and-images", "type": 301 },
{ "source": "/bootstrap-into-dart", "destination": "/docs/resources/bootstrap-into-dart", "type": 301 },
{ "source": "/bug-reports", "destination": "/docs/resources/bug-reports", "type": 301 },
{ "source": "/catalog/samples", "destination": "/docs/catalog/samples", "type": 301 },
{ "source": "/catalog/samples/tabbed-app-bar", "destination": "/docs/cookbook/design/tabs", "type": 301 },
{ "source": "/catalog/samples/:page*_index", "destination": "/docs/catalog/samples/:page*", "type": 301 },
{ "source": "/catalog/samples/AppBar_index", "destination": "/docs/catalog/samples/AppBar", "type": 301 },
{ "source": "/catalog/samples/TabBar_index", "destination": "/docs/catalog/samples/TabBar", "type": 301 },
{ "source": "/catalog/samples/:rest*", "destination": "/docs/catalog/samples/:rest*", "type": 301 },
{ "source": "/cd", "destination": "/docs/deployment/cd", "type": 301 },
{ "source": "/codelabs", "destination": "/docs/codelabs", "type": 301 },
{ "source": "/cookbook", "destination": "/docs/cookbook", "type": 301 },
{ "source": "/cookbook/:rest*", "destination": "/docs/cookbook/:rest*", "type": 301 },
{ "source": "/jobs", "destination": "/jobs/infrastructure", "type": 301 },
{ "source": "/custom-fonts", "destination": "/docs/cookbook/design/fonts", "type": 301 },
{ "source": "/debugging", "destination": "/docs/testing/debugging", "type": 301 },
{ "source": "/design-principles", "destination": "https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo", "type": 301 },
{ "source": "/developing-packages", "destination": "/docs/development/packages-and-plugins/developing-packages", "type": 301 },
{ "source": "/faq", "destination": "/docs/resources/faq", "type": 301 },
{ "source": "/fastlane-cd", "destination": "/docs/deployment/cd#fastlane", "type": 301 },
{ "source": "/docs/deployment/fastlane-cd", "destination": "/docs/deployment/cd", "type": 301 },
{ "source": "/fastlane-cd", "destination": "/docs/deployment/cd", "type": 301 },
{ "source": "/flutter-for-:platform*", "destination": "/docs/get-started/flutter-for/:platform*-devs", "type": 301 },
{ "source": "/formatting", "destination": "/docs/development/tools/formatting", "type": 301 },
{ "source": "/gestures", "destination": "/docs/development/ui/advanced/gestures", "type": 301 },
{ "source": "/get-started", "destination": "/docs/get-started", "type": 301 },
{ "source": "/get-started/:rest*", "destination": "/docs/get-started/:rest*", "type": 301 },
{ "source": "/getting-started", "destination": "/get-started", "type": 301 },
{ "source": "/hot-reload", "destination": "/docs/development/tools/hot-reload", "type": 301 },
{ "source": "/ide-setup", "destination": "/docs/get-started/editor", "type": 301 },
{ "source": "/images/intellij/hot-reload.gif", "destination": "https://raw.githubusercontent.com/flutter/website/master/src/_assets/image/tools/android-studio/hot-reload.gif", "type": 301 },
{ "source": "/inspector", "destination": "/docs/development/tools/devtools/inspector", "type": 301 },
{ "source": "/docs/development/tools/inspector", "destination": "/docs/development/tools/devtools/inspector", "type": 301 },
{ "source": "/intellij-ide", "destination": "/docs/development/tools/android-studio", "type": 301 },
{ "source": "/intellij-setup", "destination": "/docs/get-started/editor", "type": 301 },
{ "source": "/ios-release", "destination": "/docs/deployment/ios", "type": 301 },
{ "source": "/json", "destination": "/docs/development/data-and-backend/json", "type": 301 },
{ "source": "/layout", "destination": "/docs/development/ui/layout/box-constraints", "type": 301 },
{ "source": "/networking", "destination": "/docs/cookbook/networking/fetch-data", "type": 301 },
{ "source": "/platform-channels", "destination": "/docs/development/platform-integration/platform-channels", "type": 301 },
{ "source": "/platform-plugins*", "destination": "/docs/development/packages-and-plugins/using-packages", "type": 301 },
{ "source": "/platform-services", "destination": "/docs/development/platform-integration/platform-channels", "type": 301 },
{ "source": "/routing-and-navigation", "destination": "/docs/development/ui/navigation", "type": 301 },
{ "source": "/reading-writing-files", "destination": "/docs/cookbook/persistence/reading-writing-files", "type": 301 },
{ "source": "/sdk-archive", "destination": "/docs/development/tools/sdk/releases", "type": 301 },
{ "source": "/docs/development/tools/sdk/archive", "destination": "/docs/development/tools/sdk/releases", "type": 301 },
{ "source": "/setup", "destination": "/docs/get-started/install", "type": 301 },
{ "source": "/setup-:os*", "destination": "/docs/get-started/install/:os*", "type": 301 },
{ "source": "/support", "destination": "/community", "type": 301 },
{ "source": "/technical-overview", "destination": "/docs/resources/technical-overview", "type": 301 },
{ "source": "/testing", "destination": "/docs/testing", "type": 301 },
{ "source": "/text-input", "destination": "/docs/cookbook/forms/text-input", "type": 301 },
{ "source": "/tutorials", "destination": "/docs/reference/tutorials", "type": 301 },
{ "source": "/tutorials/animation", "destination": "/docs/development/ui/animations/tutorial", "type": 301 },
{ "source": "/tutorials/layout", "destination": "/docs/development/ui/layout", "type": 301 },
{ "source": "/tutorials/interactive", "destination": "/docs/development/ui/interactive", "type": 301 },
{ "source": "/tutorials/internationalization", "destination": "/docs/development/accessibility-and-localization/internationalization", "type": 301 },
{ "source": "/ui-performance", "destination": "/docs/perf/rendering/ui-performance", "type": 301 },
{ "source": "/docs/testing/ui-performance", "destination": "/docs/perf/rendering/ui-performance", "type": 301 },
{ "source": "/docs/testing/best-practices", "destination": "/docs/perf/rendering/best-practices", "type": 301 },
{ "source": "/upgrading", "destination": "/docs/development/tools/sdk/upgrading", "type": 301 },
{ "source": "/using-ide", "destination": "/docs/development/tools/android-studio", "type": 301 },
{ "source": "/using-ide-vscode", "destination": "/docs/development/tools/vs-code", "type": 301 },
{ "source": "/using-packages", "destination": "/docs/development/packages-and-plugins/using-packages", "type": 301 },
{ "source": "/web-analogs", "destination": "/docs/get-started/flutter-for/web-devs", "type": 301 },
{ "source": "/webflutter.dev/web", "destination": "/web", "type": 301 },
{ "source": "/widgets", "destination": "/docs/development/ui/widgets/catalog", "type": 301 },
{ "source": "/widgets/:rest*", "destination": "/docs/development/ui/widgets/:rest*", "type": 301 },
{ "source": "/widgets-intro", "destination": "/docs/development/ui/widgets-intro", "type": 301 },
{ "source": "/youtube", "destination": "https://youtube.com/flutterdev", "type": 301 },
{ "source": "/desktop", "destination": "https://github.com/flutter/flutter/wiki/Desktop-shells", "type": 302 },
{ "source": "/go/template", "destination": "https://docs.google.com/document/d/1SFRO8U2toOlAaZ38dsuEU7Wm5fn41wvBCWKiwADqfmw/edit?usp=sharing", "type": 301 },
{ "source": "/go/everything-builds-from-a-module", "destination": "https://docs.google.com/document/d/1fkUpos4hbJF0NYSwjNLWct2UGDg-AfhxzlR6p2g0w9M", "type": 301 },
{ "source": "/go/remove-include-flutter-groovy", "destination": "https://docs.google.com/document/d/1OulURfRSWgJnnFA_cSup4ev7wrJwnZ7Siao_FGbLN9I", "type": 301 },
{ "source": "/go/build-flows", "destination": "https://docs.google.com/document/d/1imsVxbeAsttTi90EFpbnbVzov9z0xXd7tLCAr_QAJ38", "type": 301 },
{ "source": "/go/add-to-app-samples", "destination": "https://docs.google.com/document/d/1M_GsAL8C1NxbsmzI35w2Th1wvX1KMoPHY5yeeNbzjY0", "type": 301 },
{ "source": "/go/golden-workflow", "destination": "https://docs.google.com/document/d/1MuIUz9pyE_bBZPbtMCj3pYgkdgG4s4Egh6FMknTngKw", "type": 301 },
{ "source": "/go/androidx-transition", "destination": "https://docs.google.com/document/d/1JnMxQinUeouuV5kcenoq03TsvLyn_xaHXIT_6c5b7nQ", "type": 301 },
{ "source": "/go/plugin-binding-review", "destination": "https://docs.google.com/document/d/1-9Si_ocFYh-Wa1qKV4PV2ocywKDYdiR_1yO3twPvrfM", "type": 301 },
{ "source": "/go/performance-best-practices", "destination": "https://docs.google.com/document/d/16bd3HtkuvzAk0uizDGTT3aNtjI8Mfr0f6C3ZVrYYqvI", "type": 301 },
{ "source": "/go/build-dashboard-v2", "destination": "https://docs.google.com/document/d/1kwh48xYuoVtadYFb2I2t6BJMGEW07K7T5WYcieAZZiY", "type": 301 },
{ "source": "/go/federated-plugins", "destination": "https://docs.google.com/document/d/1LD7QjmzJZLCopUrFAAE98wOUQpjmguyGTN2wd_89Srs/edit?usp=sharing", "type": 301 },
{ "source": "/go/android-embedding-move", "destination": "https://docs.google.com/document/d/1nQujwZfEe3QOHTyZn160eImpoJOYioADP09DtumcLcc/edit?ts=5d8041db#", "type": 301 },
{ "source": "/go/android-migration-summary", "destination": "https://docs.google.com/document/d/1wKspwf6LQu6uo32uQ9NcukfiKhLL4ButV9cwpjeb8QI", "type": 301 },
{ "source": "/go/hot-ui-early-prototype-demos", "destination": "https://docs.google.com/document/d/1ZaHqKnON8-WEhke3Y6FpHeuB5BNlxDQj1cCYB1SoI_g", "type": 301 },
{ "source": "/go/android-embedding-dependencies", "destination": "https://docs.google.com/document/d/1vITp2mUZRa-cmll0sPH0zjNgPlyvOMx7awxPNRAPyic/edit?usp=sharing", "type": 301 },
{ "source": "/go/web-plugins-layout", "destination": "https://docs.google.com/document/d/1PeS-QSAFydHXhjZrqkub-GRPMs83roh8VwhbUScWuGQ", "type": 301 },
{ "source": "/go/desktop-resize", "destination": "https://docs.google.com/document/d/1OTy-qCGdP7tYfrEKCNX9A24sgnx5vshfK6FupfniyxA", "type": 301 },
{ "source": "/go/generated-plugin-registration", "destination": "https://docs.google.com/document/d/17-GIBYMgaoYS_G34w-fL9oe8W_GX70v6X2bhfKSBrdo/edit?usp=sharing", "type": 301 },
{ "source": "/go/navigator-with-router", "destination": "https://docs.google.com/document/d/1Q0jx0l4-xymph9O6zLaOY4d_f7YFpNWX_eGbzYxr9wY/edit", "type": 301 },
{ "source": "/go/android-assets-in-flutter", "destination": "https://docs.google.com/document/d/1jymgQYxRTe5rdprt74ERh7Jsa0lfnRuMnkOmJusLWsE/edit?usp=sharing", "type": 301 },
{ "source": "/go/faster-cocoon", "destination": "https://docs.google.com/document/d/1NXP0_9TJ1qz674iYyOGVLEHWVpmbXr5yjhBrdoU_x5g/edit", "type": 301 },
{ "source": "/go/platform-interface-breaking-changes", "destination": "https://docs.google.com/document/d/1LD7QjmzJZLCopUrFAAE98wOUQpjmguyGTN2wd_89Srs/edit#heading=h.xabf9lffxrkb", "type": 301 },
{ "source": "/go/synchronized-widgettester", "destination": "https://docs.google.com/document/d/1VumsuG6dEFUVpPQLqqKJnhI0CoIS9fCAMN-NFHIPmo0/edit?usp=sharing", "type": 301 },
{ "source": "/go/automatic-android-plugin-registration", "destination": "https://docs.google.com/document/d/1xNkBmcdVL1yEXqtZ65KzTwfr5UXDD05VVKYXIXGX7p8/edit?usp=sharing", "type": 301 },
{ "source": "/go/android-project-migration", "destination": "https://github.com/flutter/flutter/wiki/Upgrading-pre-1.12-Android-projects", "type": 301 },
{ "source": "/go/sliver-flex-and-friends", "destination": "https://docs.google.com/document/d/1W4_5oD5z7JHhUjuQYwS_NJRAv27Ih7IazcMm739O5JU/edit?usp=sharing", "type": 301 },
{ "source": "/go/asset-lookup-in-plugin-binding", "destination": "https://docs.google.com/document/d/1iwGFWipC0v0FKvAgbjGl0kaV9IGox1YiD8jUP8Vvkjc/edit?usp=sharing", "type": 301 },
{ "source": "/go/android-plugin-migration", "destination": "https://flutter.dev/docs/development/packages-and-plugins/plugin-api-migration", "type": 301 },
{ "source": "/go/simple-flutter-tool-memory-benchmarks", "destination": "https://docs.google.com/document/d/1vlARGxdABMeZoj4HF0p075-81q7G9gv_GnDYgoF7e3I", "type": 301 },
{ "source": "/go/actions-and-shortcuts-design-revision", "destination": "https://docs.google.com/document/d/1A9yald55O_C6Weqp4tOtyMisfOC1ZC0UMq7Yc-pNfVQ/edit?usp=sharing", "type": 301 },
{ "source": "/go/scrollable-alert-dialog", "destination": "https://docs.google.com/document/d/1qtVfjoKXE8BtkNbraKk9IzfRcks5btkKcyE4iGVwkbg/edit?usp=sharing", "type": 301 }
]
}
}