Skip to content

Commit 212e5bf

Browse files
authored
Initial MacOS Support (#525)
1 parent 58fe761 commit 212e5bf

20 files changed

Lines changed: 702 additions & 9 deletions

File tree

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
1+
*.DS_Store
22
commet/coverage/lcov.info
33
commet/assets/js/package/olm.js
44
commet/assets/js/package/olm.wasm

commet/ios/Flutter/Debug.xcconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1+
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
12
#include "Generated.xcconfig"
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1+
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
12
#include "Generated.xcconfig"

commet/ios/Podfile

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Uncomment this line to define a global platform for your project
2+
# platform :ios, '13.0'
3+
4+
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
5+
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
6+
7+
project 'Runner', {
8+
'Debug' => :debug,
9+
'Profile' => :release,
10+
'Release' => :release,
11+
}
12+
13+
def flutter_root
14+
generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
15+
unless File.exist?(generated_xcode_build_settings_path)
16+
raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
17+
end
18+
19+
File.foreach(generated_xcode_build_settings_path) do |line|
20+
matches = line.match(/FLUTTER_ROOT\=(.*)/)
21+
return matches[1].strip if matches
22+
end
23+
raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
24+
end
25+
26+
require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
27+
28+
flutter_ios_podfile_setup
29+
30+
target 'Runner' do
31+
use_frameworks!
32+
33+
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
34+
target 'RunnerTests' do
35+
inherit! :search_paths
36+
end
37+
end
38+
39+
post_install do |installer|
40+
installer.pods_project.targets.each do |target|
41+
flutter_additional_ios_build_settings(target)
42+
end
43+
end
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1+
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
12
#include "ephemeral/Flutter-Generated.xcconfig"
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1+
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
12
#include "ephemeral/Flutter-Generated.xcconfig"

commet/macos/Podfile

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
platform :osx, '10.15'
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+
32+
flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__))
33+
target 'RunnerTests' do
34+
inherit! :search_paths
35+
end
36+
end
37+
38+
post_install do |installer|
39+
installer.pods_project.targets.each do |target|
40+
flutter_additional_macos_build_settings(target)
41+
end
42+
end

commet/macos/Podfile.lock

