Unverified Commit e1671814 authored by Michael Thomsen's avatar Michael Thomsen Committed by GitHub

Move flutter_gallery to the testing folder (#52532)

Move Flutter Gallery to dev/integration_tests/ as it is an older copy used only for testing. The current version of the Flutter Gallery now lives in https://github.com/flutter/gallery.
parent 1606d878
......@@ -320,7 +320,7 @@ Future<void> verifyNoTestPackageImports(String workingDirectory) async {
name.startsWith('packages/flutter/test/engine/') ||
name.startsWith('examples/layers/test/smoketests/raw/') ||
name.startsWith('examples/layers/test/smoketests/rendering/') ||
name.startsWith('examples/flutter_gallery/test/calculator')) {
name.startsWith('dev/integration_tests/flutter_gallery/test/calculator')) {
// We only exempt driver tests, some of our special trivial tests.
// Driver tests aren't typically expected to use TypeMatcher and company.
// The trivial tests don't typically do anything at all and it would be
......@@ -817,92 +817,92 @@ final Set<Hash256> _grandfatheredBinaries = <Hash256>{
Hash256(0xD29D4E0AF9256DC9, 0x2D0A8F8810608A5E, 0x64A132AD8B397CA2, 0xC4DDC0B1C26A68C3),
// packages/flutter_tools/templates/app/web/icons/Icon-192.png.copy.tmpl
// examples/flutter_gallery/web/icons/Icon-192.png
// dev/integration_tests/flutter_gallery/web/icons/Icon-192.png
Hash256(0x3DCE99077602F704, 0x21C1C6B2A240BC9B, 0x83D64D86681D45F2, 0x154143310C980BE3),
// packages/flutter_tools/templates/app/web/icons/Icon-512.png.copy.tmpl
// examples/flutter_gallery/web/icons/Icon-512.png
// dev/integration_tests/flutter_gallery/web/icons/Icon-512.png
Hash256(0xBACCB205AE45f0B4, 0x21BE1657259B4943, 0xAC40C95094AB877F, 0x3BCBE12CD544DCBE),
// packages/flutter_tools/templates/app/web/favicon.png.copy.tmpl
// examples/flutter_gallery/web/favicon.png
// dev/integration_tests/flutter_gallery/web/favicon.png
Hash256(0x7AB2525F4B86B65D, 0x3E4C70358A17E5A1, 0xAAF6F437f99CBCC0, 0x46DAD73d59BB9015),
// GALLERY ICONS
// examples/flutter_gallery/android/app/src/main/res/mipmap-hdpi/ic_background.png
// dev/integration_tests/flutter_gallery/android/app/src/main/res/mipmap-hdpi/ic_background.png
Hash256(0x03CFDE53C249475C, 0x277E8B8E90AC8A13, 0xE5FC13C358A94CCB, 0x67CA866C9862A0DD),
// examples/flutter_gallery/android/app/src/main/res/mipmap-hdpi/ic_foreground.png
// dev/integration_tests/flutter_gallery/android/app/src/main/res/mipmap-hdpi/ic_foreground.png
Hash256(0x86A83E23A505EFCC, 0x39C358B699EDE12F, 0xC088EE516A1D0C73, 0xF3B5D74DDAD164B1),
// examples/flutter_gallery/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
// dev/integration_tests/flutter_gallery/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
Hash256(0xD813B1A77320355E, 0xB68C485CD47D0F0F, 0x3C7E1910DCD46F08, 0x60A6401B8DC13647),
// examples/flutter_gallery/android/app/src/main/res/mipmap-xhdpi/ic_background.png
// dev/integration_tests/flutter_gallery/android/app/src/main/res/mipmap-xhdpi/ic_background.png
Hash256(0x35AFA76BD5D6053F, 0xEE927436C78A8794, 0xA8BA5F5D9FC9653B, 0xE5B96567BB7215ED),
// examples/flutter_gallery/android/app/src/main/res/mipmap-xhdpi/ic_foreground.png
// dev/integration_tests/flutter_gallery/android/app/src/main/res/mipmap-xhdpi/ic_foreground.png
Hash256(0x263CE9B4F1F69B43, 0xEBB08AE9FE8F80E7, 0x95647A59EF2C040B, 0xA8AEB246861A7DFF),
// examples/flutter_gallery/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
// dev/integration_tests/flutter_gallery/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
Hash256(0x5E1A93C3653BAAFF, 0x1AAC6BCEB8DCBC2F, 0x2AE7D68ECB07E507, 0xCB1FA8354B28313A),
// examples/flutter_gallery/android/app/src/main/res/mipmap-xxhdpi/ic_background.png
// dev/integration_tests/flutter_gallery/android/app/src/main/res/mipmap-xxhdpi/ic_background.png
Hash256(0xA5C77499151DDEC6, 0xDB40D0AC7321FD74, 0x0646C0C0F786743F, 0x8F3C3C408CAC5E8C),
// examples/flutter_gallery/android/app/src/main/res/mipmap-xxhdpi/ic_foreground.png
// dev/integration_tests/flutter_gallery/android/app/src/main/res/mipmap-xxhdpi/ic_foreground.png
Hash256(0x33DE450980A2A16B, 0x1982AC7CDC1E7B01, 0x919E07E0289C2139, 0x65F85BCED8895FEF),
// examples/flutter_gallery/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
// dev/integration_tests/flutter_gallery/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
Hash256(0xC3B8577F4A89BA03, 0x830944FB06C3566B, 0x4C99140A2CA52958, 0x089BFDC3079C59B7),
// examples/flutter_gallery/android/app/src/main/res/mipmap-xxxhdpi/ic_background.png
// dev/integration_tests/flutter_gallery/android/app/src/main/res/mipmap-xxxhdpi/ic_background.png
Hash256(0xDEBC241D6F9C5767, 0x8980FDD46FA7ED0C, 0x5B8ACD26BCC5E1BC, 0x473C89B432D467AD),
// examples/flutter_gallery/android/app/src/main/res/mipmap-xxxhdpi/ic_foreground.png
// dev/integration_tests/flutter_gallery/android/app/src/main/res/mipmap-xxxhdpi/ic_foreground.png
Hash256(0xBEFE5F7E82BF8B64, 0x148D869E3742004B, 0xF821A9F5A1BCDC00, 0x357D246DCC659DC2),
// examples/flutter_gallery/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
// dev/integration_tests/flutter_gallery/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Hash256(0xC385404341FF9EDD, 0x30FBE76F0EC99155, 0x8EA4F4AFE8CC0C60, 0x1CA3EDEF177E1DA8),
// examples/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-1024.png
// dev/integration_tests/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-1024.png
Hash256(0x6BE5751A29F57A80, 0x36A4B31CC542C749, 0x984E49B22BD65CAA, 0x75AE8B2440848719),
// examples/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-120.png
// dev/integration_tests/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-120.png
Hash256(0x9972A2264BFA8F8D, 0x964AFE799EADC1FA, 0x2247FB31097F994A, 0x1495DC32DF071793),
// examples/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-152.png
// dev/integration_tests/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-152.png
Hash256(0x4C7CC9B09BEEDA24, 0x45F57D6967753910, 0x57D68E1A6B883D2C, 0x8C52701A74F1400F),
// examples/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-167.png
// dev/integration_tests/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-167.png
Hash256(0x66DACAC1CFE4D349, 0xDBE994CB9125FFD7, 0x2D795CFC9CF9F739, 0xEDBB06CE25082E9C),
// examples/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-180.png
// dev/integration_tests/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-180.png
Hash256(0x5188621015EBC327, 0xC9EF63AD76E60ECE, 0xE82BDC3E4ABF09E2, 0xEE0139FA7C0A2BE5),
// examples/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-20.png
// dev/integration_tests/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-20.png
Hash256(0x27D2752D04EE9A6B, 0x78410E208F74A6CD, 0xC90D9E03B73B8C60, 0xD05F7D623E790487),
// examples/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-29.png
// dev/integration_tests/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-29.png
Hash256(0xBB20556B2826CF85, 0xD5BAC73AA69C2AC3, 0x8E71DAD64F15B855, 0xB30CB73E0AF89307),
// examples/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-40.png
// dev/integration_tests/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-40.png
Hash256(0x623820FA45CDB0AC, 0x808403E34AD6A53E, 0xA3E9FDAE83EE0931, 0xB020A3A4EF2CDDE7),
// examples/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-58.png
// dev/integration_tests/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-58.png
Hash256(0xC6D631D1E107215E, 0xD4A58FEC5F3AA4B5, 0x0AE9724E07114C0C, 0x453E5D87C2CAD3B3),
// examples/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-60.png
// dev/integration_tests/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-60.png
Hash256(0x4B6F58D1EB8723C6, 0xE717A0D09FEC8806, 0x90C6D1EF4F71836E, 0x618672827979B1A2),
// examples/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-76.png
// dev/integration_tests/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-76.png
Hash256(0x0A1744CC7634D508, 0xE85DD793331F0C8A, 0x0B7C6DDFE0975D8F, 0x29E91C905BBB1BED),
// examples/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-80.png
// dev/integration_tests/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-80.png
Hash256(0x24032FBD1E6519D6, 0x0BA93C0D5C189554, 0xF50EAE23756518A2, 0x3FABACF4BD5DAF08),
// examples/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-87.png
// dev/integration_tests/flutter_gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-87.png
Hash256(0xC17BAE6DF6BB234A, 0xE0AF4BEB0B805F12, 0x14E74EB7AA9A30F1, 0x5763689165DA7DDF),
......
......@@ -32,7 +32,7 @@ if [[ "$OS" == "linux" ]]; then
export BUNDLE_GEMFILE="$FLUTTER_ROOT/dev/ci/docker_linux/Gemfile"
# ANDROID_SDK_ROOT must be set in the env.
(
cd examples/flutter_gallery
cd dev/integration_tests/flutter_gallery
flutter build apk --release -t lib/main_publish.dart
)
echo "Android Flutter Gallery built"
......@@ -44,7 +44,7 @@ if [[ "$OS" == "linux" ]]; then
fi
set -x
(
cd examples/flutter_gallery/android
cd dev/integration_tests/flutter_gallery/android
bundle exec fastlane deploy_play_store
)
else
......@@ -54,7 +54,7 @@ elif [[ "$OS" == "darwin" ]]; then
echo "Building Flutter Gallery $version for iOS..."
export BUNDLE_GEMFILE="$FLUTTER_ROOT/dev/ci/mac/Gemfile"
(
cd examples/flutter_gallery
cd dev/integration_tests/flutter_gallery
flutter build ios --release --no-codesign -t lib/main_publish.dart
# flutter build ios will run CocoaPods script. Check generated locations.
......@@ -92,7 +92,7 @@ elif [[ "$OS" == "darwin" ]]; then
if [[ "$CIRRUS_BRANCH" == "dev" && "$version" != *"pre"* ]]; then
echo "Archiving with distribution profile and deploying to TestFlight..."
(
cd examples/flutter_gallery/ios
cd dev/integration_tests/flutter_gallery/ios
export DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS="-t DAV"
bundle exec fastlane build_and_deploy_testflight upload:true
)
......@@ -102,7 +102,7 @@ elif [[ "$OS" == "darwin" ]]; then
# the secrets aren't available on PRs.
echo "Testing archiving with distribution profile..."
(
cd examples/flutter_gallery/ios
cd dev/integration_tests/flutter_gallery/ios
# Cirrus Mac VMs come with an old version of fastlane which was causing
# dependency issues (https://github.com/flutter/flutter/issues/43435),
# so explicitly use the version specified in $BUNDLE_GEMFILE.
......
......@@ -421,8 +421,8 @@ Future<void> _runFrameworkTests() async {
tests: <String>[ path.join('test', 'widgets') + path.separator ],
);
// Try compiling code outside of the packages/flutter directory with and without --track-widget-creation
await _runFlutterTest(path.join(flutterRoot, 'examples', 'flutter_gallery'), options: <String>['--track-widget-creation'], tableData: bigqueryApi?.tabledata);
await _runFlutterTest(path.join(flutterRoot, 'examples', 'flutter_gallery'), options: <String>['--no-track-widget-creation'], tableData: bigqueryApi?.tabledata);
await _runFlutterTest(path.join(flutterRoot, 'dev', 'integration_tests', 'flutter_gallery'), options: <String>['--track-widget-creation'], tableData: bigqueryApi?.tabledata);
await _runFlutterTest(path.join(flutterRoot, 'dev', 'integration_tests', 'flutter_gallery'), options: <String>['--no-track-widget-creation'], tableData: bigqueryApi?.tabledata);
}
Future<void> runLibraries() async {
......
......@@ -21,7 +21,7 @@ Future<String> _runWithMode(String mode, String deviceId) async {
}
Future<TaskResult> run() async {
cd('${flutterDirectory.path}/examples/flutter_gallery');
cd('${flutterDirectory.path}/dev/integration_tests/flutter_gallery');
final Device device = await devices.workingDevice;
await device.unlock();
final String deviceId = device.deviceId;
......
......@@ -16,7 +16,7 @@ const String packageName = 'io.flutter.demo.gallery';
const String activityName = 'io.flutter.demo.gallery.MainActivity';
class BackButtonMemoryTest extends MemoryTest {
BackButtonMemoryTest() : super('${flutterDirectory.path}/examples/flutter_gallery', 'test_memory/back_button.dart', packageName);
BackButtonMemoryTest() : super('${flutterDirectory.path}/dev/integration_tests/flutter_gallery', 'test_memory/back_button.dart', packageName);
@override
AndroidDevice get device => super.device as AndroidDevice;
......
......@@ -10,7 +10,7 @@ import 'package:flutter_devicelab/tasks/perf_tests.dart';
Future<void> main() async {
await task(MemoryTest(
'${flutterDirectory.path}/examples/flutter_gallery',
'${flutterDirectory.path}/dev/integration_tests/flutter_gallery',
'test_memory/image_cache_memory.dart',
'io.flutter.demo.gallery',
).run);
......
......@@ -10,7 +10,7 @@ import 'package:flutter_devicelab/tasks/perf_tests.dart';
Future<void> main() async {
await task(MemoryTest(
'${flutterDirectory.path}/examples/flutter_gallery',
'${flutterDirectory.path}/dev/integration_tests/flutter_gallery',
'test_memory/memory_nav.dart',
'io.flutter.demo.gallery',
).run);
......
......@@ -9,7 +9,7 @@ import 'package:flutter_devicelab/framework/adb.dart';
import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/utils.dart';
// This test runs "//examples/flutter_gallery/test/live_smoketest.dart", which communicates
// This test runs "//dev/integration_tests/flutter_gallery/test/live_smoketest.dart", which communicates
// with the Java code to report its status. If this test fails due to a problem on the Dart
// side, you can debug that by just running that file directly using `flutter run`.
......@@ -18,7 +18,7 @@ Future<void> main() async {
await task(() async {
final Directory galleryDirectory =
dir('${flutterDirectory.path}/examples/flutter_gallery');
dir('${flutterDirectory.path}/dev/integration_tests/flutter_gallery');
await inDirectory(galleryDirectory, () async {
final Device device = await devices.workingDevice;
await device.unlock();
......
......@@ -26,7 +26,7 @@ class GalleryTransitionTest {
await device.unlock();
final String deviceId = device.deviceId;
final Directory galleryDirectory =
dir('${flutterDirectory.path}/examples/flutter_gallery');
dir('${flutterDirectory.path}/dev/integration_tests/flutter_gallery');
await inDirectory<void>(galleryDirectory, () async {
await flutter('packages', options: <String>['get']);
......
......@@ -13,7 +13,7 @@ import '../framework/framework.dart';
import '../framework/utils.dart';
final Directory _editedFlutterGalleryDir = dir(path.join(Directory.systemTemp.path, 'edited_flutter_gallery'));
final Directory flutterGalleryDir = dir(path.join(flutterDirectory.path, 'examples/flutter_gallery'));
final Directory flutterGalleryDir = dir(path.join(flutterDirectory.path, 'dev/integration_tests/flutter_gallery'));
TaskFunction createHotModeTest({String deviceIdOverride, Map<String, String> environment}) {
return () async {
......
......@@ -32,7 +32,7 @@ TaskFunction createTilesScrollPerfTest() {
TaskFunction createHomeScrollPerfTest() {
return PerfTest(
'${flutterDirectory.path}/examples/flutter_gallery',
'${flutterDirectory.path}/dev/integration_tests/flutter_gallery',
'test_driver/scroll_perf.dart',
'home_scroll_perf',
).run;
......@@ -100,7 +100,7 @@ TaskFunction createPictureCachePerfTest() {
TaskFunction createFlutterGalleryStartupTest() {
return StartupTest(
'${flutterDirectory.path}/examples/flutter_gallery',
'${flutterDirectory.path}/dev/integration_tests/flutter_gallery',
).run;
}
......@@ -118,7 +118,7 @@ TaskFunction createHelloWorldStartupTest() {
}
TaskFunction createFlutterGalleryCompileTest() {
return CompileTest('${flutterDirectory.path}/examples/flutter_gallery').run;
return CompileTest('${flutterDirectory.path}/dev/integration_tests/flutter_gallery').run;
}
TaskFunction createHelloWorldCompileTest() {
......@@ -301,7 +301,7 @@ class WebCompileTest {
await _measureSize('hello_world', output, metrics);
return null;
});
await inDirectory<TaskResult>('${flutterDirectory.path}/examples/flutter_gallery', () async {
await inDirectory<TaskResult>('${flutterDirectory.path}/dev/integration_tests/flutter_gallery', () async {
await flutter('packages', options: <String>['get']);
await evalFlutter('build', options: <String>[
'web',
......@@ -311,7 +311,7 @@ class WebCompileTest {
], environment: <String, String>{
'FLUTTER_WEB': 'true',
});
final String output = '${flutterDirectory.path}/examples/flutter_gallery/build/web/main.dart.js';
final String output = '${flutterDirectory.path}/dev/integration_tests/flutter_gallery/build/web/main.dart.js';
await _measureSize('flutter_gallery', output, metrics);
return null;
});
......
......@@ -12,7 +12,7 @@ import '../framework/framework.dart';
import '../framework/utils.dart';
final Directory _editedFlutterGalleryDir = dir(path.join(Directory.systemTemp.path, 'edited_flutter_gallery'));
final Directory flutterGalleryDir = dir(path.join(flutterDirectory.path, 'examples/flutter_gallery'));
final Directory flutterGalleryDir = dir(path.join(flutterDirectory.path, 'dev/integration_tests/flutter_gallery'));
const String kInitialStartupTime = 'InitialStartupTime';
const String kFirstRestartTime = 'FistRestartTime';
......
# Flutter gallery
A demo app for Flutter's material design and cupertino widgets, as
well as many other features of the Flutter SDK.
An older copy of the Flutter gallery demo application used for integration testing.
## Building
You can follow these instructions to build the gallery app
and install it onto your device.
### Prerequisites
If you are new to Flutter, please first follow
the [Flutter Setup](https://flutter.dev/setup/) guide.
### Building and installing the Flutter app
* `cd $FLUTTER_ROOT/examples/flutter_gallery`
* `flutter pub get`
* `flutter run --release`
The `flutter run --release` command both builds and installs the Flutter app.
## Prerelease checklist
* Verify that the About box's license page scrolls and reveals its long
long stream of license texts.
For the current Flutter gallery app sample, see this repo:
https://github.com/flutter/gallery
## Icon
......
# Take our settings from the repo's main analysis_options.yaml file, but add
# an exclude for the build directory.
include: ../../analysis_options.yaml
include: ../../../analysis_options.yaml
analyzer:
exclude:
......
......@@ -4,6 +4,6 @@ A gallery of widgets and behaviors, plus demos and vignettes, all built with Flu
Flutter is Google’s multi-platform mobile app SDK for crafting beautiful native experiences on iOS and Android in record time.
This app is open source. Check out the code to see how this app is built: https://github.com/flutter/flutter/tree/master/examples/flutter_gallery
This app is open source. Check out the code to see how this app is built: https://github.com/flutter/flutter/tree/master/dev/integration_tests/flutter_gallery
Visit https://flutter.dev to learn more.
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment