mirror of
https://github.com/flutter/packages.git
synced 2025-06-13 08:13:02 +08:00
[flutter_plugin_tool] Add support for building UWP plugins (#4047)
This allows building UWP plugin examples with `build-examples --winuwp`. As with previous pre-stable-template desktop support, this avoids the issue of unstable app templates by running `flutter create` on the fly before trying to build, so a template that will bitrot doesn't need to be checked in. Also adds no-op "support" for `drive-examples --winuwp`, with warnings about it not doing anything. This is to handle the fact that the LUCI recipe is shared between Win32 and UWP, and didn't conditionalize `drive`. Rather than change that, then change it back later, this just adds the no-op support now (since changing the tooling is much easier than changing LUCI recipes currently). This required some supporting tool changes: - Adds the ability to check for the new platform variants in a pubspec - Adds the ability to write test pubspecs that include variants, for testing Part of https://github.com/flutter/flutter/issues/82817
This commit is contained in:
@ -10,24 +10,43 @@ import 'package:yaml/yaml.dart';
|
||||
/// print destination.
|
||||
typedef Print = void Function(Object? object);
|
||||
|
||||
/// Key for windows platform.
|
||||
const String kPlatformWindows = 'windows';
|
||||
|
||||
/// Key for macos platform.
|
||||
const String kPlatformMacos = 'macos';
|
||||
|
||||
/// Key for linux platform.
|
||||
const String kPlatformLinux = 'linux';
|
||||
/// Key for APK (Android) platform.
|
||||
const String kPlatformAndroid = 'android';
|
||||
|
||||
/// Key for IPA (iOS) platform.
|
||||
const String kPlatformIos = 'ios';
|
||||
|
||||
/// Key for APK (Android) platform.
|
||||
const String kPlatformAndroid = 'android';
|
||||
/// Key for linux platform.
|
||||
const String kPlatformLinux = 'linux';
|
||||
|
||||
/// Key for macos platform.
|
||||
const String kPlatformMacos = 'macos';
|
||||
|
||||
/// Key for Web platform.
|
||||
const String kPlatformWeb = 'web';
|
||||
|
||||
/// Key for windows platform.
|
||||
///
|
||||
/// Note that this corresponds to the Win32 variant for flutter commands like
|
||||
/// `build` and `run`, but is a general platform containing all Windows
|
||||
/// variants for purposes of the `platform` section of a plugin pubspec).
|
||||
const String kPlatformWindows = 'windows';
|
||||
|
||||
/// Key for WinUWP platform.
|
||||
///
|
||||
/// Note that UWP is a platform for the purposes of flutter commands like
|
||||
/// `build` and `run`, but a variant of the `windows` platform for the purposes
|
||||
/// of plugin pubspecs).
|
||||
const String kPlatformWinUwp = 'winuwp';
|
||||
|
||||
/// Key for Win32 variant of the Windows platform.
|
||||
const String platformVariantWin32 = 'win32';
|
||||
|
||||
/// Key for UWP variant of the Windows platform.
|
||||
///
|
||||
/// See the note on [kPlatformWinUwp].
|
||||
const String platformVariantWinUwp = 'uwp';
|
||||
|
||||
/// Key for enable experiment.
|
||||
const String kEnableExperiment = 'enable-experiment';
|
||||
|
||||
|
Reference in New Issue
Block a user