| // Copyright 2017 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 'dart:io'; |
| |
| import '../framework/adb.dart'; |
| import '../framework/framework.dart'; |
| import '../framework/ios.dart'; |
| import '../framework/utils.dart'; |
| import 'save_catalog_screenshots.dart' show saveCatalogScreenshots; |
| |
| |
| Future<TaskResult> samplePageCatalogGenerator(String authorizationToken) async { |
| final Device device = await devices.workingDevice; |
| await device.unlock(); |
| final String deviceId = device.deviceId; |
| |
| final Directory catalogDirectory = dir('${flutterDirectory.path}/examples/catalog'); |
| await inDirectory<void>(catalogDirectory, () async { |
| await flutter('packages', options: <String>['get']); |
| |
| final bool isIosDevice = deviceOperatingSystem == DeviceOperatingSystem.ios; |
| if (isIosDevice) |
| await prepareProvisioningCertificates(catalogDirectory.path); |
| |
| final String commit = await getCurrentFlutterRepoCommit(); |
| |
| await dart(<String>['bin/sample_page.dart', commit]); |
| |
| await flutter('drive', options: <String>[ |
| '--target', |
| 'test_driver/screenshot.dart', |
| '--device-id', |
| deviceId, |
| ]); |
| |
| await saveCatalogScreenshots( |
| directory: dir('${flutterDirectory.path}/examples/catalog/.generated'), |
| commit: commit, |
| token: authorizationToken, |
| prefix: isIosDevice ? 'ios_' : '', |
| ); |
| }); |
| |
| return TaskResult.success(null); |
| } |