├── .DS_Store ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── __brick__ ├── .DS_Store └── {{app_name}} │ ├── .gitignore │ ├── .metadata │ ├── README.md │ ├── analysis_options.yaml │ ├── lib │ └── main.dart │ ├── macos │ ├── .gitignore │ ├── Flutter │ │ ├── Flutter-Debug.xcconfig │ │ ├── Flutter-Release.xcconfig │ │ └── GeneratedPluginRegistrant.swift │ ├── Podfile │ ├── Podfile.lock │ ├── Runner.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ └── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ └── Runner.xcscheme │ ├── Runner.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ └── Runner │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── app_icon_1024.png │ │ │ ├── app_icon_128.png │ │ │ ├── app_icon_16.png │ │ │ ├── app_icon_256.png │ │ │ ├── app_icon_32.png │ │ │ ├── app_icon_512.png │ │ │ └── app_icon_64.png │ │ └── Contents.json │ │ ├── Base.lproj │ │ └── MainMenu.xib │ │ ├── Configs │ │ ├── AppInfo.xcconfig │ │ ├── Debug.xcconfig │ │ ├── Release.xcconfig │ │ └── Warnings.xcconfig │ │ ├── DebugProfile.entitlements │ │ ├── Info.plist │ │ ├── MainFlutterWindow.swift │ │ └── Release.entitlements │ ├── pubspec.lock │ ├── pubspec.yaml │ └── test │ └── widget_test.dart ├── brick.yaml └── hooks ├── .gitignore ├── post_gen.dart ├── pre_gen.dart ├── pubspec.lock └── pubspec.yaml /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/macosui/macosui_starter/973101537a2da707c81e9e84ee5799c6aa5afd15/.DS_Store -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # 2.0.0 2 | * Use `macos_ui: ^2.0.0` 3 | * Target Dart SDK `">=2.19.2 <4.0.0"` 4 | * Added option to initialize git 5 | * Ensure proper casing of `app_name` in `README.md` and `AppInfo.xcconfig` 6 | * Use the newer app icon from the Flutter framework 7 | * Removed `use_translucency` option 8 | * Removed `hide_native_title_bar` option 9 | * Removed `add_multi_window` option 10 | 11 | # 1.5.0 12 | * Use `macos_ui: ^1.12.1+1` 13 | * Target Dart SDK Version `2.19.0` 14 | 15 | # 1.4.2 16 | * Update usage of `PlatformMenuBar` to use `child` instead of the deprecated `body` 17 | 18 | # 1.4.1 19 | * Use `macos_ui: ^1.11.1` 20 | 21 | # 1.4.0 22 | * Use `macos_ui: ^1.10.0` 23 | * Ensures window transparency compatible with Flutter versions >= 3.7.0 24 | 25 | # 1.3.0 26 | * Fixed a bug where the `post_gen` hook would crash 27 | * Added a success message upon successful completion of project generation 28 | * Use `macos_ui: ^1.7.5` 29 | * Use `desktop_multi_window: ^0.2.0` 30 | 31 | # 1.2.1+2 32 | * Use `macos_ui: ^1.5.1` 33 | 34 | # 1.2.1+1 35 | * Minor fixes 36 | 37 | # 1.2.1 38 | * Ensures that generated applications will always end up in a subdirectory of the specified output directory, or if 39 | none is specified, a subfolder of the current directory. 40 | * Ensures that `flutter pub get` will always be run in the directory of the generated application. 41 | 42 | # 1.2.0 43 | * 🖥 Added multi-window support via the `add_multi_window` option. 44 | * Upgraded the `pre_gen` hook to appropriately handle configuration cases where the user enables multi-window but does 45 | not enable system menus. 46 | * Upgraded the `post_gen` hook to run `flutter format .` after generating the project to ensure the generated code is 47 | always formatted correctly. 48 | 49 | # 1.1.0 50 | * Added the `debug_label_on` option so developers can choose to turn on/off the debug label via configuration. 51 | * Added support for Flutter's new `PlatformMenuBar` system menus via the `custom_system_menu_bar` option. 52 | * Removed an unused import from `main.dart`. 53 | 54 | # 1.0.0 55 | 56 | * Initial release 🎉 57 | * Generate a new Flutter application that uses `macos_ui` 58 | * Optionally use window translucency 59 | * Optionally hide the native titlebar 60 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) [2021] [Reuben Turner] 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # macosui_starter 2 | 3 | ![Powered by Mason](https://img.shields.io/endpoint?url=https%3A%2F%2Ftinyurl.com%2Fmason-badge) 4 | 5 | A starter Flutter application for macOS that uses [`macos_ui`](https://pub.dev/packages/macos_ui). 6 | 7 | 8 | 9 | ## 🚧 Prerequisites 10 | * Your Flutter version should be at least 3.0 11 | * You should have `mason_cli` installed 12 | 13 | ## Usage 🚀 14 | ```sh 15 | mason make macosui_starter 16 | ``` 17 | 18 | You'll be prompted for the following information: 19 | * The name of your app 20 | * Your app's description 21 | * The name of your organization 22 | * Whether to show the debug label by default 23 | * Whether to add a basic custom system menu bar 24 | * Whether to initialize a git repository 25 | * Whether to add basic multi-window support **_(temporarily disabled)_** 26 | 27 | ## Variables ✨ 28 | 29 | | Variable | Description | Default | Type | 30 | |--------------------------|-----------------------------------------------|---------------------------------------------------------|-----------| 31 | | `app_name` | The name of your app | `macosui_starter` | `string` | 32 | | `app_description` | The description of your application | `A starter Flutter application for macOS with macos_ui` | `string` | 33 | | `org_name` | The name of your organization | `com.example` | `string` | 34 | | `debug_label_on` | Whether to show the debug label by default | `false` | `boolean` | 35 | | `custom_system_menu_bar` | Whether to add a basic custom system menu bar | `false` | `boolean` | 36 | | `initialize_git_repo` | Whether to initialize a git repository | `false` | `boolean` | 37 | | `add_multi_window` | Whether to add basic multi-window support | `false` | `boolean` | 38 | 39 | Setting `custom_system_menu_bar` to `true` will add a basic custom system menu bar to your application, which looks 40 | like this: 41 | 42 | 43 | 44 | ### 🚨 A Note About multi-window Support 45 | The `add_multi_window` option worked by using a third-party plugin called `desktop_multi_window`, which creates new 46 | windows by creating a new instance of the Flutter engine for each window. Unfortunately, this approach means that any 47 | plugins used by the primary instance are not passed to the new instances. There are workarounds for multiwindow 48 | applications using plugins that would require data passed between them; As of version 2.0, `macos_ui` uses the 49 | `macos_window_utils` plugin under the hood, the nature of which won't work with the workarounds. 50 | 51 | Therefore, `add_multi_window` is disabled until multi-window is officially released in the Flutter framework itself. 52 | 53 | ## Output 📦 54 | 55 | A Flutter application that: 56 | * Targets macOS (support for other platforms can be added manually) 57 | * Has `macos_ui` pre-installed 58 | * Builds basic UI based on the latest version of `macos_ui` -------------------------------------------------------------------------------- /__brick__/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/macosui/macosui_starter/973101537a2da707c81e9e84ee5799c6aa5afd15/__brick__/.DS_Store -------------------------------------------------------------------------------- /__brick__/{{app_name}}/.gitignore: -------------------------------------------------------------------------------- 1 | # Miscellaneous 2 | *.class 3 | *.log 4 | *.pyc 5 | *.swp 6 | .DS_Store 7 | .atom/ 8 | .buildlog/ 9 | .history 10 | .svn/ 11 | migrate_working_dir/ 12 | 13 | # IntelliJ related 14 | *.iml 15 | *.ipr 16 | *.iws 17 | .idea/ 18 | 19 | # The .vscode folder contains launch configuration and tasks you configure in 20 | # VS Code which you may wish to be included in version control, so this line 21 | # is commented out by default. 22 | #.vscode/ 23 | 24 | # Flutter/Dart/Pub related 25 | **/doc/api/ 26 | **/ios/Flutter/.last_build_id 27 | .dart_tool/ 28 | .flutter-plugins 29 | .flutter-plugins-dependencies 30 | .packages 31 | .pub-cache/ 32 | .pub/ 33 | /build/ 34 | 35 | # Web related 36 | lib/generated_plugin_registrant.dart 37 | 38 | # Symbolication related 39 | app.*.symbols 40 | 41 | # Obfuscation related 42 | app.*.map.json 43 | 44 | # Android Studio will place build artifacts here 45 | /android/app/debug 46 | /android/app/profile 47 | /android/app/release 48 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled. 5 | 6 | version: 7 | revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851 8 | channel: stable 9 | 10 | project_type: app 11 | 12 | # Tracks metadata for the flutter migrate command 13 | migration: 14 | platforms: 15 | - platform: root 16 | create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851 17 | base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851 18 | - platform: macos 19 | create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851 20 | base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851 21 | 22 | # User provided section 23 | 24 | # List of Local paths (relative to this file) that should be 25 | # ignored by the migrate tool. 26 | # 27 | # Files that are not part of the templates will be ignored by default. 28 | unmanaged_files: 29 | - 'lib/main.dart' 30 | - 'ios/Runner.xcodeproj/project.pbxproj' 31 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/README.md: -------------------------------------------------------------------------------- 1 | # {{ app_name.snakeCase() }} 2 | 3 | A starter Flutter app for macOS with `macos_ui`. 4 | 5 | ## Getting Started 6 | 7 | This project is a starting point for a Flutter application specifically targeting macOS and uses the `macos_ui` plugin 8 | to achieve UI and UX that match native AppKit and SwiftUI as closely as possible. 9 | 10 | A few resources to get you started if this is your first time using `macos_ui`: 11 | 12 | - [Generating Starter Apps](https://macosui.dev/docs/starter_apps) 13 | - [API Reference](https://pub.dev/documentation/macos_ui/latest/) 14 | 15 | For help getting started with Flutter development in general, view the 16 | [online documentation](https://docs.flutter.dev/), which offers tutorials, 17 | samples, guidance on mobile development, and a full API reference. 18 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | # This file configures the analyzer, which statically analyzes Dart code to 2 | # check for errors, warnings, and lints. 3 | # 4 | # The issues identified by the analyzer are surfaced in the UI of Dart-enabled 5 | # IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be 6 | # invoked from the command line by running `flutter analyze`. 7 | 8 | # The following line activates a set of recommended lints for Flutter apps, 9 | # packages, and plugins designed to encourage good coding practices. 10 | include: package:flutter_lints/flutter.yaml 11 | 12 | linter: 13 | # The lint rules applied to this project can be customized in the 14 | # section below to disable rules from the `package:flutter_lints/flutter.yaml` 15 | # included above or to enable additional rules. A list of all available lints 16 | # and their documentation is published at 17 | # https://dart-lang.github.io/linter/lints/index.html. 18 | # 19 | # Instead of disabling a lint rule for the entire project in the 20 | # section below, it can also be suppressed for a single line of code 21 | # or a specific dart file by using the `// ignore: name_of_lint` and 22 | # `// ignore_for_file: name_of_lint` syntax on the line or in the file 23 | # producing the lint. 24 | rules: 25 | # avoid_print: false # Uncomment to disable the `avoid_print` rule 26 | # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule 27 | - use_super_parameters 28 | 29 | # Additional information about this file can be found at 30 | # https://dart.dev/guides/language/analysis-options 31 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/lib/main.dart: -------------------------------------------------------------------------------- 1 | {{#add_multi_window}} 2 | import 'dart:convert'; 3 | 4 | import 'package:collection/collection.dart'; 5 | import 'package:desktop_multi_window/desktop_multi_window.dart';{{/add_multi_window}} 6 | import 'package:flutter/cupertino.dart'; 7 | import 'package:flutter/material.dart'; 8 | import 'package:macos_ui/macos_ui.dart'; 9 | 10 | /// This method initializes macos_window_utils and styles the window. 11 | Future _configureMacosWindowUtils() async { 12 | const config = MacosWindowUtilsConfig(); 13 | await config.apply(); 14 | } 15 | 16 | {{#add_multi_window}} 17 | Future main(List args) async { 18 | if (args.firstOrNull == 'multi_window') { 19 | final windowId = int.parse(args[1]); 20 | final arguments = args[2].isEmpty 21 | ? const {} 22 | : jsonDecode(args[2]) as Map; 23 | await _configureMacosWindowUtils(); 24 | runApp( 25 | AboutWindow( 26 | windowController: WindowController.fromWindowId(windowId), 27 | args: arguments, 28 | )); 29 | } else { 30 | await _configureMacosWindowUtils(); 31 | runApp(const App()); 32 | } 33 | } 34 | {{/add_multi_window}} 35 | {{^add_multi_window}} 36 | Future main() async { 37 | await _configureMacosWindowUtils(); 38 | runApp(const App()); 39 | } 40 | {{/add_multi_window}} 41 | 42 | class App extends StatelessWidget { 43 | const App({super.key}); 44 | 45 | // This widget is the root of your application. 46 | @override 47 | Widget build(BuildContext context) { 48 | return MacosApp( 49 | title: '{{ app_name }}', 50 | theme: MacosThemeData.light(), 51 | darkTheme: MacosThemeData.dark(), 52 | themeMode: ThemeMode.system, 53 | home: const MainView(), 54 | debugShowCheckedModeBanner: {{debug_label_on}}, 55 | ); 56 | } 57 | } 58 | 59 | {{#add_multi_window}} 60 | class AboutWindow extends StatelessWidget { 61 | const AboutWindow({ 62 | super.key, 63 | required this.windowController, 64 | required this.args, 65 | }); 66 | 67 | final WindowController windowController; 68 | final Map? args; 69 | 70 | @override 71 | Widget build(BuildContext context) { 72 | return MacosApp( 73 | title: '{{ app_name }}', 74 | theme: MacosThemeData.light(), 75 | darkTheme: MacosThemeData.dark(), 76 | themeMode: ThemeMode.system, 77 | home: MacosWindow( 78 | child: MacosScaffold( 79 | children: [ 80 | ContentArea( 81 | builder: (context, scrollController) { 82 | return Center( 83 | child: Column( 84 | crossAxisAlignment: CrossAxisAlignment.center, 85 | mainAxisAlignment: MainAxisAlignment.center, 86 | children: [ 87 | Text( 88 | 'About {{app_name}}', 89 | style: MacosTheme.of(context).typography.largeTitle, 90 | ), 91 | const SizedBox(height: 8.0), 92 | const Text( 93 | 'This is a starter application generated by mason_cli.', 94 | ), 95 | ], 96 | ), 97 | ); 98 | }, 99 | ), 100 | ], 101 | ), 102 | ), 103 | debugShowCheckedModeBanner: {{debug_label_on}}, 104 | ); 105 | } 106 | } 107 | {{/add_multi_window}} 108 | 109 | class MainView extends StatefulWidget { 110 | const MainView({super.key}); 111 | 112 | @override 113 | State createState() => _MainViewState(); 114 | } 115 | 116 | class _MainViewState extends State { 117 | int _pageIndex = 0; 118 | 119 | @override 120 | Widget build(BuildContext context) { 121 | {{#multi_window_no_system_menu}} 122 | return MacosWindow( 123 | sidebar: Sidebar( 124 | minWidth: 200, 125 | builder: (context, scrollController) => SidebarItems( 126 | currentIndex: _pageIndex, 127 | onChanged: (index) { 128 | setState(() => _pageIndex = index); 129 | }, 130 | items: const [ 131 | SidebarItem( 132 | leading: MacosIcon(CupertinoIcons.home), 133 | label: Text('Home'), 134 | ), 135 | ], 136 | ), 137 | bottom: MacosListTile( 138 | leading: const MacosIcon(CupertinoIcons.info_circle_fill), 139 | title: const Text('About'), 140 | onClick: () async { 141 | final windowController = await DesktopMultiWindow.createWindow(jsonEncode( 142 | { 143 | 'args1': 'About {{app_name}}', 144 | 'args2': 500, 145 | 'args3': true, 146 | }, 147 | )); 148 | debugPrint('$windowController'); 149 | windowController 150 | ..setFrame(const Offset(0, 0) & const Size(350, 350)) 151 | ..center() 152 | ..setTitle('About {{app_name}}') 153 | ..show(); 154 | }, 155 | ), 156 | ), 157 | child: IndexedStack( 158 | index: _pageIndex, 159 | children: const [ 160 | HomePage(), 161 | ], 162 | ), 163 | ); 164 | {{/multi_window_no_system_menu}} 165 | {{^multi_window_no_system_menu}} 166 | {{#custom_system_menu_bar}} 167 | return PlatformMenuBar( 168 | menus: {{#custom_system_menu_bar}}{{#add_multi_window}}{{/add_multi_window}}{{^add_multi_window}}const{{/add_multi_window}}{{/custom_system_menu_bar}}[ 169 | PlatformMenu( 170 | label: '{{app_name.pascalCase()}}', 171 | menus: [ 172 | {{#add_multi_window}} 173 | PlatformMenuItem( 174 | label: 'About', 175 | onSelected: () async { 176 | final window = await DesktopMultiWindow.createWindow(jsonEncode( 177 | { 178 | 'args1': 'About {{app_name}}', 179 | 'args2': 500, 180 | 'args3': true, 181 | }, 182 | )); 183 | debugPrint('$window'); 184 | window 185 | ..setFrame(const Offset(0, 0) & const Size(350, 350)) 186 | ..center() 187 | ..setTitle('About {{app_name}}') 188 | ..show(); 189 | }, 190 | ), 191 | {{/add_multi_window}} 192 | {{^add_multi_window}} 193 | PlatformProvidedMenuItem( 194 | type: PlatformProvidedMenuItemType.about, 195 | ), 196 | {{/add_multi_window}} 197 | {{#add_multi_window}}const{{/add_multi_window}} PlatformProvidedMenuItem( 198 | type: PlatformProvidedMenuItemType.quit, 199 | ), 200 | ], 201 | ), 202 | ], 203 | child: MacosWindow( 204 | sidebar: Sidebar( 205 | minWidth: 200, 206 | builder: (context, scrollController) => SidebarItems( 207 | currentIndex: _pageIndex, 208 | onChanged: (index) { 209 | setState(() => _pageIndex = index); 210 | }, 211 | items: const [ 212 | SidebarItem( 213 | leading: MacosIcon(CupertinoIcons.home), 214 | label: Text('Home'), 215 | ), 216 | ], 217 | ), 218 | ), 219 | child: IndexedStack( 220 | index: _pageIndex, 221 | children: const [ 222 | HomePage(), 223 | ], 224 | ), 225 | ), 226 | ); 227 | {{/custom_system_menu_bar}} 228 | {{^custom_system_menu_bar}} 229 | return MacosWindow( 230 | sidebar: Sidebar( 231 | minWidth: 200, 232 | builder: (context, scrollController) => SidebarItems( 233 | currentIndex: _pageIndex, 234 | onChanged: (index) { 235 | setState(() => _pageIndex = index); 236 | }, 237 | items: const [ 238 | SidebarItem( 239 | leading: MacosIcon(CupertinoIcons.home), 240 | label: Text('Home'), 241 | ), 242 | ], 243 | ), 244 | ), 245 | child: IndexedStack( 246 | index: _pageIndex, 247 | children: const [ 248 | HomePage(), 249 | ], 250 | ), 251 | ); 252 | {{/custom_system_menu_bar}} 253 | {{/multi_window_no_system_menu}} 254 | } 255 | } 256 | 257 | class HomePage extends StatelessWidget { 258 | const HomePage({super.key}); 259 | 260 | @override 261 | Widget build(BuildContext context) { 262 | return Builder( 263 | builder: (context) { 264 | return MacosScaffold( 265 | toolBar: ToolBar( 266 | leading: MacosTooltip( 267 | message: 'Toggle Sidebar', 268 | useMousePosition: false, 269 | child: MacosIconButton( 270 | icon: MacosIcon( 271 | CupertinoIcons.sidebar_left, 272 | color: MacosTheme.brightnessOf(context).resolve( 273 | const Color.fromRGBO(0, 0, 0, 0.5), 274 | const Color.fromRGBO(255, 255, 255, 0.5), 275 | ), 276 | size: 20.0, 277 | ), 278 | boxConstraints: const BoxConstraints( 279 | minHeight: 20, 280 | minWidth: 20, 281 | maxWidth: 48, 282 | maxHeight: 38, 283 | ), 284 | onPressed: () => MacosWindowScope.of(context).toggleSidebar(), 285 | ), 286 | ), 287 | title: const Text('Home'), 288 | ), 289 | children: [ 290 | ContentArea( 291 | builder: (context, scrollController) { 292 | return const Center( 293 | child: Text('Home'), 294 | ); 295 | }, 296 | ), 297 | ], 298 | ); 299 | }, 300 | ); 301 | } 302 | } 303 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/.gitignore: -------------------------------------------------------------------------------- 1 | # Flutter-related 2 | **/Flutter/ephemeral/ 3 | **/Pods/ 4 | 5 | # Xcode-related 6 | **/dgph 7 | **/xcuserdata/ 8 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Flutter/Flutter-Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" 2 | #include "ephemeral/Flutter-Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Flutter/Flutter-Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" 2 | #include "ephemeral/Flutter-Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Flutter/GeneratedPluginRegistrant.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | import FlutterMacOS 6 | import Foundation 7 | 8 | import macos_ui 9 | 10 | func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { 11 | MacOSUiPlugin.register(with: registry.registrar(forPlugin: "MacOSUiPlugin")) 12 | } 13 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Podfile: -------------------------------------------------------------------------------- 1 | platform :osx, '10.14.6' 2 | 3 | # CocoaPods analytics sends network stats synchronously affecting flutter build latency. 4 | ENV['COCOAPODS_DISABLE_STATS'] = 'true' 5 | 6 | project 'Runner', { 7 | 'Debug' => :debug, 8 | 'Profile' => :release, 9 | 'Release' => :release, 10 | } 11 | 12 | def flutter_root 13 | generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) 14 | unless File.exist?(generated_xcode_build_settings_path) 15 | raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" 16 | end 17 | 18 | File.foreach(generated_xcode_build_settings_path) do |line| 19 | matches = line.match(/FLUTTER_ROOT\=(.*)/) 20 | return matches[1].strip if matches 21 | end 22 | raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" 23 | end 24 | 25 | require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) 26 | 27 | flutter_macos_podfile_setup 28 | 29 | target 'Runner' do 30 | use_frameworks! 31 | use_modular_headers! 32 | 33 | flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) 34 | end 35 | 36 | post_install do |installer| 37 | installer.pods_project.targets.each do |target| 38 | flutter_additional_macos_build_settings(target) 39 | end 40 | end 41 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - FlutterMacOS (1.0.0) 3 | - macos_ui (0.1.0): 4 | - FlutterMacOS 5 | 6 | DEPENDENCIES: 7 | - FlutterMacOS (from `Flutter/ephemeral`) 8 | - macos_ui (from `Flutter/ephemeral/.symlinks/plugins/macos_ui/macos`) 9 | 10 | EXTERNAL SOURCES: 11 | FlutterMacOS: 12 | :path: Flutter/ephemeral 13 | macos_ui: 14 | :path: Flutter/ephemeral/.symlinks/plugins/macos_ui/macos 15 | 16 | SPEC CHECKSUMS: 17 | FlutterMacOS: 57701585bf7de1b3fc2bb61f6378d73bbdea8424 18 | macos_ui: 125c911559d646194386d84c017ad6819122e2db 19 | 20 | PODFILE CHECKSUM: 6eac6b3292e5142cfc23bdeb71848a40ec51c14c 21 | 22 | COCOAPODS: 1.11.3 23 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 51; 7 | objects = { 8 | 9 | /* Begin PBXAggregateTarget section */ 10 | 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { 11 | isa = PBXAggregateTarget; 12 | buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; 13 | buildPhases = ( 14 | 33CC111E2044C6BF0003C045 /* ShellScript */, 15 | ); 16 | dependencies = ( 17 | ); 18 | name = "Flutter Assemble"; 19 | productName = FLX; 20 | }; 21 | /* End PBXAggregateTarget section */ 22 | 23 | /* Begin PBXBuildFile section */ 24 | 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 25 | 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 26 | 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 27 | 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 28 | 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; 29 | 700D645D64F7C62A486E7CD0 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1492B9B904DDCB862E6F82B /* Pods_Runner.framework */; }; 30 | /* End PBXBuildFile section */ 31 | 32 | /* Begin PBXContainerItemProxy section */ 33 | 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { 34 | isa = PBXContainerItemProxy; 35 | containerPortal = 33CC10E52044A3C60003C045 /* Project object */; 36 | proxyType = 1; 37 | remoteGlobalIDString = 33CC111A2044C6BA0003C045; 38 | remoteInfo = FLX; 39 | }; 40 | /* End PBXContainerItemProxy section */ 41 | 42 | /* Begin PBXCopyFilesBuildPhase section */ 43 | 33CC110E2044A8840003C045 /* Bundle Framework */ = { 44 | isa = PBXCopyFilesBuildPhase; 45 | buildActionMask = 2147483647; 46 | dstPath = ""; 47 | dstSubfolderSpec = 10; 48 | files = ( 49 | ); 50 | name = "Bundle Framework"; 51 | runOnlyForDeploymentPostprocessing = 0; 52 | }; 53 | /* End PBXCopyFilesBuildPhase section */ 54 | 55 | /* Begin PBXFileReference section */ 56 | 200B3C547EC87893556006D8 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 57 | 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; 58 | 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; 59 | 33CC10ED2044A3C60003C045 /* {{ app_name }}.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "{{ app_name }}.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 60 | 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 61 | 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; 62 | 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; 63 | 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; 64 | 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; 65 | 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; 66 | 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; 67 | 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; 68 | 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 69 | 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 70 | 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; 71 | 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; 72 | 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; 73 | 9783F91FE0B706308BE4B60D /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 74 | 9D7B43EAB7622BDB9C673E5F /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 75 | A1492B9B904DDCB862E6F82B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 76 | /* End PBXFileReference section */ 77 | 78 | /* Begin PBXFrameworksBuildPhase section */ 79 | 33CC10EA2044A3C60003C045 /* Frameworks */ = { 80 | isa = PBXFrameworksBuildPhase; 81 | buildActionMask = 2147483647; 82 | files = ( 83 | 700D645D64F7C62A486E7CD0 /* Pods_Runner.framework in Frameworks */, 84 | ); 85 | runOnlyForDeploymentPostprocessing = 0; 86 | }; 87 | /* End PBXFrameworksBuildPhase section */ 88 | 89 | /* Begin PBXGroup section */ 90 | 33BA886A226E78AF003329D5 /* Configs */ = { 91 | isa = PBXGroup; 92 | children = ( 93 | 33E5194F232828860026EE4D /* AppInfo.xcconfig */, 94 | 9740EEB21CF90195004384FC /* Debug.xcconfig */, 95 | 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, 96 | 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, 97 | ); 98 | path = Configs; 99 | sourceTree = ""; 100 | }; 101 | 33CC10E42044A3C60003C045 = { 102 | isa = PBXGroup; 103 | children = ( 104 | 33FAB671232836740065AC1E /* Runner */, 105 | 33CEB47122A05771004F2AC0 /* Flutter */, 106 | 33CC10EE2044A3C60003C045 /* Products */, 107 | D73912EC22F37F3D000D13A0 /* Frameworks */, 108 | 99881DB0E2A2B4E61AAE99B2 /* Pods */, 109 | ); 110 | sourceTree = ""; 111 | }; 112 | 33CC10EE2044A3C60003C045 /* Products */ = { 113 | isa = PBXGroup; 114 | children = ( 115 | 33CC10ED2044A3C60003C045 /* {{ app_name }}.app */, 116 | ); 117 | name = Products; 118 | sourceTree = ""; 119 | }; 120 | 33CC11242044D66E0003C045 /* Resources */ = { 121 | isa = PBXGroup; 122 | children = ( 123 | 33CC10F22044A3C60003C045 /* Assets.xcassets */, 124 | 33CC10F42044A3C60003C045 /* MainMenu.xib */, 125 | 33CC10F72044A3C60003C045 /* Info.plist */, 126 | ); 127 | name = Resources; 128 | path = ..; 129 | sourceTree = ""; 130 | }; 131 | 33CEB47122A05771004F2AC0 /* Flutter */ = { 132 | isa = PBXGroup; 133 | children = ( 134 | 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, 135 | 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, 136 | 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, 137 | 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, 138 | ); 139 | path = Flutter; 140 | sourceTree = ""; 141 | }; 142 | 33FAB671232836740065AC1E /* Runner */ = { 143 | isa = PBXGroup; 144 | children = ( 145 | 33CC10F02044A3C60003C045 /* AppDelegate.swift */, 146 | 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, 147 | 33E51913231747F40026EE4D /* DebugProfile.entitlements */, 148 | 33E51914231749380026EE4D /* Release.entitlements */, 149 | 33CC11242044D66E0003C045 /* Resources */, 150 | 33BA886A226E78AF003329D5 /* Configs */, 151 | ); 152 | path = Runner; 153 | sourceTree = ""; 154 | }; 155 | 99881DB0E2A2B4E61AAE99B2 /* Pods */ = { 156 | isa = PBXGroup; 157 | children = ( 158 | 200B3C547EC87893556006D8 /* Pods-Runner.debug.xcconfig */, 159 | 9783F91FE0B706308BE4B60D /* Pods-Runner.release.xcconfig */, 160 | 9D7B43EAB7622BDB9C673E5F /* Pods-Runner.profile.xcconfig */, 161 | ); 162 | path = Pods; 163 | sourceTree = ""; 164 | }; 165 | D73912EC22F37F3D000D13A0 /* Frameworks */ = { 166 | isa = PBXGroup; 167 | children = ( 168 | A1492B9B904DDCB862E6F82B /* Pods_Runner.framework */, 169 | ); 170 | name = Frameworks; 171 | sourceTree = ""; 172 | }; 173 | /* End PBXGroup section */ 174 | 175 | /* Begin PBXNativeTarget section */ 176 | 33CC10EC2044A3C60003C045 /* Runner */ = { 177 | isa = PBXNativeTarget; 178 | buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; 179 | buildPhases = ( 180 | D525BBE02B9D705B392E38A1 /* [CP] Check Pods Manifest.lock */, 181 | 33CC10E92044A3C60003C045 /* Sources */, 182 | 33CC10EA2044A3C60003C045 /* Frameworks */, 183 | 33CC10EB2044A3C60003C045 /* Resources */, 184 | 33CC110E2044A8840003C045 /* Bundle Framework */, 185 | 3399D490228B24CF009A79C7 /* ShellScript */, 186 | 12F6D99EC2F6BC74ADA2EC78 /* [CP] Embed Pods Frameworks */, 187 | ); 188 | buildRules = ( 189 | ); 190 | dependencies = ( 191 | 33CC11202044C79F0003C045 /* PBXTargetDependency */, 192 | ); 193 | name = Runner; 194 | productName = Runner; 195 | productReference = 33CC10ED2044A3C60003C045 /* {{ app_name }}.app */; 196 | productType = "com.apple.product-type.application"; 197 | }; 198 | /* End PBXNativeTarget section */ 199 | 200 | /* Begin PBXProject section */ 201 | 33CC10E52044A3C60003C045 /* Project object */ = { 202 | isa = PBXProject; 203 | attributes = { 204 | LastSwiftUpdateCheck = 0920; 205 | LastUpgradeCheck = 1300; 206 | ORGANIZATIONNAME = ""; 207 | TargetAttributes = { 208 | 33CC10EC2044A3C60003C045 = { 209 | CreatedOnToolsVersion = 9.2; 210 | LastSwiftMigration = 1100; 211 | ProvisioningStyle = Automatic; 212 | SystemCapabilities = { 213 | com.apple.Sandbox = { 214 | enabled = 1; 215 | }; 216 | }; 217 | }; 218 | 33CC111A2044C6BA0003C045 = { 219 | CreatedOnToolsVersion = 9.2; 220 | ProvisioningStyle = Manual; 221 | }; 222 | }; 223 | }; 224 | buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; 225 | compatibilityVersion = "Xcode 9.3"; 226 | developmentRegion = en; 227 | hasScannedForEncodings = 0; 228 | knownRegions = ( 229 | en, 230 | Base, 231 | ); 232 | mainGroup = 33CC10E42044A3C60003C045; 233 | productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; 234 | projectDirPath = ""; 235 | projectRoot = ""; 236 | targets = ( 237 | 33CC10EC2044A3C60003C045 /* Runner */, 238 | 33CC111A2044C6BA0003C045 /* Flutter Assemble */, 239 | ); 240 | }; 241 | /* End PBXProject section */ 242 | 243 | /* Begin PBXResourcesBuildPhase section */ 244 | 33CC10EB2044A3C60003C045 /* Resources */ = { 245 | isa = PBXResourcesBuildPhase; 246 | buildActionMask = 2147483647; 247 | files = ( 248 | 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, 249 | 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, 250 | ); 251 | runOnlyForDeploymentPostprocessing = 0; 252 | }; 253 | /* End PBXResourcesBuildPhase section */ 254 | 255 | /* Begin PBXShellScriptBuildPhase section */ 256 | 12F6D99EC2F6BC74ADA2EC78 /* [CP] Embed Pods Frameworks */ = { 257 | isa = PBXShellScriptBuildPhase; 258 | buildActionMask = 2147483647; 259 | files = ( 260 | ); 261 | inputFileListPaths = ( 262 | "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", 263 | ); 264 | name = "[CP] Embed Pods Frameworks"; 265 | outputFileListPaths = ( 266 | "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", 267 | ); 268 | runOnlyForDeploymentPostprocessing = 0; 269 | shellPath = /bin/sh; 270 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; 271 | showEnvVarsInLog = 0; 272 | }; 273 | 3399D490228B24CF009A79C7 /* ShellScript */ = { 274 | isa = PBXShellScriptBuildPhase; 275 | buildActionMask = 2147483647; 276 | files = ( 277 | ); 278 | inputFileListPaths = ( 279 | ); 280 | inputPaths = ( 281 | ); 282 | outputFileListPaths = ( 283 | ); 284 | outputPaths = ( 285 | ); 286 | runOnlyForDeploymentPostprocessing = 0; 287 | shellPath = /bin/sh; 288 | shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; 289 | }; 290 | 33CC111E2044C6BF0003C045 /* ShellScript */ = { 291 | isa = PBXShellScriptBuildPhase; 292 | buildActionMask = 2147483647; 293 | files = ( 294 | ); 295 | inputFileListPaths = ( 296 | Flutter/ephemeral/FlutterInputs.xcfilelist, 297 | ); 298 | inputPaths = ( 299 | Flutter/ephemeral/tripwire, 300 | ); 301 | outputFileListPaths = ( 302 | Flutter/ephemeral/FlutterOutputs.xcfilelist, 303 | ); 304 | outputPaths = ( 305 | ); 306 | runOnlyForDeploymentPostprocessing = 0; 307 | shellPath = /bin/sh; 308 | shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; 309 | }; 310 | D525BBE02B9D705B392E38A1 /* [CP] Check Pods Manifest.lock */ = { 311 | isa = PBXShellScriptBuildPhase; 312 | buildActionMask = 2147483647; 313 | files = ( 314 | ); 315 | inputFileListPaths = ( 316 | ); 317 | inputPaths = ( 318 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock", 319 | "${PODS_ROOT}/Manifest.lock", 320 | ); 321 | name = "[CP] Check Pods Manifest.lock"; 322 | outputFileListPaths = ( 323 | ); 324 | outputPaths = ( 325 | "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", 326 | ); 327 | runOnlyForDeploymentPostprocessing = 0; 328 | shellPath = /bin/sh; 329 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; 330 | showEnvVarsInLog = 0; 331 | }; 332 | /* End PBXShellScriptBuildPhase section */ 333 | 334 | /* Begin PBXSourcesBuildPhase section */ 335 | 33CC10E92044A3C60003C045 /* Sources */ = { 336 | isa = PBXSourcesBuildPhase; 337 | buildActionMask = 2147483647; 338 | files = ( 339 | 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, 340 | 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, 341 | 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, 342 | ); 343 | runOnlyForDeploymentPostprocessing = 0; 344 | }; 345 | /* End PBXSourcesBuildPhase section */ 346 | 347 | /* Begin PBXTargetDependency section */ 348 | 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { 349 | isa = PBXTargetDependency; 350 | target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; 351 | targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; 352 | }; 353 | /* End PBXTargetDependency section */ 354 | 355 | /* Begin PBXVariantGroup section */ 356 | 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { 357 | isa = PBXVariantGroup; 358 | children = ( 359 | 33CC10F52044A3C60003C045 /* Base */, 360 | ); 361 | name = MainMenu.xib; 362 | path = Runner; 363 | sourceTree = ""; 364 | }; 365 | /* End PBXVariantGroup section */ 366 | 367 | /* Begin XCBuildConfiguration section */ 368 | 338D0CE9231458BD00FA5F75 /* Profile */ = { 369 | isa = XCBuildConfiguration; 370 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; 371 | buildSettings = { 372 | ALWAYS_SEARCH_USER_PATHS = NO; 373 | CLANG_ANALYZER_NONNULL = YES; 374 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 375 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 376 | CLANG_CXX_LIBRARY = "libc++"; 377 | CLANG_ENABLE_MODULES = YES; 378 | CLANG_ENABLE_OBJC_ARC = YES; 379 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 380 | CLANG_WARN_BOOL_CONVERSION = YES; 381 | CLANG_WARN_CONSTANT_CONVERSION = YES; 382 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 383 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 384 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 385 | CLANG_WARN_EMPTY_BODY = YES; 386 | CLANG_WARN_ENUM_CONVERSION = YES; 387 | CLANG_WARN_INFINITE_RECURSION = YES; 388 | CLANG_WARN_INT_CONVERSION = YES; 389 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 390 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 391 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 392 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 393 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 394 | CODE_SIGN_IDENTITY = "-"; 395 | COPY_PHASE_STRIP = NO; 396 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 397 | ENABLE_NS_ASSERTIONS = NO; 398 | ENABLE_STRICT_OBJC_MSGSEND = YES; 399 | GCC_C_LANGUAGE_STANDARD = gnu11; 400 | GCC_NO_COMMON_BLOCKS = YES; 401 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 402 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 403 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 404 | GCC_WARN_UNUSED_FUNCTION = YES; 405 | GCC_WARN_UNUSED_VARIABLE = YES; 406 | MACOSX_DEPLOYMENT_TARGET = 10.11; 407 | MTL_ENABLE_DEBUG_INFO = NO; 408 | SDKROOT = macosx; 409 | SWIFT_COMPILATION_MODE = wholemodule; 410 | SWIFT_OPTIMIZATION_LEVEL = "-O"; 411 | }; 412 | name = Profile; 413 | }; 414 | 338D0CEA231458BD00FA5F75 /* Profile */ = { 415 | isa = XCBuildConfiguration; 416 | baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; 417 | buildSettings = { 418 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 419 | CLANG_ENABLE_MODULES = YES; 420 | CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; 421 | CODE_SIGN_STYLE = Automatic; 422 | COMBINE_HIDPI_IMAGES = YES; 423 | INFOPLIST_FILE = Runner/Info.plist; 424 | LD_RUNPATH_SEARCH_PATHS = ( 425 | "$(inherited)", 426 | "@executable_path/../Frameworks", 427 | ); 428 | MACOSX_DEPLOYMENT_TARGET = 10.14.6; 429 | PROVISIONING_PROFILE_SPECIFIER = ""; 430 | SWIFT_VERSION = 5.0; 431 | }; 432 | name = Profile; 433 | }; 434 | 338D0CEB231458BD00FA5F75 /* Profile */ = { 435 | isa = XCBuildConfiguration; 436 | buildSettings = { 437 | CODE_SIGN_STYLE = Manual; 438 | PRODUCT_NAME = "$(TARGET_NAME)"; 439 | }; 440 | name = Profile; 441 | }; 442 | 33CC10F92044A3C60003C045 /* Debug */ = { 443 | isa = XCBuildConfiguration; 444 | baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; 445 | buildSettings = { 446 | ALWAYS_SEARCH_USER_PATHS = NO; 447 | CLANG_ANALYZER_NONNULL = YES; 448 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 449 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 450 | CLANG_CXX_LIBRARY = "libc++"; 451 | CLANG_ENABLE_MODULES = YES; 452 | CLANG_ENABLE_OBJC_ARC = YES; 453 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 454 | CLANG_WARN_BOOL_CONVERSION = YES; 455 | CLANG_WARN_CONSTANT_CONVERSION = YES; 456 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 457 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 458 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 459 | CLANG_WARN_EMPTY_BODY = YES; 460 | CLANG_WARN_ENUM_CONVERSION = YES; 461 | CLANG_WARN_INFINITE_RECURSION = YES; 462 | CLANG_WARN_INT_CONVERSION = YES; 463 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 464 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 465 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 466 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 467 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 468 | CODE_SIGN_IDENTITY = "-"; 469 | COPY_PHASE_STRIP = NO; 470 | DEBUG_INFORMATION_FORMAT = dwarf; 471 | ENABLE_STRICT_OBJC_MSGSEND = YES; 472 | ENABLE_TESTABILITY = YES; 473 | GCC_C_LANGUAGE_STANDARD = gnu11; 474 | GCC_DYNAMIC_NO_PIC = NO; 475 | GCC_NO_COMMON_BLOCKS = YES; 476 | GCC_OPTIMIZATION_LEVEL = 0; 477 | GCC_PREPROCESSOR_DEFINITIONS = ( 478 | "DEBUG=1", 479 | "$(inherited)", 480 | ); 481 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 482 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 483 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 484 | GCC_WARN_UNUSED_FUNCTION = YES; 485 | GCC_WARN_UNUSED_VARIABLE = YES; 486 | MACOSX_DEPLOYMENT_TARGET = 10.11; 487 | MTL_ENABLE_DEBUG_INFO = YES; 488 | ONLY_ACTIVE_ARCH = YES; 489 | SDKROOT = macosx; 490 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; 491 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 492 | }; 493 | name = Debug; 494 | }; 495 | 33CC10FA2044A3C60003C045 /* Release */ = { 496 | isa = XCBuildConfiguration; 497 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; 498 | buildSettings = { 499 | ALWAYS_SEARCH_USER_PATHS = NO; 500 | CLANG_ANALYZER_NONNULL = YES; 501 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 502 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 503 | CLANG_CXX_LIBRARY = "libc++"; 504 | CLANG_ENABLE_MODULES = YES; 505 | CLANG_ENABLE_OBJC_ARC = YES; 506 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 507 | CLANG_WARN_BOOL_CONVERSION = YES; 508 | CLANG_WARN_CONSTANT_CONVERSION = YES; 509 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 510 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 511 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 512 | CLANG_WARN_EMPTY_BODY = YES; 513 | CLANG_WARN_ENUM_CONVERSION = YES; 514 | CLANG_WARN_INFINITE_RECURSION = YES; 515 | CLANG_WARN_INT_CONVERSION = YES; 516 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 517 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 518 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 519 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 520 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 521 | CODE_SIGN_IDENTITY = "-"; 522 | COPY_PHASE_STRIP = NO; 523 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 524 | ENABLE_NS_ASSERTIONS = NO; 525 | ENABLE_STRICT_OBJC_MSGSEND = YES; 526 | GCC_C_LANGUAGE_STANDARD = gnu11; 527 | GCC_NO_COMMON_BLOCKS = YES; 528 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 529 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 530 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 531 | GCC_WARN_UNUSED_FUNCTION = YES; 532 | GCC_WARN_UNUSED_VARIABLE = YES; 533 | MACOSX_DEPLOYMENT_TARGET = 10.11; 534 | MTL_ENABLE_DEBUG_INFO = NO; 535 | SDKROOT = macosx; 536 | SWIFT_COMPILATION_MODE = wholemodule; 537 | SWIFT_OPTIMIZATION_LEVEL = "-O"; 538 | }; 539 | name = Release; 540 | }; 541 | 33CC10FC2044A3C60003C045 /* Debug */ = { 542 | isa = XCBuildConfiguration; 543 | baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; 544 | buildSettings = { 545 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 546 | CLANG_ENABLE_MODULES = YES; 547 | CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; 548 | CODE_SIGN_STYLE = Automatic; 549 | COMBINE_HIDPI_IMAGES = YES; 550 | INFOPLIST_FILE = Runner/Info.plist; 551 | LD_RUNPATH_SEARCH_PATHS = ( 552 | "$(inherited)", 553 | "@executable_path/../Frameworks", 554 | ); 555 | MACOSX_DEPLOYMENT_TARGET = 10.14.6; 556 | PROVISIONING_PROFILE_SPECIFIER = ""; 557 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 558 | SWIFT_VERSION = 5.0; 559 | }; 560 | name = Debug; 561 | }; 562 | 33CC10FD2044A3C60003C045 /* Release */ = { 563 | isa = XCBuildConfiguration; 564 | baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; 565 | buildSettings = { 566 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 567 | CLANG_ENABLE_MODULES = YES; 568 | CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; 569 | CODE_SIGN_STYLE = Automatic; 570 | COMBINE_HIDPI_IMAGES = YES; 571 | INFOPLIST_FILE = Runner/Info.plist; 572 | LD_RUNPATH_SEARCH_PATHS = ( 573 | "$(inherited)", 574 | "@executable_path/../Frameworks", 575 | ); 576 | MACOSX_DEPLOYMENT_TARGET = 10.14.6; 577 | PROVISIONING_PROFILE_SPECIFIER = ""; 578 | SWIFT_VERSION = 5.0; 579 | }; 580 | name = Release; 581 | }; 582 | 33CC111C2044C6BA0003C045 /* Debug */ = { 583 | isa = XCBuildConfiguration; 584 | buildSettings = { 585 | CODE_SIGN_STYLE = Manual; 586 | PRODUCT_NAME = "$(TARGET_NAME)"; 587 | }; 588 | name = Debug; 589 | }; 590 | 33CC111D2044C6BA0003C045 /* Release */ = { 591 | isa = XCBuildConfiguration; 592 | buildSettings = { 593 | CODE_SIGN_STYLE = Automatic; 594 | PRODUCT_NAME = "$(TARGET_NAME)"; 595 | }; 596 | name = Release; 597 | }; 598 | /* End XCBuildConfiguration section */ 599 | 600 | /* Begin XCConfigurationList section */ 601 | 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { 602 | isa = XCConfigurationList; 603 | buildConfigurations = ( 604 | 33CC10F92044A3C60003C045 /* Debug */, 605 | 33CC10FA2044A3C60003C045 /* Release */, 606 | 338D0CE9231458BD00FA5F75 /* Profile */, 607 | ); 608 | defaultConfigurationIsVisible = 0; 609 | defaultConfigurationName = Release; 610 | }; 611 | 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { 612 | isa = XCConfigurationList; 613 | buildConfigurations = ( 614 | 33CC10FC2044A3C60003C045 /* Debug */, 615 | 33CC10FD2044A3C60003C045 /* Release */, 616 | 338D0CEA231458BD00FA5F75 /* Profile */, 617 | ); 618 | defaultConfigurationIsVisible = 0; 619 | defaultConfigurationName = Release; 620 | }; 621 | 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { 622 | isa = XCConfigurationList; 623 | buildConfigurations = ( 624 | 33CC111C2044C6BA0003C045 /* Debug */, 625 | 33CC111D2044C6BA0003C045 /* Release */, 626 | 338D0CEB231458BD00FA5F75 /* Profile */, 627 | ); 628 | defaultConfigurationIsVisible = 0; 629 | defaultConfigurationName = Release; 630 | }; 631 | /* End XCConfigurationList section */ 632 | }; 633 | rootObject = 33CC10E52044A3C60003C045 /* Project object */; 634 | } 635 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 37 | 38 | 39 | 40 | 41 | 42 | 52 | 54 | 60 | 61 | 62 | 63 | 69 | 71 | 77 | 78 | 79 | 80 | 82 | 83 | 86 | 87 | 88 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import FlutterMacOS 3 | 4 | @NSApplicationMain 5 | class AppDelegate: FlutterAppDelegate { 6 | override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { 7 | return true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "app_icon_16.png", 5 | "idiom" : "mac", 6 | "scale" : "1x", 7 | "size" : "16x16" 8 | }, 9 | { 10 | "filename" : "app_icon_32.png", 11 | "idiom" : "mac", 12 | "scale" : "2x", 13 | "size" : "16x16" 14 | }, 15 | { 16 | "filename" : "app_icon_32.png", 17 | "idiom" : "mac", 18 | "scale" : "1x", 19 | "size" : "32x32" 20 | }, 21 | { 22 | "filename" : "app_icon_64.png", 23 | "idiom" : "mac", 24 | "scale" : "2x", 25 | "size" : "32x32" 26 | }, 27 | { 28 | "filename" : "app_icon_128.png", 29 | "idiom" : "mac", 30 | "scale" : "1x", 31 | "size" : "128x128" 32 | }, 33 | { 34 | "filename" : "app_icon_256.png", 35 | "idiom" : "mac", 36 | "scale" : "2x", 37 | "size" : "128x128" 38 | }, 39 | { 40 | "filename" : "app_icon_256.png", 41 | "idiom" : "mac", 42 | "scale" : "1x", 43 | "size" : "256x256" 44 | }, 45 | { 46 | "filename" : "app_icon_512.png", 47 | "idiom" : "mac", 48 | "scale" : "2x", 49 | "size" : "256x256" 50 | }, 51 | { 52 | "filename" : "app_icon_512.png", 53 | "idiom" : "mac", 54 | "scale" : "1x", 55 | "size" : "512x512" 56 | }, 57 | { 58 | "filename" : "app_icon_1024.png", 59 | "idiom" : "mac", 60 | "scale" : "2x", 61 | "size" : "512x512" 62 | } 63 | ], 64 | "info" : { 65 | "author" : "xcode", 66 | "version" : 1 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/macosui/macosui_starter/973101537a2da707c81e9e84ee5799c6aa5afd15/__brick__/{{app_name}}/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/macosui/macosui_starter/973101537a2da707c81e9e84ee5799c6aa5afd15/__brick__/{{app_name}}/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/macosui/macosui_starter/973101537a2da707c81e9e84ee5799c6aa5afd15/__brick__/{{app_name}}/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/macosui/macosui_starter/973101537a2da707c81e9e84ee5799c6aa5afd15/__brick__/{{app_name}}/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/macosui/macosui_starter/973101537a2da707c81e9e84ee5799c6aa5afd15/__brick__/{{app_name}}/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/macosui/macosui_starter/973101537a2da707c81e9e84ee5799c6aa5afd15/__brick__/{{app_name}}/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/macosui/macosui_starter/973101537a2da707c81e9e84ee5799c6aa5afd15/__brick__/{{app_name}}/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner/Base.lproj/MainMenu.xib: -------------------------------------------------------------------------------- 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 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | 324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | 333 | 334 | 335 | 336 | 337 | 338 | 339 | 340 | 341 | 342 | 343 | 344 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner/Configs/AppInfo.xcconfig: -------------------------------------------------------------------------------- 1 | // Application-level settings for the Runner target. 2 | // 3 | // This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the 4 | // future. If not, the values below would default to using the project name when this becomes a 5 | // 'flutter create' template. 6 | 7 | // The application's name. By default this is also the title of the Flutter window. 8 | PRODUCT_NAME = {{ app_name.titleCase() }}; 9 | 10 | // The application's bundle identifier 11 | PRODUCT_BUNDLE_IDENTIFIER = {{ org_name }}.{{ app_name.paramCase() }} 12 | 13 | // The copyright displayed in application information 14 | PRODUCT_COPYRIGHT = Copyright © 2022 com.example. All rights reserved. 15 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner/Configs/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../Flutter/Flutter-Debug.xcconfig" 2 | #include "Warnings.xcconfig" 3 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner/Configs/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../Flutter/Flutter-Release.xcconfig" 2 | #include "Warnings.xcconfig" 3 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner/Configs/Warnings.xcconfig: -------------------------------------------------------------------------------- 1 | WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings 2 | GCC_WARN_UNDECLARED_SELECTOR = YES 3 | CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES 4 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE 5 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES 6 | CLANG_WARN_PRAGMA_PACK = YES 7 | CLANG_WARN_STRICT_PROTOTYPES = YES 8 | CLANG_WARN_COMMA = YES 9 | GCC_WARN_STRICT_SELECTOR_MATCH = YES 10 | CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES 11 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES 12 | GCC_WARN_SHADOW = YES 13 | CLANG_WARN_UNREACHABLE_CODE = YES 14 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner/DebugProfile.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | com.apple.security.cs.allow-jit 8 | 9 | com.apple.security.network.server 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | $(FLUTTER_BUILD_NAME) 21 | CFBundleVersion 22 | $(FLUTTER_BUILD_NUMBER) 23 | LSMinimumSystemVersion 24 | $(MACOSX_DEPLOYMENT_TARGET) 25 | NSHumanReadableCopyright 26 | $(PRODUCT_COPYRIGHT) 27 | NSMainNibFile 28 | MainMenu 29 | NSPrincipalClass 30 | NSApplication 31 | 32 | 33 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner/MainFlutterWindow.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import FlutterMacOS 3 | 4 | class MainFlutterWindow: NSWindow { 5 | override func awakeFromNib() { 6 | let flutterViewController = FlutterViewController.init() 7 | let windowFrame = self.frame 8 | self.contentViewController = flutterViewController 9 | self.setFrame(windowFrame, display: true) 10 | 11 | RegisterGeneratedPlugins(registry: flutterViewController) 12 | 13 | super.awakeFromNib() 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/macos/Runner/Release.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/pubspec.lock: -------------------------------------------------------------------------------- 1 | # Generated by pub 2 | # See https://dart.dev/tools/pub/glossary#lockfile 3 | packages: 4 | async: 5 | dependency: transitive 6 | description: 7 | name: async 8 | url: "https://pub.dartlang.org" 9 | source: hosted 10 | version: "2.8.2" 11 | boolean_selector: 12 | dependency: transitive 13 | description: 14 | name: boolean_selector 15 | url: "https://pub.dartlang.org" 16 | source: hosted 17 | version: "2.1.0" 18 | characters: 19 | dependency: transitive 20 | description: 21 | name: characters 22 | url: "https://pub.dartlang.org" 23 | source: hosted 24 | version: "1.2.0" 25 | charcode: 26 | dependency: transitive 27 | description: 28 | name: charcode 29 | url: "https://pub.dartlang.org" 30 | source: hosted 31 | version: "1.3.1" 32 | clock: 33 | dependency: transitive 34 | description: 35 | name: clock 36 | url: "https://pub.dartlang.org" 37 | source: hosted 38 | version: "1.1.0" 39 | collection: 40 | dependency: transitive 41 | description: 42 | name: collection 43 | url: "https://pub.dartlang.org" 44 | source: hosted 45 | version: "1.16.0" 46 | cupertino_icons: 47 | dependency: "direct main" 48 | description: 49 | name: cupertino_icons 50 | url: "https://pub.dartlang.org" 51 | source: hosted 52 | version: "1.0.4" 53 | fake_async: 54 | dependency: transitive 55 | description: 56 | name: fake_async 57 | url: "https://pub.dartlang.org" 58 | source: hosted 59 | version: "1.3.0" 60 | flutter: 61 | dependency: "direct main" 62 | description: flutter 63 | source: sdk 64 | version: "0.0.0" 65 | flutter_lints: 66 | dependency: "direct dev" 67 | description: 68 | name: flutter_lints 69 | url: "https://pub.dartlang.org" 70 | source: hosted 71 | version: "2.0.1" 72 | flutter_test: 73 | dependency: "direct dev" 74 | description: flutter 75 | source: sdk 76 | version: "0.0.0" 77 | lints: 78 | dependency: transitive 79 | description: 80 | name: lints 81 | url: "https://pub.dartlang.org" 82 | source: hosted 83 | version: "2.0.0" 84 | macos_ui: 85 | dependency: "direct main" 86 | description: 87 | name: macos_ui 88 | url: "https://pub.dartlang.org" 89 | source: hosted 90 | version: "2.0.0" 91 | matcher: 92 | dependency: transitive 93 | description: 94 | name: matcher 95 | url: "https://pub.dartlang.org" 96 | source: hosted 97 | version: "0.12.11" 98 | material_color_utilities: 99 | dependency: transitive 100 | description: 101 | name: material_color_utilities 102 | url: "https://pub.dartlang.org" 103 | source: hosted 104 | version: "0.1.4" 105 | meta: 106 | dependency: transitive 107 | description: 108 | name: meta 109 | url: "https://pub.dartlang.org" 110 | source: hosted 111 | version: "1.7.0" 112 | path: 113 | dependency: transitive 114 | description: 115 | name: path 116 | url: "https://pub.dartlang.org" 117 | source: hosted 118 | version: "1.8.1" 119 | sky_engine: 120 | dependency: transitive 121 | description: flutter 122 | source: sdk 123 | version: "0.0.99" 124 | source_span: 125 | dependency: transitive 126 | description: 127 | name: source_span 128 | url: "https://pub.dartlang.org" 129 | source: hosted 130 | version: "1.8.2" 131 | stack_trace: 132 | dependency: transitive 133 | description: 134 | name: stack_trace 135 | url: "https://pub.dartlang.org" 136 | source: hosted 137 | version: "1.10.0" 138 | stream_channel: 139 | dependency: transitive 140 | description: 141 | name: stream_channel 142 | url: "https://pub.dartlang.org" 143 | source: hosted 144 | version: "2.1.0" 145 | string_scanner: 146 | dependency: transitive 147 | description: 148 | name: string_scanner 149 | url: "https://pub.dartlang.org" 150 | source: hosted 151 | version: "1.1.0" 152 | term_glyph: 153 | dependency: transitive 154 | description: 155 | name: term_glyph 156 | url: "https://pub.dartlang.org" 157 | source: hosted 158 | version: "1.2.0" 159 | test_api: 160 | dependency: transitive 161 | description: 162 | name: test_api 163 | url: "https://pub.dartlang.org" 164 | source: hosted 165 | version: "0.4.9" 166 | vector_math: 167 | dependency: transitive 168 | description: 169 | name: vector_math 170 | url: "https://pub.dartlang.org" 171 | source: hosted 172 | version: "2.1.2" 173 | sdks: 174 | dart: ">=2.17.0 <3.0.0" 175 | flutter: ">=1.20.0" 176 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: {{ app_name.snakeCase() }} 2 | description: {{ app_description }} 3 | publish_to: 'none' 4 | version: 1.0.0+1 5 | 6 | environment: 7 | sdk: ">=2.19.2 <4.0.0" 8 | 9 | dependencies: 10 | flutter: 11 | sdk: flutter 12 | 13 | cupertino_icons: ^1.0.5{{#add_multi_window}} 14 | collection: ^1.16.0 15 | desktop_multi_window: ^0.2.0{{/add_multi_window}} 16 | macos_ui: ^2.0.0 17 | 18 | dev_dependencies: 19 | flutter_test: 20 | sdk: flutter 21 | 22 | # The "flutter_lints" package below contains a set of recommended lints to 23 | # encourage good coding practices. The lint set provided by the package is 24 | # activated in the `analysis_options.yaml` file located at the root of your 25 | # package. See that file for information about deactivating specific lint 26 | # rules and activating additional ones. 27 | flutter_lints: ^2.0.2 28 | 29 | # For information on the generic Dart part of this file, see the 30 | # following page: https://dart.dev/tools/pub/pubspec 31 | 32 | # The following section is specific to Flutter packages. 33 | flutter: 34 | 35 | # The following line ensures that the Material Icons font is 36 | # included with your application, so that you can use the icons in 37 | # the material Icons class. 38 | uses-material-design: true 39 | 40 | # To add assets to your application, add an assets section, like this: 41 | # assets: 42 | # - images/a_dot_burr.jpeg 43 | # - images/a_dot_ham.jpeg 44 | 45 | # An image asset can refer to one or more resolution-specific "variants", see 46 | # https://flutter.dev/assets-and-images/#resolution-aware 47 | 48 | # For details regarding adding assets from package dependencies, see 49 | # https://flutter.dev/assets-and-images/#from-packages 50 | 51 | # To add custom fonts to your application, add a fonts section here, 52 | # in this "flutter" section. Each entry in this list should have a 53 | # "family" key with the font family name, and a "fonts" key with a 54 | # list giving the asset and other descriptors for the font. For 55 | # example: 56 | # fonts: 57 | # - family: Schyler 58 | # fonts: 59 | # - asset: fonts/Schyler-Regular.ttf 60 | # - asset: fonts/Schyler-Italic.ttf 61 | # style: italic 62 | # - family: Trajan Pro 63 | # fonts: 64 | # - asset: fonts/TrajanPro.ttf 65 | # - asset: fonts/TrajanPro_Bold.ttf 66 | # weight: 700 67 | # 68 | # For details regarding fonts from package dependencies, 69 | # see https://flutter.dev/custom-fonts/#from-packages 70 | -------------------------------------------------------------------------------- /__brick__/{{app_name}}/test/widget_test.dart: -------------------------------------------------------------------------------- 1 | // This is a basic Flutter widget test. 2 | // 3 | // To perform an interaction with a widget in your test, use the WidgetTester 4 | // utility in the flutter_test package. For example, you can send tap and scroll 5 | // gestures. You can also use WidgetTester to find child widgets in the widget 6 | // tree, read text, and verify that the values of widget properties are correct. 7 | 8 | import 'package:flutter_test/flutter_test.dart'; 9 | import 'package:macos_ui/macos_ui.dart'; 10 | 11 | import 'package:{{ app_name.snakeCase() }}/main.dart'; 12 | 13 | void main() { 14 | testWidgets('App is built with a MacosWindow parent widget', 15 | (WidgetTester tester) async { 16 | // Build our app and trigger a frame. 17 | await tester.pumpWidget(const App()); 18 | 19 | expect(find.byType(MacosWindow), findsOneWidget); 20 | }); 21 | } 22 | -------------------------------------------------------------------------------- /brick.yaml: -------------------------------------------------------------------------------- 1 | name: macosui_starter 2 | description: A starter Flutter application for macOS that uses macos_ui 3 | repository: https://github.com/GroovinChip/macosui_starter 4 | version: 2.0.0 5 | 6 | # The following defines the environment for the current brick. 7 | # It includes the version of mason that the brick requires. 8 | environment: 9 | mason: ">=0.1.0-dev <0.1.0" 10 | 11 | # Variables specify dynamic values that your brick depends on. 12 | # Zero or more variables can be specified for a given brick. 13 | # Each variable has: 14 | # * a type (string, number, or boolean) 15 | # * an optional short description 16 | # * an optional default value 17 | # * an optional prompt phrase used when asking for the variable. 18 | vars: 19 | app_name: 20 | type: string 21 | description: The name of your application 22 | default: macosui_starter 23 | prompt: App name? 24 | app_description: 25 | type: string 26 | description: The description of your application 27 | default: A starter Flutter application for macOS with macos_ui 28 | prompt: App description? 29 | org_name: 30 | type: string 31 | description: The name of your organization 32 | default: com.example 33 | prompt: Organization name? 34 | # toolbar_style: 35 | # type: enum 36 | # description: The style of the application window's toolbar 37 | # default: unified 38 | # prompt: Toolbar style? 39 | # values: 40 | # - automatic 41 | # - expanded 42 | # - preference 43 | # - unified 44 | # - unifiedCompact 45 | debug_label_on: 46 | type: boolean 47 | description: Whether to show the debug label by default 48 | default: false 49 | prompt: Show debug label? 50 | custom_system_menu_bar: 51 | type: boolean 52 | description: Whether to add a basic custom system menu bar 53 | default: false 54 | prompt: Use custom system menu bar? 55 | # add_multi_window: 56 | # type: boolean 57 | # description: Whether to add basic multi-window support 58 | # default: false 59 | # prompt: Add multi-window support? 60 | initialize_git_repo: 61 | type: boolean 62 | description: Whether to auto-initialize a git repository 63 | default: false 64 | prompt: Initialize git? 65 | -------------------------------------------------------------------------------- /hooks/.gitignore: -------------------------------------------------------------------------------- 1 | .dart_tool 2 | .idea 3 | build 4 | -------------------------------------------------------------------------------- /hooks/post_gen.dart: -------------------------------------------------------------------------------- 1 | import 'package:mason/mason.dart'; 2 | import 'dart:io'; 3 | 4 | void run(HookContext context) async { 5 | final pubGet = context.logger.progress('Running flutter pub get'); 6 | final pubGetResult = await Process.run( 7 | 'flutter', 8 | [ 9 | 'pub', 10 | 'get', 11 | ], 12 | runInShell: true, 13 | workingDirectory: '${Directory.current.path}/${context.vars['app_name']}', 14 | ); 15 | pubGet; 16 | if (pubGetResult.exitCode != 0) { 17 | context.logger.err('flutter pub get failed'); 18 | exit(pubGetResult.exitCode); 19 | } 20 | 21 | await Future.delayed(const Duration(seconds: 1)); 22 | 23 | final dartFormat = context.logger.progress('Running dart format'); 24 | final dartFormatResult = await Process.run( 25 | 'dart', 26 | [ 27 | 'format', 28 | '.', 29 | ], 30 | runInShell: true, 31 | workingDirectory: '${Directory.current.path}/${context.vars['app_name']}', 32 | ); 33 | dartFormat; 34 | if (dartFormatResult.exitCode != 0) { 35 | context.logger 36 | ..err('dart format failed') 37 | ..err(dartFormatResult.stderr); 38 | exit(dartFormatResult.exitCode); 39 | } 40 | 41 | await Future.delayed(const Duration(seconds: 1)); 42 | 43 | if (context.vars['initialize_git_repo'] == true) { 44 | final gitInit = context.logger.progress('Running git init'); 45 | final gitInitResult = await Process.run( 46 | 'git', 47 | [ 48 | 'init', 49 | ], 50 | runInShell: true, 51 | workingDirectory: '${Directory.current.path}/${context.vars['app_name']}', 52 | ); 53 | gitInit; 54 | if (gitInitResult.exitCode != 0) { 55 | context.logger 56 | ..err('git init failed') 57 | ..err(gitInitResult.stderr); 58 | exit(gitInitResult.exitCode); 59 | } 60 | } 61 | 62 | await Future.delayed(const Duration(seconds: 1)); 63 | 64 | context.logger 65 | .success('\nSuccessfully generated ${context.vars['app_name']}!'); 66 | 67 | exit(dartFormatResult.exitCode); 68 | } 69 | -------------------------------------------------------------------------------- /hooks/pre_gen.dart: -------------------------------------------------------------------------------- 1 | import 'package:mason/mason.dart'; 2 | 3 | // Remove this when real multi window is released 4 | const _realMultiWindowReleased = false; 5 | 6 | void run(HookContext context) { 7 | if (!_realMultiWindowReleased) { 8 | context.vars['add_multi_window'] = false; 9 | context.vars['multi_window_no_system_menu'] = false; 10 | } 11 | 12 | /*if (context.vars['add_multi_window'] == true && 13 | context.vars['custom_system_menu_bar'] == false) { 14 | context.vars['multi_window_no_system_menu'] = true; 15 | } else { 16 | context.vars['multi_window_no_system_menu'] = false; 17 | }*/ 18 | } 19 | -------------------------------------------------------------------------------- /hooks/pubspec.lock: -------------------------------------------------------------------------------- 1 | # Generated by pub 2 | # See https://dart.dev/tools/pub/glossary#lockfile 3 | packages: 4 | archive: 5 | dependency: transitive 6 | description: 7 | name: archive 8 | sha256: eb33140ede1b4039f4ad631f7bf3cfa58e24514e8bf87184bc32f17541af87fc 9 | url: "https://pub.dev" 10 | source: hosted 11 | version: "3.3.0" 12 | async: 13 | dependency: transitive 14 | description: 15 | name: async 16 | sha256: "271b8899fc99f9df4f4ed419fa14e2fff392c7b2c162fbb87b222e2e963ddc73" 17 | url: "https://pub.dev" 18 | source: hosted 19 | version: "2.9.0" 20 | charcode: 21 | dependency: transitive 22 | description: 23 | name: charcode 24 | sha256: fb98c0f6d12c920a02ee2d998da788bca066ca5f148492b7085ee23372b12306 25 | url: "https://pub.dev" 26 | source: hosted 27 | version: "1.3.1" 28 | checked_yaml: 29 | dependency: transitive 30 | description: 31 | name: checked_yaml 32 | sha256: dd007e4fb8270916820a0d66e24f619266b60773cddd082c6439341645af2659 33 | url: "https://pub.dev" 34 | source: hosted 35 | version: "2.0.1" 36 | collection: 37 | dependency: transitive 38 | description: 39 | name: collection 40 | sha256: ef7e3a5529178ce8f37a9d0b11cbbc8b1e025940f9cf9f76c42da6796301219d 41 | url: "https://pub.dev" 42 | source: hosted 43 | version: "1.16.0" 44 | crypto: 45 | dependency: transitive 46 | description: 47 | name: crypto 48 | sha256: aa274aa7774f8964e4f4f38cc994db7b6158dd36e9187aaceaddc994b35c6c67 49 | url: "https://pub.dev" 50 | source: hosted 51 | version: "3.0.2" 52 | http: 53 | dependency: transitive 54 | description: 55 | name: http 56 | sha256: "2ed163531e071c2c6b7c659635112f24cb64ecbebf6af46b550d536c0b1aa112" 57 | url: "https://pub.dev" 58 | source: hosted 59 | version: "0.13.4" 60 | http_parser: 61 | dependency: transitive 62 | description: 63 | name: http_parser 64 | sha256: e362d639ba3bc07d5a71faebb98cde68c05bfbcfbbb444b60b6f60bb67719185 65 | url: "https://pub.dev" 66 | source: hosted 67 | version: "4.0.0" 68 | json_annotation: 69 | dependency: transitive 70 | description: 71 | name: json_annotation 72 | sha256: "53cddd9d4a2d253d977dbbd21642f20f580a6a65fcc05d9d69b9f0ecc264cad9" 73 | url: "https://pub.dev" 74 | source: hosted 75 | version: "4.5.0" 76 | mason: 77 | dependency: "direct main" 78 | description: 79 | name: mason 80 | sha256: "45276d0cce6a0f91c466f4bf79eb0fa9c29a17c427cda23cd66c85f4be34ce65" 81 | url: "https://pub.dev" 82 | source: hosted 83 | version: "0.1.0-dev.21" 84 | mason_logger: 85 | dependency: transitive 86 | description: 87 | name: mason_logger 88 | sha256: c1a5890d16193499f324d4b7f05269ef1f0e8ddfa2ea99b5c53361807e181e70 89 | url: "https://pub.dev" 90 | source: hosted 91 | version: "0.1.0-dev.8" 92 | meta: 93 | dependency: transitive 94 | description: 95 | name: meta 96 | sha256: "5202fdd37b4da5fd14a237ed0a01cad6c1efd4c99b5b5a0d3c9237f3728c9485" 97 | url: "https://pub.dev" 98 | source: hosted 99 | version: "1.7.0" 100 | mustache_template: 101 | dependency: transitive 102 | description: 103 | name: mustache_template 104 | sha256: a46e26f91445bfb0b60519be280555b06792460b27b19e2b19ad5b9740df5d1c 105 | url: "https://pub.dev" 106 | source: hosted 107 | version: "2.0.0" 108 | path: 109 | dependency: transitive 110 | description: 111 | name: path 112 | sha256: "240ed0e9bd73daa2182e33c4efc68c7dd53c7c656f3da73515a2d163e151412d" 113 | url: "https://pub.dev" 114 | source: hosted 115 | version: "1.8.1" 116 | pub_semver: 117 | dependency: transitive 118 | description: 119 | name: pub_semver 120 | sha256: "816c1a640e952d213ddd223b3e7aafae08cd9f8e1f6864eed304cc13b0272b07" 121 | url: "https://pub.dev" 122 | source: hosted 123 | version: "2.1.1" 124 | recase: 125 | dependency: transitive 126 | description: 127 | name: recase 128 | sha256: "7aec9b9f498cba65ed969eda51ea3d86a77bbd633d876b57d9db7d9f94fc6ca5" 129 | url: "https://pub.dev" 130 | source: hosted 131 | version: "4.0.0" 132 | source_span: 133 | dependency: transitive 134 | description: 135 | name: source_span 136 | sha256: e3320978e3715725e62f04358fd249c1efe5999297b2c6acd626a817593281b0 137 | url: "https://pub.dev" 138 | source: hosted 139 | version: "1.9.0" 140 | string_scanner: 141 | dependency: transitive 142 | description: 143 | name: string_scanner 144 | sha256: "862015c5db1f3f3c4ea3b94dc2490363a84262994b88902315ed74be1155612f" 145 | url: "https://pub.dev" 146 | source: hosted 147 | version: "1.1.1" 148 | term_glyph: 149 | dependency: transitive 150 | description: 151 | name: term_glyph 152 | sha256: a88162591b02c1f3a3db3af8ce1ea2b374bd75a7bb8d5e353bcfbdc79d719830 153 | url: "https://pub.dev" 154 | source: hosted 155 | version: "1.2.0" 156 | typed_data: 157 | dependency: transitive 158 | description: 159 | name: typed_data 160 | sha256: "26f87ade979c47a150c9eaab93ccd2bebe70a27dc0b4b29517f2904f04eb11a5" 161 | url: "https://pub.dev" 162 | source: hosted 163 | version: "1.3.1" 164 | universal_io: 165 | dependency: transitive 166 | description: 167 | name: universal_io 168 | sha256: "79f78ddad839ee3aae3ec7c01eb4575faf0d5c860f8e5223bc9f9c17f7f03cef" 169 | url: "https://pub.dev" 170 | source: hosted 171 | version: "2.0.4" 172 | yaml: 173 | dependency: transitive 174 | description: 175 | name: yaml 176 | sha256: "23812a9b125b48d4007117254bca50abb6c712352927eece9e155207b1db2370" 177 | url: "https://pub.dev" 178 | source: hosted 179 | version: "3.1.1" 180 | sdks: 181 | dart: ">=2.19.2 <3.0.0" 182 | -------------------------------------------------------------------------------- /hooks/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: macosui_starter_hooks 2 | 3 | environment: 4 | sdk: ">=2.19.2 <4.0.0" 5 | 6 | dependencies: 7 | mason: any --------------------------------------------------------------------------------