Skip to content

Commit 2c26087

Browse files
authored
Manage platform dependent tests in test targets (#7096)
1 parent 512ba3f commit 2c26087

File tree

8 files changed

+253
-20
lines changed

8 files changed

+253
-20
lines changed

.swiftpm/xcode/xcshareddata/xcschemes/Firebase-Package.xcscheme

Lines changed: 230 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -510,6 +510,216 @@
510510
ReferencedContainer = "container:">
511511
</BuildableReference>
512512
</BuildActionEntry>
513+
<BuildActionEntry
514+
buildForTesting = "YES"
515+
buildForRunning = "YES"
516+
buildForProfiling = "YES"
517+
buildForArchiving = "YES"
518+
buildForAnalyzing = "YES">
519+
<BuildableReference
520+
BuildableIdentifier = "primary"
521+
BlueprintIdentifier = "FirebaseAppDistribution-Beta"
522+
BuildableName = "FirebaseAppDistribution-Beta"
523+
BlueprintName = "FirebaseAppDistribution-Beta"
524+
ReferencedContainer = "container:">
525+
</BuildableReference>
526+
</BuildActionEntry>
527+
<BuildActionEntry
528+
buildForTesting = "YES"
529+
buildForRunning = "YES"
530+
buildForProfiling = "YES"
531+
buildForArchiving = "YES"
532+
buildForAnalyzing = "YES">
533+
<BuildableReference
534+
BuildableIdentifier = "primary"
535+
BlueprintIdentifier = "FirebaseFirestoreSwift-Beta"
536+
BuildableName = "FirebaseFirestoreSwift-Beta"
537+
BlueprintName = "FirebaseFirestoreSwift-Beta"
538+
ReferencedContainer = "container:">
539+
</BuildableReference>
540+
</BuildActionEntry>
541+
<BuildActionEntry
542+
buildForTesting = "YES"
543+
buildForRunning = "YES"
544+
buildForProfiling = "YES"
545+
buildForArchiving = "YES"
546+
buildForAnalyzing = "YES">
547+
<BuildableReference
548+
BuildableIdentifier = "primary"
549+
BlueprintIdentifier = "FirebaseStorageSwift-Beta"
550+
BuildableName = "FirebaseStorageSwift-Beta"
551+
BlueprintName = "FirebaseStorageSwift-Beta"
552+
ReferencedContainer = "container:">
553+
</BuildableReference>
554+
</BuildActionEntry>
555+
<BuildActionEntry
556+
buildForTesting = "YES"
557+
buildForRunning = "YES"
558+
buildForProfiling = "YES"
559+
buildForArchiving = "YES"
560+
buildForAnalyzing = "YES">
561+
<BuildableReference
562+
BuildableIdentifier = "primary"
563+
BlueprintIdentifier = "Firebase_AppDistributionUnit"
564+
BuildableName = "Firebase_AppDistributionUnit"
565+
BlueprintName = "Firebase_AppDistributionUnit"
566+
ReferencedContainer = "container:">
567+
</BuildableReference>
568+
</BuildActionEntry>
569+
<BuildActionEntry
570+
buildForTesting = "YES"
571+
buildForRunning = "YES"
572+
buildForProfiling = "YES"
573+
buildForArchiving = "YES"
574+
buildForAnalyzing = "YES">
575+
<BuildableReference
576+
BuildableIdentifier = "primary"
577+
BlueprintIdentifier = "FirebaseAnalyticsTarget"
578+
BuildableName = "FirebaseAnalyticsTarget"
579+
BlueprintName = "FirebaseAnalyticsTarget"
580+
ReferencedContainer = "container:">
581+
</BuildableReference>
582+
</BuildActionEntry>
583+
<BuildActionEntry
584+
buildForTesting = "YES"
585+
buildForRunning = "YES"
586+
buildForProfiling = "YES"
587+
buildForArchiving = "YES"
588+
buildForAnalyzing = "YES">
589+
<BuildableReference
590+
BuildableIdentifier = "primary"
591+
BlueprintIdentifier = "FirebaseAppDistribution"
592+
BuildableName = "FirebaseAppDistribution"
593+
BlueprintName = "FirebaseAppDistribution"
594+
ReferencedContainer = "container:">
595+
</BuildableReference>
596+
</BuildActionEntry>
597+
<BuildActionEntry
598+
buildForTesting = "YES"
599+
buildForRunning = "YES"
600+
buildForProfiling = "YES"
601+
buildForArchiving = "YES"
602+
buildForAnalyzing = "YES">
603+
<BuildableReference
604+
BuildableIdentifier = "primary"
605+
BlueprintIdentifier = "FirebaseAppDistributionTarget"
606+
BuildableName = "FirebaseAppDistributionTarget"
607+
BlueprintName = "FirebaseAppDistributionTarget"
608+
ReferencedContainer = "container:">
609+
</BuildableReference>
610+
</BuildActionEntry>
611+
<BuildActionEntry
612+
buildForTesting = "YES"
613+
buildForRunning = "YES"
614+
buildForProfiling = "YES"
615+
buildForArchiving = "YES"
616+
buildForAnalyzing = "YES">
617+
<BuildableReference
618+
BuildableIdentifier = "primary"
619+
BlueprintIdentifier = "FirebaseDatabaseTarget"
620+
BuildableName = "FirebaseDatabaseTarget"
621+
BlueprintName = "FirebaseDatabaseTarget"
622+
ReferencedContainer = "container:">
623+
</BuildableReference>
624+
</BuildActionEntry>
625+
<BuildActionEntry
626+
buildForTesting = "YES"
627+
buildForRunning = "YES"
628+
buildForProfiling = "YES"
629+
buildForArchiving = "YES"
630+
buildForAnalyzing = "YES">
631+
<BuildableReference
632+
BuildableIdentifier = "primary"
633+
BlueprintIdentifier = "FirebaseDynamicLinksTarget"
634+
BuildableName = "FirebaseDynamicLinksTarget"
635+
BlueprintName = "FirebaseDynamicLinksTarget"
636+
ReferencedContainer = "container:">
637+
</BuildableReference>
638+
</BuildActionEntry>
639+
<BuildActionEntry
640+
buildForTesting = "YES"
641+
buildForRunning = "YES"
642+
buildForProfiling = "YES"
643+
buildForArchiving = "YES"
644+
buildForAnalyzing = "YES">
645+
<BuildableReference
646+
BuildableIdentifier = "primary"
647+
BlueprintIdentifier = "FirebaseFirestoreSwiftTarget"
648+
BuildableName = "FirebaseFirestoreSwiftTarget"
649+
BlueprintName = "FirebaseFirestoreSwiftTarget"
650+
ReferencedContainer = "container:">
651+
</BuildableReference>
652+
</BuildActionEntry>
653+
<BuildActionEntry
654+
buildForTesting = "YES"
655+
buildForRunning = "YES"
656+
buildForProfiling = "YES"
657+
buildForArchiving = "YES"
658+
buildForAnalyzing = "YES">
659+
<BuildableReference
660+
BuildableIdentifier = "primary"
661+
BlueprintIdentifier = "FirebaseFirestoreTarget"
662+
BuildableName = "FirebaseFirestoreTarget"
663+
BlueprintName = "FirebaseFirestoreTarget"
664+
ReferencedContainer = "container:">
665+
</BuildableReference>
666+
</BuildActionEntry>
667+
<BuildActionEntry
668+
buildForTesting = "YES"
669+
buildForRunning = "YES"
670+
buildForProfiling = "YES"
671+
buildForArchiving = "YES"
672+
buildForAnalyzing = "YES">
673+
<BuildableReference
674+
BuildableIdentifier = "primary"
675+
BlueprintIdentifier = "FirebaseFunctionsTarget"
676+
BuildableName = "FirebaseFunctionsTarget"
677+
BlueprintName = "FirebaseFunctionsTarget"
678+
ReferencedContainer = "container:">
679+
</BuildableReference>
680+
</BuildActionEntry>
681+
<BuildActionEntry
682+
buildForTesting = "YES"
683+
buildForRunning = "YES"
684+
buildForProfiling = "YES"
685+
buildForArchiving = "YES"
686+
buildForAnalyzing = "YES">
687+
<BuildableReference
688+
BuildableIdentifier = "primary"
689+
BlueprintIdentifier = "FirebaseInAppMessagingTarget"
690+
BuildableName = "FirebaseInAppMessagingTarget"
691+
BlueprintName = "FirebaseInAppMessagingTarget"
692+
ReferencedContainer = "container:">
693+
</BuildableReference>
694+
</BuildActionEntry>
695+
<BuildActionEntry
696+
buildForTesting = "YES"
697+
buildForRunning = "YES"
698+
buildForProfiling = "YES"
699+
buildForArchiving = "YES"
700+
buildForAnalyzing = "YES">
701+
<BuildableReference
702+
BuildableIdentifier = "primary"
703+
BlueprintIdentifier = "FirebaseMLModelDownloader"
704+
BuildableName = "FirebaseMLModelDownloader"
705+
BlueprintName = "FirebaseMLModelDownloader"
706+
ReferencedContainer = "container:">
707+
</BuildableReference>
708+
</BuildActionEntry>
709+
<BuildActionEntry
710+
buildForTesting = "YES"
711+
buildForRunning = "YES"
712+
buildForProfiling = "YES"
713+
buildForArchiving = "YES"
714+
buildForAnalyzing = "YES">
715+
<BuildableReference
716+
BuildableIdentifier = "primary"
717+
BlueprintIdentifier = "FirebaseRemoteConfigTarget"
718+
BuildableName = "FirebaseRemoteConfigTarget"
719+
BlueprintName = "FirebaseRemoteConfigTarget"
720+
ReferencedContainer = "container:">
721+
</BuildableReference>
722+
</BuildActionEntry>
513723
</BuildActionEntries>
514724
</BuildAction>
515725
<TestAction
@@ -678,6 +888,26 @@
678888
ReferencedContainer = "container:">
679889
</BuildableReference>
680890
</TestableReference>
891+
<TestableReference
892+
skipped = "NO">
893+
<BuildableReference
894+
BuildableIdentifier = "primary"
895+
BlueprintIdentifier = "AppDistributionUnit"
896+
BuildableName = "AppDistributionUnit"
897+
BlueprintName = "AppDistributionUnit"
898+
ReferencedContainer = "container:">
899+
</BuildableReference>
900+
</TestableReference>
901+
<TestableReference
902+
skipped = "NO">
903+
<BuildableReference
904+
BuildableIdentifier = "primary"
905+
BlueprintIdentifier = "FirebaseMLModelDownloaderUnit"
906+
BuildableName = "FirebaseMLModelDownloaderUnit"
907+
BlueprintName = "FirebaseMLModelDownloaderUnit"
908+
ReferencedContainer = "container:">
909+
</BuildableReference>
910+
</TestableReference>
681911
</Testables>
682912
</TestAction>
683913
<LaunchAction

FirebaseAppDistribution/Sources/FIRAppDistribution.m

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414
#import <Foundation/Foundation.h>
15-
#import <TargetConditionals.h>
16-
#if TARGET_OS_IOS
1715

1816
#import <GoogleUtilities/GULAppDelegateSwizzler.h>
1917
#import <GoogleUtilities/GULUserDefaults.h>
@@ -335,5 +333,3 @@ - (BOOL)isCodeHashIdentical:(NSString *)codeHash {
335333
return codeHash && [codeHash isEqualToString:[machO codeHash]];
336334
}
337335
@end
338-
339-
#endif

FirebaseAppDistribution/Sources/FIRAppDistributionUIService.h

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,13 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
#import <TargetConditionals.h>
16-
#if TARGET_OS_IOS
17-
1815
#import <AuthenticationServices/AuthenticationServices.h>
1916
#import <Foundation/Foundation.h>
2017
#import <SafariServices/SafariServices.h>
2118
#import <UIKit/UIKit.h>
2219

2320
#import "FirebaseAppDistribution/Sources/Private/FIRAppDistribution.h"
2421

25-
@protocol SFSafariViewControllerDelegate;
26-
2722
NS_ASSUME_NONNULL_BEGIN
2823

2924
/**
@@ -65,5 +60,3 @@ typedef void (^AppDistributionRegistrationFlowCompletion)(NSError *_Nullable err
6560
@end
6661

6762
NS_ASSUME_NONNULL_END
68-
69-
#endif

FirebaseAppDistribution/Sources/FIRAppDistributionUIService.m

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
#import <TargetConditionals.h>
16-
#if TARGET_OS_IOS
17-
1815
#import "FirebaseAppDistribution/Sources/FIRAppDistributionUIService.h"
1916
#import "FirebaseAppDistribution/Sources/FIRFADLogger.h"
2017
#import "FirebaseAppDistribution/Sources/Public/FirebaseAppDistribution/FIRAppDistribution.h"
@@ -267,5 +264,3 @@ - (ASPresentationAnchor)presentationAnchorForWebAuthenticationSession:
267264
}
268265

269266
@end
270-
271-
#endif

Package.swift

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -756,7 +756,10 @@ let package = Package(
756756
dependencies: [
757757
"FirebaseAuth",
758758
"FirebaseABTesting",
759-
"FirebaseAppDistribution",
759+
.target(name: "FirebaseAnalytics",
760+
condition: .when(platforms: [.iOS])),
761+
.target(name: "FirebaseAppDistribution",
762+
condition: .when(platforms: [.iOS])),
760763
"Firebase",
761764
"FirebaseCrashlytics",
762765
"FirebaseCore",
@@ -798,7 +801,10 @@ let package = Package(
798801
dependencies: [
799802
"FirebaseAuth",
800803
"FirebaseABTesting",
801-
"FirebaseAppDistribution",
804+
.target(name: "FirebaseAnalytics",
805+
condition: .when(platforms: [.iOS])),
806+
.target(name: "FirebaseAppDistribution",
807+
condition: .when(platforms: [.iOS])),
802808
"Firebase",
803809
"FirebaseCrashlytics",
804810
"FirebaseCore",

SwiftPMTests/objc-import-test/objc-header.m

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@
1414

1515
#import "Firebase.h"
1616
#import "FirebaseABTesting/FirebaseABTesting.h"
17+
#if TARGET_OS_IOS
18+
#import "FirebaseAnalytics/FirebaseAnalytics.h"
1719
#import "FirebaseAppDistribution/FirebaseAppDistribution.h"
20+
#endif
1821
#import "FirebaseAuth/FirebaseAuth.h"
1922
#import "FirebaseCore/FirebaseCore.h"
2023
#import "FirebaseCrashlytics/FirebaseCrashlytics.h"
@@ -30,7 +33,11 @@
3033

3134
#import <Firebase.h>
3235
#import <FirebaseABTesting/FirebaseABTesting.h>
36+
#import <TargetConditionals.h>
37+
#if TARGET_OS_IOS
38+
#import <FirebaseAnalytics/FirebaseAnalytics.h>
3339
#import <FirebaseAppDistribution/FirebaseAppDistribution.h>
40+
#endif
3441
#import <FirebaseAuth/FirebaseAuth.h>
3542
#import <FirebaseCore/FirebaseCore.h>
3643
#import <FirebaseCrashlytics/FirebaseCrashlytics.h>

SwiftPMTests/objc-import-test/objc-module.m

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@
1414

1515
@import FirebaseAuth;
1616
@import FirebaseABTesting;
17+
#if TARGET_OS_IOS
18+
@import FirebaseAnalytics;
1719
@import FirebaseAppDistribution;
20+
#endif
1821
@import Firebase;
1922
@import FirebaseCrashlytics;
2023
@import FirebaseCore;

SwiftPMTests/swift-test/main.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@ import Firebase
1717
import FirebaseCore
1818
import FirebaseAuth
1919
import FirebaseABTesting
20-
import FirebaseAppDistribution
20+
#if os(iOS)
21+
import FirebaseAnalytics
22+
import FirebaseAppDistribution
23+
#endif
2124
import FirebaseCrashlytics
2225
import FirebaseDynamicLinks
2326
import FirebaseFirestore
@@ -61,6 +64,6 @@ class importTest: XCTestCase {
6164
XCTAssertNotNil(Int(versionParts[1]))
6265
XCTAssertNotNil(Int(versionParts[2]))
6366

64-
print("System version? Answer: \(GULAppEnvironmentUtil.systemVersion() ?? "NONE")")
67+
print("System version? Answer: \(GULAppEnvironmentUtil.systemVersion())")
6568
}
6669
}

0 commit comments

Comments
 (0)