Skip to content

Commit 4ebfcb5

Browse files
[video_player] Federate mobile implementations (flutter#4712)
Moves the iOS and Android implementations to their own federated packages. The iOS implementation package uses the name `avfoundation` rather than `ios` since it is likely that a macOS implementation could share a significant amount of code. As part of the federation, migrates the mobile implementations to using in-package method channels rather than the shared method channel. Currently these are just duplicates of the existing method channels; updating them to new version of Pigeon will be done in a separate PR later. Temporarily marks `video_player` as unpublishable to allow the implementations to be moved, rather than copied and deleted, in order to better preserve git history. A follow-up PR will restore it to publishable form. No version change: The changes to `video_player_platform_interface` only affect development of the plugin, not use of the plugin. Part of flutter#68498 Part of flutter#94224
1 parent 4450606 commit 4ebfcb5

File tree

128 files changed

+6297
-275
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

128 files changed

+6297
-275
lines changed

packages/video_player/video_player/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
## NEXT
22

3+
* Moves Android and iOS implementations to federated packages.
34
* Update audio URL in iOS tests.
45

56
## 2.2.17

packages/video_player/video_player/android/settings.gradle

Lines changed: 0 additions & 1 deletion
This file was deleted.

packages/video_player/video_player/example/ios/Podfile

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,6 @@ flutter_ios_podfile_setup
2929

3030
target 'Runner' do
3131
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
32-
target 'RunnerTests' do
33-
inherit! :search_paths
34-
pod 'OCMock', '3.5'
35-
end
3632
end
3733

3834
post_install do |installer|

packages/video_player/video_player/example/ios/Runner.xcodeproj/project.pbxproj

Lines changed: 1 addition & 252 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
archiveVersion = 1;
44
classes = {
55
};
6-
objectVersion = 50;
6+
objectVersion = 46;
77
objects = {
88

99
/* Begin PBXBuildFile section */
@@ -15,28 +15,8 @@
1515
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
1616
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
1717
B0F5C77B94E32FB72444AE9F /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 20721C28387E1F78689EC502 /* libPods-Runner.a */; };
18-
D182ECB59C06DBC7E2D5D913 /* libPods-RunnerTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BD232FD3BD3343A5F52AF50 /* libPods-RunnerTests.a */; };
19-
F7151F2F26603EBD0028CB91 /* VideoPlayerUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = F7151F2E26603EBD0028CB91 /* VideoPlayerUITests.m */; };
20-
F7151F3D26603ECA0028CB91 /* VideoPlayerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F7151F3C26603ECA0028CB91 /* VideoPlayerTests.m */; };
2118
/* End PBXBuildFile section */
2219

23-
/* Begin PBXContainerItemProxy section */
24-
F7151F3126603EBD0028CB91 /* PBXContainerItemProxy */ = {
25-
isa = PBXContainerItemProxy;
26-
containerPortal = 97C146E61CF9000F007C117D /* Project object */;
27-
proxyType = 1;
28-
remoteGlobalIDString = 97C146ED1CF9000F007C117D;
29-
remoteInfo = Runner;
30-
};
31-
F7151F3F26603ECA0028CB91 /* PBXContainerItemProxy */ = {
32-
isa = PBXContainerItemProxy;
33-
containerPortal = 97C146E61CF9000F007C117D /* Project object */;
34-
proxyType = 1;
35-
remoteGlobalIDString = 97C146ED1CF9000F007C117D;
36-
remoteInfo = Runner;
37-
};
38-
/* End PBXContainerItemProxy section */
39-
4020
/* Begin PBXCopyFilesBuildPhase section */
4121
9705A1C41CF9048500538489 /* Embed Frameworks */ = {
4222
isa = PBXCopyFilesBuildPhase;
@@ -71,12 +51,6 @@
7151
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
7252
B15EC39F4617FE1082B18834 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
7353
C18C242FF01156F58C0DAF1C /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
74-
F7151F2C26603EBD0028CB91 /* RunnerUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
75-
F7151F2E26603EBD0028CB91 /* VideoPlayerUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VideoPlayerUITests.m; sourceTree = "<group>"; };
76-
F7151F3026603EBD0028CB91 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
77-
F7151F3A26603ECA0028CB91 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
78-
F7151F3C26603ECA0028CB91 /* VideoPlayerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VideoPlayerTests.m; sourceTree = "<group>"; };
79-
F7151F3E26603ECA0028CB91 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
8054
/* End PBXFileReference section */
8155

8256
/* Begin PBXFrameworksBuildPhase section */
@@ -88,21 +62,6 @@
8862
);
8963
runOnlyForDeploymentPostprocessing = 0;
9064
};
91-
F7151F2926603EBD0028CB91 /* Frameworks */ = {
92-
isa = PBXFrameworksBuildPhase;
93-
buildActionMask = 2147483647;
94-
files = (
95-
);
96-
runOnlyForDeploymentPostprocessing = 0;
97-
};
98-
F7151F3726603ECA0028CB91 /* Frameworks */ = {
99-
isa = PBXFrameworksBuildPhase;
100-
buildActionMask = 2147483647;
101-
files = (
102-
D182ECB59C06DBC7E2D5D913 /* libPods-RunnerTests.a in Frameworks */,
103-
);
104-
runOnlyForDeploymentPostprocessing = 0;
105-
};
10665
/* End PBXFrameworksBuildPhase section */
10766

