Skip to content

Commit

Permalink
Updates to SPMFramework to demonstrate cli building and edge cases (#331
Browse files Browse the repository at this point in the history
)

* Prevent collision between type and module on the SPMFramework example
* Enable BUILD_LIBRARY_FOR_DISTRIBUTION on the SPMFramework xcodeproj
* Added Makefile with xcodebuild command to SPMFramework example
* Added some xcschemes to SPMFramework example
* Avoid verification of emitted module interface for the SPMFramework ex
* Revert SPMFramework example retrieving SDK from branch
  • Loading branch information
matux authored Aug 2, 2023
1 parent 6601540 commit 99ae538
Show file tree
Hide file tree
Showing 7 changed files with 88 additions and 45 deletions.
7 changes: 7 additions & 0 deletions Examples/Integration/SPMFramework/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
build:
xcodebuild archive \
-workspace SPMFramework.xcworkspace \
-scheme SPMFramework \
-derivedDataPath "build" \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
OTHER_SWIFT_FLAGS="$(inherited) -no-verify-emitted-module-interface"
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
objects = {

/* Begin PBXBuildFile section */
3B7FEF2C2A7AFA4E000CFD64 /* RollbarNotifier in Frameworks */ = {isa = PBXBuildFile; productRef = 3B7FEF2B2A7AFA4E000CFD64 /* RollbarNotifier */; };
3BCA6D272A69D0C70070C892 /* SPMFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BCA6D262A69D0C70070C892 /* SPMFramework.h */; settings = {ATTRIBUTES = (Public, ); }; };
3BCA6D2F2A69D1050070C892 /* RollbarNotifier in Frameworks */ = {isa = PBXBuildFile; productRef = 3BCA6D2E2A69D1050070C892 /* RollbarNotifier */; };
3BCA6D312A69D1580070C892 /* SPMFramework.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BCA6D302A69D1580070C892 /* SPMFramework.swift */; };
/* End PBXBuildFile section */

Expand All @@ -23,7 +23,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
3BCA6D2F2A69D1050070C892 /* RollbarNotifier in Frameworks */,
3B7FEF2C2A7AFA4E000CFD64 /* RollbarNotifier in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -84,7 +84,7 @@
);
name = SPMFramework;
packageProductDependencies = (
3BCA6D2E2A69D1050070C892 /* RollbarNotifier */,
3B7FEF2B2A7AFA4E000CFD64 /* RollbarNotifier */,
);
productName = SPMFramework;
productReference = 3BCA6D232A69D0C70070C892 /* SPMFramework.framework */;
Expand Down Expand Up @@ -115,7 +115,7 @@
);
mainGroup = 3BCA6D192A69D0C70070C892;
packageReferences = (
3BCA6D2D2A69D1050070C892 /* XCRemoteSwiftPackageReference "rollbar-apple" */,
3B7FEF2A2A7AFA4E000CFD64 /* XCRemoteSwiftPackageReference "rollbar-apple" */,
);
productRefGroup = 3BCA6D242A69D0C70070C892 /* Products */;
projectDirPath = "";
Expand Down Expand Up @@ -152,6 +152,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
Expand Down Expand Up @@ -215,6 +216,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
Expand Down Expand Up @@ -357,20 +359,20 @@
/* End XCConfigurationList section */

/* Begin XCRemoteSwiftPackageReference section */
3BCA6D2D2A69D1050070C892 /* XCRemoteSwiftPackageReference "rollbar-apple" */ = {
3B7FEF2A2A7AFA4E000CFD64 /* XCRemoteSwiftPackageReference "rollbar-apple" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "[email protected]:rollbar/rollbar-apple.git";
requirement = {
branch = integration_examples;
kind = branch;
kind = upToNextMajorVersion;
minimumVersion = 3.1.0;
};
};
/* End XCRemoteSwiftPackageReference section */

/* Begin XCSwiftPackageProductDependency section */
3BCA6D2E2A69D1050070C892 /* RollbarNotifier */ = {
3B7FEF2B2A7AFA4E000CFD64 /* RollbarNotifier */ = {
isa = XCSwiftPackageProductDependency;
package = 3BCA6D2D2A69D1050070C892 /* XCRemoteSwiftPackageReference "rollbar-apple" */;
package = 3B7FEF2A2A7AFA4E000CFD64 /* XCRemoteSwiftPackageReference "rollbar-apple" */;
productName = RollbarNotifier;
};
/* End XCSwiftPackageProductDependency section */
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1430"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "3BCA6D222A69D0C70070C892"
BuildableName = "SPMFramework.framework"
BlueprintName = "SPMFramework"
ReferencedContainer = "container:SPMFramework.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "YES">
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "3BCA6D222A69D0C70070C892"
BuildableName = "SPMFramework.framework"
BlueprintName = "SPMFramework"
ReferencedContainer = "container:SPMFramework.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
"kind" : "remoteSourceControl",
"location" : "[email protected]:rollbar/rollbar-apple.git",
"state" : {
"branch" : "integration_examples",
"revision" : "eb1e002d38dbca25873b3524e11ccdd43841305b"
"revision" : "37b6481208eade23be9cb61bc53b3fb8884d4de2",
"version" : "3.1.0"
}
},
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import SwiftUI
import RollbarNotifier

public struct SPMFramework {
public struct SPMEntryPoint {
public static func start() {
let config = RollbarConfig.mutableConfig(withAccessToken: "[ACCESSTOKEN]")
config.developerOptions.suppressSdkInfoLogging = false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import SPMFramework
@main
struct SPMFrameworkApp: App {
init() {
SPMFramework.start()
SPMEntryPoint.start()
}

var body: some Scene {
Expand Down

0 comments on commit 99ae538

Please sign in to comment.