| // Copyright 2014 The Flutter 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:io' hide Platform; | |
| const String gobMirror = 'https://flutter.googlesource.com/mirrors/flutter'; | |
| const String githubRepo = 'https://github.com/flutter/flutter.git'; | |
| const String mingitForWindowsUrl = | |
| 'https://storage.googleapis.com/flutter_infra_release/mingit/' | |
| '603511c649b00bbef0a6122a827ac419b656bc19/mingit.zip'; | |
| const String releaseFolder = '/releases'; | |
| const String gsBase = 'gs://flutter_infra_release'; | |
| const String gsReleaseFolder = '$gsBase$releaseFolder'; | |
| const String baseUrl = 'https://storage.googleapis.com/flutter_infra_release'; | |
| const int shortCacheSeconds = 60; | |
| const String frameworkVersionTag = 'frameworkVersionFromGit'; | |
| const String dartVersionTag = 'dartSdkVersion'; | |
| const String dartTargetArchTag = 'dartTargetArch'; | |
| enum Branch { beta, stable, master, main } | |
| /// The CPU architecture a Flutter SDK archive is built for. | |
| /// | |
| /// This is the architecture of the machine the packaged SDK will run on, which | |
| /// is not necessarily the architecture of the machine building the package: on | |
| /// CI we cross-package x64 archives on arm64 macOS hosts. | |
| enum TargetArch { x64, arm64 } | |
| /// Exception class for when a process fails to run, so we can catch | |
| /// it and provide something more readable than a stack trace. | |
| final class PreparePackageException implements Exception { | |
| PreparePackageException(this.message, [this.result]); | |
| final String message; | |
| final ProcessResult? result; | |
| int get exitCode => result?.exitCode ?? -1; | |
| @override | |
| String toString() { | |
| var output = '$PreparePackageException: $message'; | |
| final String stderr = result?.stderr as String? ?? ''; | |
| if (stderr.isNotEmpty) { | |
| output += ':\n$stderr'; | |
| } | |
| return output; | |
| } | |
| } |