10867
/* Begin PBXGroup section */
@@ -142,8 +101,6 @@
142101
children = (
143102
9740EEB11CF90186004384FC /* Flutter */,
144103
97C146F01CF9000F007C117D /* Runner */,
145-
F7151F3B26603ECA0028CB91 /* RunnerTests */,
146-
F7151F2D26603EBD0028CB91 /* RunnerUITests */,
147104
97C146EF1CF9000F007C117D /* Products */,
148105
05E898481BC29A7FA83AA441 /* Pods */,
149106
23104BB9DCF267F65AD246F9 /* Frameworks */,
@@ -154,8 +111,6 @@
154111
isa = PBXGroup;
155112
children = (
156113
97C146EE1CF9000F007C117D /* Runner.app */,
157-
F7151F2C26603EBD0028CB91 /* RunnerUITests.xctest */,
158-
F7151F3A26603ECA0028CB91 /* RunnerTests.xctest */,
159114
);
160115
name = Products;
161116
sourceTree = "<group>";
@@ -184,24 +139,6 @@
184139
name = "Supporting Files";
185140
sourceTree = "<group>";
186141
};
187-
F7151F2D26603EBD0028CB91 /* RunnerUITests */ = {
188-
isa = PBXGroup;
189-
children = (
190-
F7151F2E26603EBD0028CB91 /* VideoPlayerUITests.m */,
191-
F7151F3026603EBD0028CB91 /* Info.plist */,
192-
);
193-
path = RunnerUITests;
194-
sourceTree = "<group>";
195-
};
196-
F7151F3B26603ECA0028CB91 /* RunnerTests */ = {
197-
isa = PBXGroup;
198-
children = (
199-
F7151F3C26603ECA0028CB91 /* VideoPlayerTests.m */,
200-
F7151F3E26603ECA0028CB91 /* Info.plist */,
201-
);
202-
path = RunnerTests;
203-
sourceTree = "<group>";
204-
};
205142
/* End PBXGroup section */
206143

207144
/* Begin PBXNativeTarget section */
@@ -226,43 +163,6 @@
226163
productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
227164
productType = "com.apple.product-type.application";
228165
};
229-
F7151F2B26603EBD0028CB91 /* RunnerUITests */ = {
230-
isa = PBXNativeTarget;
231-
buildConfigurationList = F7151F3526603EBD0028CB91 /* Build configuration list for PBXNativeTarget "RunnerUITests" */;
232-
buildPhases = (
233-
F7151F2826603EBD0028CB91 /* Sources */,
234-
F7151F2926603EBD0028CB91 /* Frameworks */,
235-
F7151F2A26603EBD0028CB91 /* Resources */,
236-
);
237-
buildRules = (
238-
);
239-
dependencies = (
240-
F7151F3226603EBD0028CB91 /* PBXTargetDependency */,
241-
);
242-
name = RunnerUITests;
243-
productName = RunnerUITests;
244-
productReference = F7151F2C26603EBD0028CB91 /* RunnerUITests.xctest */;
245-
productType = "com.apple.product-type.bundle.ui-testing";
246-
};
247-
F7151F3926603ECA0028CB91 /* RunnerTests */ = {
248-
isa = PBXNativeTarget;
249-
buildConfigurationList = F7151F4126603ECB0028CB91 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
250-
buildPhases = (
251-
E9F7B01F913C69934A6629F6 /* [CP] Check Pods Manifest.lock */,
252-
F7151F3626603ECA0028CB91 /* Sources */,
253-
F7151F3726603ECA0028CB91 /* Frameworks */,
254-
F7151F3826603ECA0028CB91 /* Resources */,
255-
);
256-
buildRules = (
257-
);
258-
dependencies = (
259-
F7151F4026603ECA0028CB91 /* PBXTargetDependency */,
260-
);
261-
name = RunnerTests;
262-
productName = RunnerTests;
263-
productReference = F7151F3A26603ECA0028CB91 /* RunnerTests.xctest */;
264-
productType = "com.apple.product-type.bundle.unit-test";
265-
};
266166
/* End PBXNativeTarget section */
267167