Lines changed: 212 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,212 @@
1+
PODS:
2+
- connectivity_plus (0.0.1):
3+
- FlutterMacOS
4+
- desktop_drop (0.0.1):
5+
- FlutterMacOS
6+
- desktop_webview_window (0.0.1):
7+
- FlutterMacOS
8+
- device_info_plus (0.0.1):
9+
- FlutterMacOS
10+
- dynamic_color (0.0.2):
11+
- FlutterMacOS
12+
- file_picker (0.0.1):
13+
- FlutterMacOS
14+
- file_selector_macos (0.0.1):
15+
- FlutterMacOS
16+
- flutter_local_notifications (0.0.1):
17+
- FlutterMacOS
18+
- flutter_timezone (0.1.0):
19+
- FlutterMacOS
20+
- flutter_vodozemac (0.0.1):
21+
- FlutterMacOS
22+
- flutter_web_auth_2 (3.0.0):
23+
- FlutterMacOS
24+
- flutter_webrtc (1.2.0):
25+
- FlutterMacOS
26+
- WebRTC-SDK (= 137.7151.04)
27+
- FlutterMacOS (1.0.0)
28+
- HotKey (0.2.1)
29+
- hotkey_manager_macos (0.0.1):
30+
- FlutterMacOS
31+
- HotKey
32+
- livekit_client (2.5.4):
33+
- flutter_webrtc
34+
- FlutterMacOS
35+
- WebRTC-SDK (= 137.7151.04)
36+
- media_kit_libs_macos_video (1.0.4):
37+
- FlutterMacOS
38+
- media_kit_video (0.0.1):
39+
- FlutterMacOS
40+
- package_info_plus (0.0.1):
41+
- FlutterMacOS
42+
- pasteboard (0.0.1):
43+
- FlutterMacOS
44+
- screen_retriever_macos (0.0.1):
45+
- FlutterMacOS
46+
- shared_preferences_foundation (0.0.1):
47+
- Flutter
48+
- FlutterMacOS
49+
- sqflite_darwin (0.0.4):
50+
- Flutter
51+
- FlutterMacOS
52+
- sqlite3 (3.51.1):
53+
- sqlite3/common (= 3.51.1)
54+
- sqlite3/common (3.51.1)
55+
- sqlite3/dbstatvtab (3.51.1):
56+
- sqlite3/common
57+
- sqlite3/fts5 (3.51.1):
58+
- sqlite3/common
59+
- sqlite3/math (3.51.1):
60+
- sqlite3/common
61+
- sqlite3/perf-threadsafe (3.51.1):
62+
- sqlite3/common
63+
- sqlite3/rtree (3.51.1):
64+
- sqlite3/common
65+
- sqlite3/session (3.51.1):
66+
- sqlite3/common
67+
- sqlite3_flutter_libs (0.0.1):
68+
- Flutter
69+
- FlutterMacOS
70+
- sqlite3 (~> 3.51.1)
71+
- sqlite3/dbstatvtab
72+
- sqlite3/fts5
73+
- sqlite3/math
74+
- sqlite3/perf-threadsafe
75+
- sqlite3/rtree
76+
- sqlite3/session
77+
- url_launcher_macos (0.0.1):
78+
- FlutterMacOS
79+
- wakelock_plus (0.0.1):
80+
- FlutterMacOS
81+
- WebRTC-SDK (137.7151.04)
82+
- window_manager (0.5.0):
83+
- FlutterMacOS
84+
- window_to_front (0.0.1):
85+
- FlutterMacOS
86+
87+
DEPENDENCIES:
88+
- connectivity_plus (from `Flutter/ephemeral/.symlinks/plugins/connectivity_plus/macos`)
89+
- desktop_drop (from `Flutter/ephemeral/.symlinks/plugins/desktop_drop/macos`)
90+
- desktop_webview_window (from `Flutter/ephemeral/.symlinks/plugins/desktop_webview_window/macos`)
91+
- device_info_plus (from `Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos`)
92+
- dynamic_color (from `Flutter/ephemeral/.symlinks/plugins/dynamic_color/macos`)
93+
- file_picker (from `Flutter/ephemeral/.symlinks/plugins/file_picker/macos`)
94+
- file_selector_macos (from `Flutter/ephemeral/.symlinks/plugins/file_selector_macos/macos`)
95+
- flutter_local_notifications (from `Flutter/ephemeral/.symlinks/plugins/flutter_local_notifications/macos`)
96+
- flutter_timezone (from `Flutter/ephemeral/.symlinks/plugins/flutter_timezone/macos`)
97+
- flutter_vodozemac (from `Flutter/ephemeral/.symlinks/plugins/flutter_vodozemac/macos`)
98+
- flutter_web_auth_2 (from `Flutter/ephemeral/.symlinks/plugins/flutter_web_auth_2/macos`)
99+
- flutter_webrtc (from `Flutter/ephemeral/.symlinks/plugins/flutter_webrtc/macos`)
100+
- FlutterMacOS (from `Flutter/ephemeral`)
101+
- hotkey_manager_macos (from `Flutter/ephemeral/.symlinks/plugins/hotkey_manager_macos/macos`)
102+
- livekit_client (from `Flutter/ephemeral/.symlinks/plugins/livekit_client/macos`)
103+
- media_kit_libs_macos_video (from `Flutter/ephemeral/.symlinks/plugins/media_kit_libs_macos_video/macos`)
104+
- media_kit_video (from `Flutter/ephemeral/.symlinks/plugins/media_kit_video/macos`)
105+
- package_info_plus (from `Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos`)
106+
- pasteboard (from `Flutter/ephemeral/.symlinks/plugins/pasteboard/macos`)
107+
- screen_retriever_macos (from `Flutter/ephemeral/.symlinks/plugins/screen_retriever_macos/macos`)
108+
- shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin`)
109+
- sqflite_darwin (from `Flutter/ephemeral/.symlinks/plugins/sqflite_darwin/darwin`)
110+
- sqlite3_flutter_libs (from `Flutter/ephemeral/.symlinks/plugins/sqlite3_flutter_libs/darwin`)
111+
- url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`)
112+
- wakelock_plus (from `Flutter/ephemeral/.symlinks/plugins/wakelock_plus/macos`)
113+
- window_manager (from `Flutter/ephemeral/.symlinks/plugins/window_manager/macos`)
114+
- window_to_front (from `Flutter/ephemeral/.symlinks/plugins/window_to_front/macos`)
115+
116+
SPEC REPOS:
117+
trunk:
118+
- HotKey
119+
- sqlite3
120+
- WebRTC-SDK
121+
122+
EXTERNAL SOURCES:
123+
connectivity_plus:
124+
:path: Flutter/ephemeral/.symlinks/plugins/connectivity_plus/macos
125+
desktop_drop:
126+
:path: Flutter/ephemeral/.symlinks/plugins/desktop_drop/macos
127+
desktop_webview_window:
128+
:path: Flutter/ephemeral/.symlinks/plugins/desktop_webview_window/macos
129+
device_info_plus:
130+
:path: Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos
131+
dynamic_color:
132+
:path: Flutter/ephemeral/.symlinks/plugins/dynamic_color/macos
133+
file_picker:
134+
:path: Flutter/ephemeral/.symlinks/plugins/file_picker/macos
135+
file_selector_macos:
136+
:path: Flutter/ephemeral/.symlinks/plugins/file_selector_macos/macos
137+
flutter_local_notifications:
138+
:path: Flutter/ephemeral/.symlinks/plugins/flutter_local_notifications/macos
139+
flutter_timezone:
140+
:path: Flutter/ephemeral/.symlinks/plugins/flutter_timezone/macos
141+
flutter_vodozemac:
142+
:path: Flutter/ephemeral/.symlinks/plugins/flutter_vodozemac/macos
143+
flutter_web_auth_2:
144+
:path: Flutter/ephemeral/.symlinks/plugins/flutter_web_auth_2/macos
145+
flutter_webrtc:
146+
:path: Flutter/ephemeral/.symlinks/plugins/flutter_webrtc/macos
147+
FlutterMacOS:
148+
:path: Flutter/ephemeral
149+
hotkey_manager_macos:
150+
:path: Flutter/ephemeral/.symlinks/plugins/hotkey_manager_macos/macos
151+
livekit_client:
152+
:path: Flutter/ephemeral/.symlinks/plugins/livekit_client/macos
153+
media_kit_libs_macos_video:
154+
:path: Flutter/ephemeral/.symlinks/plugins/media_kit_libs_macos_video/macos
155+
media_kit_video:
156+
:path: Flutter/ephemeral/.symlinks/plugins/media_kit_video/macos
157+
package_info_plus:
158+
:path: Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos
159+
pasteboard:
160+
:path: Flutter/ephemeral/.symlinks/plugins/pasteboard/macos
161+
screen_retriever_macos:
162+
:path: Flutter/ephemeral/.symlinks/plugins/screen_retriever_macos/macos
163+
shared_preferences_foundation:
164+
:path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin
165+
sqflite_darwin:
166+
:path: Flutter/ephemeral/.symlinks/plugins/sqflite_darwin/darwin
167+
sqlite3_flutter_libs:
168+
:path: Flutter/ephemeral/.symlinks/plugins/sqlite3_flutter_libs/darwin
169+
url_launcher_macos:
170+
:path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos
171+
wakelock_plus:
172+
:path: Flutter/ephemeral/.symlinks/plugins/wakelock_plus/macos
173+
window_manager:
174+
:path: Flutter/ephemeral/.symlinks/plugins/window_manager/macos
175+
window_to_front:
176+
:path: Flutter/ephemeral/.symlinks/plugins/window_to_front/macos
177+
178+
SPEC CHECKSUMS:
179+
connectivity_plus: 4adf20a405e25b42b9c9f87feff8f4b6fde18a4e
180+
desktop_drop: e0b672a7d84c0a6cbc378595e82cdb15f2970a43
181+
desktop_webview_window: 7e37af677d6d19294cb433d9b1d878ef78dffa4d
182+
device_info_plus: 4fb280989f669696856f8b129e4a5e3cd6c48f76
183+
dynamic_color: b820c000cc68df65e7ba7ff177cb98404ce56651
184+
file_picker: 7584aae6fa07a041af2b36a2655122d42f578c1a
185+
file_selector_macos: 9e9e068e90ebee155097d00e89ae91edb2374db7
186+
flutter_local_notifications: 4bf37a31afde695b56091b4ae3e4d9c7a7e6cda0
187+
flutter_timezone: d272288c69082ad571630e0d17140b3d6b93dc0c
188+
flutter_vodozemac: fd2ea9cb3e2a37beaac883a369811fbfe042fc53
189+
flutter_web_auth_2: 62b08da29f15a20fa63f144234622a1488d45b65
190+
flutter_webrtc: 718eae22a371cd94e5d56aa4f301443ebc5bb737
191+
FlutterMacOS: d0db08ddef1a9af05a5ec4b724367152bb0500b1
192+
HotKey: 400beb7caa29054ea8d864c96f5ba7e5b4852277
193+
hotkey_manager_macos: a4317849af96d2430fa89944d3c58977ca089fbe
194+
livekit_client: 3df5a1787d64010ca56c4002959d9e47c03ba3fb
195+
media_kit_libs_macos_video: 85a23e549b5f480e72cae3e5634b5514bc692f65
196+
media_kit_video: fa6564e3799a0a28bff39442334817088b7ca758
197+
package_info_plus: f0052d280d17aa382b932f399edf32507174e870
198+
pasteboard: 278d8100149f940fb795d6b3a74f0720c890ecb7
199+
screen_retriever_macos: 452e51764a9e1cdb74b3c541238795849f21557f
200+
shared_preferences_foundation: 7036424c3d8ec98dfe75ff1667cb0cd531ec82bb
201+
sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0
202+
sqlite3: 8d708bc63e9f4ce48f0ad9d6269e478c5ced1d9b
203+
sqlite3_flutter_libs: d13b8b3003f18f596e542bcb9482d105577eff41
204+
url_launcher_macos: f87a979182d112f911de6820aefddaf56ee9fbfd
205+
wakelock_plus: 917609be14d812ddd9e9528876538b2263aaa03b
206+
WebRTC-SDK: 40d4f5ba05cadff14e4db5614aec402a633f007e
207+
window_manager: b729e31d38fb04905235df9ea896128991cad99e
208+
window_to_front: 9e76fd432e36700a197dac86a0011e49c89abe0a
209+
210+
PODFILE CHECKSUM: 54d867c82ac51cbd61b565781b9fada492027009
211+
212+
COCOAPODS: 1.16.2

0 commit comments

Comments
 (0)