268168
/* Begin PBXProject section */
@@ -275,16 +175,6 @@
275175
97C146ED1CF9000F007C117D = {
276176
CreatedOnToolsVersion = 7.3.1;
277177
};
278-
F7151F2B26603EBD0028CB91 = {
279-
CreatedOnToolsVersion = 12.5;
280-
ProvisioningStyle = Automatic;
281-
TestTargetID = 97C146ED1CF9000F007C117D;
282-
};
283-
F7151F3926603ECA0028CB91 = {
284-
CreatedOnToolsVersion = 12.5;
285-
ProvisioningStyle = Automatic;
286-
TestTargetID = 97C146ED1CF9000F007C117D;
287-
};
288178
};
289179
};
290180
buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
@@ -301,8 +191,6 @@
301191
projectRoot = "";
302192
targets = (
303193
97C146ED1CF9000F007C117D /* Runner */,
304-
F7151F3926603ECA0028CB91 /* RunnerTests */,
305-
F7151F2B26603EBD0028CB91 /* RunnerUITests */,
306194
);
307195
};
308196
/* End PBXProject section */
@@ -319,20 +207,6 @@
319207
);
320208
runOnlyForDeploymentPostprocessing = 0;
321209
};
322-
F7151F2A26603EBD0028CB91 /* Resources */ = {
323-
isa = PBXResourcesBuildPhase;
324-
buildActionMask = 2147483647;
325-
files = (
326-
);
327-
runOnlyForDeploymentPostprocessing = 0;
328-
};
329-
F7151F3826603ECA0028CB91 /* Resources */ = {
330-
isa = PBXResourcesBuildPhase;
331-
buildActionMask = 2147483647;
332-
files = (
333-
);
334-
runOnlyForDeploymentPostprocessing = 0;
335-
};
336210
/* End PBXResourcesBuildPhase section */
337211

338212
/* Begin PBXShellScriptBuildPhase section */
@@ -364,28 +238,6 @@
364238
shellPath = /bin/sh;
365239
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
366240
};
367-
E9F7B01F913C69934A6629F6 /* [CP] Check Pods Manifest.lock */ = {
368-
isa = PBXShellScriptBuildPhase;
369-
buildActionMask = 2147483647;
370-
files = (
371-
);
372-
inputFileListPaths = (
373-
);
374-
inputPaths = (
375-
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
376-
"${PODS_ROOT}/Manifest.lock",
377-
);
378-
name = "[CP] Check Pods Manifest.lock";
379-
outputFileListPaths = (
380-
);
381-
outputPaths = (
382-
"$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt",
383-
);
384-
runOnlyForDeploymentPostprocessing = 0;
385-
shellPath = /bin/sh;
386-
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";
387-
showEnvVarsInLog = 0;
388-
};
389241
F31A669BD45D5A7C940BF077 /* [CP] Check Pods Manifest.lock */ = {
390242
isa = PBXShellScriptBuildPhase;
391243
buildActionMask = 2147483647;
@@ -417,37 +269,8 @@
417269
);
418270
runOnlyForDeploymentPostprocessing = 0;
419271
};
420-
F7151F2826603EBD0028CB91 /* Sources */ = {
421-
isa = PBXSourcesBuildPhase;
422-
buildActionMask = 2147483647;
423-
files = (
424-
F7151F2F26603EBD0028CB91 /* VideoPlayerUITests.m in Sources */,
425-
);
426-
runOnlyForDeploymentPostprocessing = 0;
427-
};
428-
F7151F3626603ECA0028CB91 /* Sources */ = {
429-
isa = PBXSourcesBuildPhase;
430-
buildActionMask = 2147483647;
431-
files = (
432-
F7151F3D26603ECA0028CB91 /* VideoPlayerTests.m in Sources */,
433-
);
434-
runOnlyForDeploymentPostprocessing = 0;
435-
};
436272
/* End PBXSourcesBuildPhase section */
437273

438-
/* Begin PBXTargetDependency section */
439-
F7151F3226603EBD0028CB91 /* PBXTargetDependency */ = {
440-
isa = PBXTargetDependency;
441-
target = 97C146ED1CF9000F007C117D /* Runner */;
442-
targetProxy = F7151F3126603EBD0028CB91 /* PBXContainerItemProxy */;
443-
};
444-
F7151F4026603ECA0028CB91 /* PBXTargetDependency */ = {
445-
isa = PBXTargetDependency;
446-
target = 97C146ED1CF9000F007C117D /* Runner */;
447-
targetProxy = F7151F3F26603ECA0028CB91 /* PBXContainerItemProxy */;
448-
};
449-
/* End PBXTargetDependency section */
450-
451274
/* Begin PBXVariantGroup section */
452275
97C146FA1CF9000F007C117D /* Main.storyboard */ = {
453276
isa = PBXVariantGroup;
@@ -616,62 +439,6 @@
616439
};
617440
name = Release;
618441
};
619-
F7151F3326603EBD0028CB91 /* Debug */ = {
620-
isa = XCBuildConfiguration;
621-
buildSettings = {
622-
CODE_SIGN_STYLE = Automatic;
623-
INFOPLIST_FILE = RunnerUITests/Info.plist;
624-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
625-
MTL_FAST_MATH = YES;
626-
PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.plugins.RunnerUITests;
627-
PRODUCT_NAME = "$(TARGET_NAME)";
628-
TEST_TARGET_NAME = Runner;
629-
};
630-
name = Debug;
631-
};
632-
F7151F3426603EBD0028CB91 /* Release */ = {
633-
isa = XCBuildConfiguration;
634-
buildSettings = {
635-
CODE_SIGN_STYLE = Automatic;
636-
INFOPLIST_FILE = RunnerUITests/Info.plist;
637-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
638-
MTL_FAST_MATH = YES;
639-
PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.plugins.RunnerUITests;
640-
PRODUCT_NAME = "$(TARGET_NAME)";
641-
TEST_TARGET_NAME = Runner;
642-
};
643-
name = Release;
644-
};
645-
F7151F4226603ECB0028CB91 /* Debug */ = {
646-
isa = XCBuildConfiguration;
647-
baseConfigurationReference = 6CDC4DA5940705A6E7671616 /* Pods-RunnerTests.debug.xcconfig */;
648-
buildSettings = {
649-
BUNDLE_LOADER = "$(TEST_HOST)";
650-
CODE_SIGN_STYLE = Automatic;
651-
INFOPLIST_FILE = RunnerTests/Info.plist;
652-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
653-
MTL_FAST_MATH = YES;
654-
PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.plugins.RunnerTests;
655-
PRODUCT_NAME = "$(TARGET_NAME)";
656-
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/Runner";
657-
};
658-
name = Debug;
659-
};
660-
F7151F4326603ECB0028CB91 /* Release */ = {
661-
isa = XCBuildConfiguration;
662-
baseConfigurationReference = 2A2EA522BDC492279A91AB75 /* Pods-RunnerTests.release.xcconfig */;
663-
buildSettings = {
664-
BUNDLE_LOADER = "$(TEST_HOST)";
665-
CODE_SIGN_STYLE = Automatic;
666-
INFOPLIST_FILE = RunnerTests/Info.plist;
667-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
668-
MTL_FAST_MATH = YES;
669-
PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.plugins.RunnerTests;
670-
PRODUCT_NAME = "$(TARGET_NAME)";
671-
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/Runner";
672-
};
673-
name = Release;
674-
};
675442
/* End XCBuildConfiguration section */
676443

677444
/* Begin XCConfigurationList section */
@@ -693,24 +460,6 @@
693460
defaultConfigurationIsVisible = 0;
694461
defaultConfigurationName = Release;
695462
};
696-
F7151F3526603EBD0028CB91 /* Build configuration list for PBXNativeTarget "RunnerUITests" */ = {
697-
isa = XCConfigurationList;
698-
buildConfigurations = (
699-
F7151F3326603EBD0028CB91 /* Debug */,
700-
F7151F3426603EBD0028CB91 /* Release */,
701-
);
702-
defaultConfigurationIsVisible = 0;
703-
defaultConfigurationName = Release;
704-
};
705-
F7151F4126603ECB0028CB91 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = {
706-
isa = XCConfigurationList;
707-
buildConfigurations = (
708-
F7151F4226603ECB0028CB91 /* Debug */,
709-
F7151F4326603ECB0028CB91 /* Release */,
710-
);
711-
defaultConfigurationIsVisible = 0;
712-
defaultConfigurationName = Release;
713-
};
714463
/* End XCConfigurationList section */
715464
};
716465
rootObject = 97C146E61CF9000F007C117D /* Project object */;

0 commit comments

Comments
 (0)