diff --git a/.github/workflows/smoke-checks.yml b/.github/workflows/smoke-checks.yml index cab67ba..db29f77 100644 --- a/.github/workflows/smoke-checks.yml +++ b/.github/workflows/smoke-checks.yml @@ -67,7 +67,7 @@ jobs: if: failure() run: | brew install chargepoint/xcparse/xcparse - xcparse logs fastlane/test_output/StreamCore.xcresult fastlane/test_output/logs/ + xcparse logs fastlane/test_output/StreamCoreTests/StreamCore-Package.xcresult fastlane/test_output/logs/ - uses: actions/upload-artifact@v4 if: failure() with: diff --git a/.slather.yml b/.slather.yml deleted file mode 100644 index 3347d0f..0000000 --- a/.slather.yml +++ /dev/null @@ -1,13 +0,0 @@ -coverage_service: sonarqube_xml -xcodeproj: StreamCore.xcodeproj -scheme: StreamCore -configuration: Debug -build_directory: derived_data/ -source_directory: Sources/ -output_directory: reports -ignore: - - "**/*_Vendor.swift" - - "**/Generated/" - - "**/generated/" - - "**/protobuf/" - - "**/OpenApi/" diff --git a/AGENTS.md b/AGENTS.md index 768d6fd..de28588 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -10,7 +10,7 @@ This repo hosts StreamCore, the internal Swift SDK that provides shared low-leve - Language: Swift 6.0 (strict concurrency enabled — `swift-tools-version:6.0`) - Primary distribution: Swift Package Manager (SPM) -- Project file: `StreamCore.xcodeproj` (used for builds and tests) +- Project file: `Package.swift` only (no Xcode project; CI builds and tests the package the way product SDKs consume it) - Xcode: 16.x or newer (Apple Silicon supported) - Platforms / deployment targets: iOS 13+ (see `Package.swift`; do not lower targets without approval) - CI: GitHub Actions + Fastlane (see `.github/workflows/smoke-checks.yml`) @@ -36,21 +36,19 @@ Scripts/ # Helper scripts ### New files & target membership -When creating new source or resource files, add them to the correct Xcode target(s). Update the project (e.g. `project.pbxproj`) so each new file is included in the appropriate target's "Compile Sources" (or "Copy Bundle Resources" for assets). Match the target(s) used by sibling files in the same directory. Omitting target membership will cause build failures or unused files. +SPM picks up new files from the target's directory under `Sources/` or `Tests/`. There is no project file to update. Resources must be declared in `Package.swift`. ### Local setup (SPM) -1. Open the repository in Xcode (root contains `Package.swift` and `StreamCore.xcodeproj`). -2. Resolve packages. -3. Choose an iOS Simulator (e.g., iPhone 17 Pro) and Build. +1. Open `Package.swift` in Xcode. +2. Choose an iOS Simulator (e.g., iPhone 17 Pro) and Build. ### Schemes -Available shared schemes (under `StreamCore.xcodeproj/xcshareddata/xcschemes/`): +Xcode generates the schemes from `Package.swift`: -- `StreamCore` — builds the core framework -- `StreamCoreUI` — builds the shared UI framework -- `StreamAttachments` — builds the attachments feature module +- `StreamCore-Package` — builds all targets and runs all test targets (CI uses it with `-only-testing`) +- `StreamCore`, `StreamCoreUI`, `StreamAttachments` — build a single library Agents must query existing schemes before invoking xcodebuild. @@ -60,8 +58,7 @@ Build (Debug): ``` xcodebuild \ - -project StreamCore.xcodeproj \ - -scheme StreamCoreUI \ + -scheme StreamCore-Package \ -destination 'platform=iOS Simulator,name=iPhone 17 Pro' \ -configuration Debug build ``` @@ -69,7 +66,9 @@ xcodebuild \ Run tests: ``` -bundle exec fastlane test +bundle exec fastlane test_core device:"iPhone 17 Pro" +bundle exec fastlane test_ui device:"iPhone 17 Pro" +bundle exec fastlane test_attachments device:"iPhone 17 Pro" ``` ### Linting & formatting diff --git a/Gemfile b/Gemfile index ecedb6f..7032784 100644 --- a/Gemfile +++ b/Gemfile @@ -9,7 +9,6 @@ gem 'fastlane', group: :fastlane_dependencies gem 'json' gem 'lefthook' gem 'rubocop', '1.38', group: :rubocop_dependencies -gem 'slather' eval_gemfile('fastlane/Pluginfile') diff --git a/Gemfile.lock b/Gemfile.lock index ec70b15..b9c70f5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,3 +1,11 @@ +GIT + remote: https://github.com/GetStream/fastlane-plugin-stream_actions.git + revision: 28f65c387a7619367c240b6eecde2775658ebe6b + branch: optional-sdk-names + specs: + fastlane-plugin-stream_actions (0.4.17) + xctest_list (= 1.2.1) + GEM remote: https://rubygems.org/ specs: @@ -51,7 +59,6 @@ GEM cork nap open4 (~> 1.3) - clamp (1.3.3) coderay (1.1.3) colored (1.2) colored2 (3.1.2) @@ -164,9 +171,6 @@ GEM bundler fastlane pry - fastlane-plugin-stream_actions (0.4.9) - xctest_list (= 1.2.1) - fastlane-plugin-versioning (0.7.1) fastlane-sirp (1.0.0) sysrandom (~> 1.0) gh_inspector (1.1.3) @@ -231,7 +235,6 @@ GEM method_source (1.1.0) mini_magick (4.13.2) mini_mime (1.1.5) - mini_portile2 (2.8.9) minitest (5.25.5) multi_json (1.17.0) multipart-post (2.4.1) @@ -240,9 +243,6 @@ GEM nap (1.1.0) naturally (2.3.0) nkf (0.2.0) - nokogiri (1.18.9) - mini_portile2 (~> 2.8.2) - racc (~> 1.4) octokit (10.0.0) faraday (>= 1, < 3) sawyer (~> 0.9) @@ -307,12 +307,6 @@ GEM simctl (1.6.10) CFPropertyList naturally - slather (2.8.5) - CFPropertyList (>= 2.2, < 4) - activesupport - clamp (~> 1.3) - nokogiri (>= 1.14.3) - xcodeproj (~> 1.27) sysrandom (1.0.5) terminal-notifier (2.0.0) terminal-table (3.0.2) @@ -349,15 +343,13 @@ DEPENDENCIES danger-commit_lint fastlane fastlane-plugin-lizard - fastlane-plugin-stream_actions (= 0.4.9) - fastlane-plugin-versioning + fastlane-plugin-stream_actions! json lefthook plist rubocop (= 1.38) rubocop-performance rubocop-require_tools - slather xctest_list BUNDLED WITH diff --git a/Githubfile b/Githubfile index b386b36..c0ae5ad 100644 --- a/Githubfile +++ b/Githubfile @@ -6,3 +6,4 @@ export IPSW_VERSION='3.1.592' export SWIFT_LINT_VERSION='0.59.1' export SWIFT_FORMAT_VERSION='0.58.2' export SWIFT_GEN_VERSION='6.5.1' +export XCRESULTPARSER_VERSION='2.2.0' diff --git a/Scripts/bootstrap.sh b/Scripts/bootstrap.sh index fdd7aeb..f7bc3d2 100755 --- a/Scripts/bootstrap.sh +++ b/Scripts/bootstrap.sh @@ -4,7 +4,7 @@ # This script will: # - install SwiftLint, SwiftFormat, SwiftGen # - link git hooks -# - install sonar-scanner if `INSTALL_SONAR` environment variable is provided +# - install sonar-scanner and xcresultparser if `INSTALL_SONAR` environment variable is provided # If you get `zsh: permission denied: ./bootstrap.sh` error, please run `chmod +x bootstrap.sh` first function puts { @@ -68,6 +68,16 @@ if [[ ${INSTALL_SONAR-default} == true ]]; then cd .. mv "fastlane/sonar-scanner-${SONAR_VERSION}-macosx-x64/" fastlane/sonar/ chmod +x ./fastlane/sonar/bin/sonar-scanner + + puts "Install xcresultparser v${XCRESULTPARSER_VERSION}" + DOWNLOAD_URL="https://github.com/a7ex/xcresultparser/releases/download/${XCRESULTPARSER_VERSION}/xcresultparser.zip" + DOWNLOAD_PATH="/tmp/xcresultparser-${XCRESULTPARSER_VERSION}.zip" + BIN_PATH="/usr/local/bin/xcresultparser" + wget "$DOWNLOAD_URL" -O "$DOWNLOAD_PATH" + unzip -o "$DOWNLOAD_PATH" -d /tmp/xcresultparser-${XCRESULTPARSER_VERSION} + sudo mv /tmp/xcresultparser-${XCRESULTPARSER_VERSION}/product/xcresultparser "$BIN_PATH" + sudo chmod +x "$BIN_PATH" + xcresultparser --version fi if [[ ${INSTALL_YEETD-default} == true ]]; then diff --git a/Sources/StreamAttachments/Info.plist b/Sources/StreamAttachments/Info.plist deleted file mode 100644 index cae8a46..0000000 --- a/Sources/StreamAttachments/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - $(PRODUCT_BUNDLE_PACKAGE_TYPE) - CFBundleShortVersionString - 0.16.0 - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - - diff --git a/Sources/StreamCore/Info.plist b/Sources/StreamCore/Info.plist deleted file mode 100644 index cae8a46..0000000 --- a/Sources/StreamCore/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - $(PRODUCT_BUNDLE_PACKAGE_TYPE) - CFBundleShortVersionString - 0.16.0 - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - - diff --git a/Sources/StreamCore/Utils/SystemEnvironment+Version.swift b/Sources/StreamCore/Utils/SystemEnvironment+Version.swift index 3fdb9f3..f109e59 100644 --- a/Sources/StreamCore/Utils/SystemEnvironment+Version.swift +++ b/Sources/StreamCore/Utils/SystemEnvironment+Version.swift @@ -6,5 +6,5 @@ import Foundation enum SystemEnvironment { /// A Stream Core version. - public static let version: String = "0.16.0" + public static let version: String = "0.16.1-test" } diff --git a/Sources/StreamCoreUI/Info.plist b/Sources/StreamCoreUI/Info.plist deleted file mode 100644 index cae8a46..0000000 --- a/Sources/StreamCoreUI/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - $(PRODUCT_BUNDLE_PACKAGE_TYPE) - CFBundleShortVersionString - 0.16.0 - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - - diff --git a/StreamCore.xcodeproj/project.pbxproj b/StreamCore.xcodeproj/project.pbxproj deleted file mode 100644 index 478ee28..0000000 --- a/StreamCore.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1094 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 77; - objects = { - -/* Begin PBXBuildFile section */ - 4F1E6A862E9FB58700BA0F44 /* StreamAttachments.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4F1E6A7D2E9FB58600BA0F44 /* StreamAttachments.framework */; }; - 4F1E6AED2E9FB82900BA0F44 /* StreamCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 845495202DBA3A1300211413 /* StreamCore.framework */; }; - 4F1E6AEE2E9FB82900BA0F44 /* StreamCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 845495202DBA3A1300211413 /* StreamCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 8415DA1B2E462EEF00FEE25F /* StreamCoreUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8415DA0B2E462E9F00FEE25F /* StreamCoreUI.framework */; }; - 845495292DBA3A1300211413 /* StreamCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 845495202DBA3A1300211413 /* StreamCore.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 4F1E6A872E9FB58700BA0F44 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 845495172DBA3A1300211413 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4F1E6A7C2E9FB58600BA0F44; - remoteInfo = StreamAttachments; - }; - 4F1E6AEF2E9FB82900BA0F44 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 845495172DBA3A1300211413 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8454951F2DBA3A1300211413; - remoteInfo = StreamCore; - }; - 8415DA1C2E462EEF00FEE25F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 845495172DBA3A1300211413 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8415DA0A2E462E9F00FEE25F; - remoteInfo = StreamCoreUI; - }; - 842BE6032E463FBB003E2219 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 845495172DBA3A1300211413 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8454951F2DBA3A1300211413; - remoteInfo = StreamCore; - }; - 8454952A2DBA3A1300211413 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 845495172DBA3A1300211413 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8454951F2DBA3A1300211413; - remoteInfo = StreamCore; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 4F1E6AF12E9FB82900BA0F44 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 4F1E6AEE2E9FB82900BA0F44 /* StreamCore.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 4F1E6A7D2E9FB58600BA0F44 /* StreamAttachments.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StreamAttachments.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 4F1E6A852E9FB58700BA0F44 /* StreamAttachmentsTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StreamAttachmentsTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 8415DA0B2E462E9F00FEE25F /* StreamCoreUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StreamCoreUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 8415DA172E462EEF00FEE25F /* StreamCoreUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StreamCoreUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 845495202DBA3A1300211413 /* StreamCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StreamCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 845495282DBA3A1300211413 /* StreamCoreTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StreamCoreTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ - 4F1E6AAF2E9FB5C300BA0F44 /* Exceptions for "Tests" folder in "StreamAttachmentsTests" target */ = { - isa = PBXFileSystemSynchronizedBuildFileExceptionSet; - membershipExceptions = ( - StreamAttachmentsTests/StreamAttachments.xctestplan, - StreamAttachmentsTests/StreamAttachmentsTests.swift, - StreamAttachmentsTests/StreamCDNClient_Tests.swift, - ); - target = 4F1E6A842E9FB58700BA0F44 /* StreamAttachmentsTests */; - }; - 4F911FD02EA7C2DD0085A36B /* Exceptions for "StreamCore" folder in "StreamCore" target */ = { - isa = PBXFileSystemSynchronizedBuildFileExceptionSet; - membershipExceptions = ( - Info.plist, - ); - target = 8454951F2DBA3A1300211413 /* StreamCore */; - }; - 4F911FD12EA7C2E90085A36B /* Exceptions for "StreamCoreUI" folder in "StreamCoreUI" target */ = { - isa = PBXFileSystemSynchronizedBuildFileExceptionSet; - membershipExceptions = ( - Info.plist, - ); - target = 8415DA0A2E462E9F00FEE25F /* StreamCoreUI */; - }; - 4F911FD22EA7C2EC0085A36B /* Exceptions for "StreamAttachments" folder in "StreamAttachments" target */ = { - isa = PBXFileSystemSynchronizedBuildFileExceptionSet; - membershipExceptions = ( - Info.plist, - ); - target = 4F1E6A7C2E9FB58600BA0F44 /* StreamAttachments */; - }; - 829528D02E69CD5200AED807 /* Exceptions for "Tests" folder in "StreamCoreTests" target */ = { - isa = PBXFileSystemSynchronizedBuildFileExceptionSet; - membershipExceptions = ( - StreamAttachmentsTests/StreamAttachments.xctestplan, - StreamAttachmentsTests/StreamAttachmentsTests.swift, - StreamAttachmentsTests/StreamCDNClient_Tests.swift, - StreamCoreUITests/CDN/StreamImageCDN_Tests.swift, - StreamCoreUITests/DesignSystem/DesignSystemTokens_Tests.swift, - ); - target = 845495272DBA3A1300211413 /* StreamCoreTests */; - }; - 8415DA382E4630F800FEE25F /* Exceptions for "Tests" folder in "StreamCoreUITests" target */ = { - isa = PBXFileSystemSynchronizedBuildFileExceptionSet; - membershipExceptions = ( - StreamCoreUITests/CDN/StreamImageCDN_Tests.swift, - StreamCoreUITests/DesignSystem/DesignSystemTokens_Tests.swift, - ); - target = 8415DA162E462EEF00FEE25F /* StreamCoreUITests */; - }; -/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ - -/* Begin PBXFileSystemSynchronizedRootGroup section */ - 4F1E6A7E2E9FB58600BA0F44 /* StreamAttachments */ = { - isa = PBXFileSystemSynchronizedRootGroup; - exceptions = ( - 4F911FD22EA7C2EC0085A36B /* Exceptions for "StreamAttachments" folder in "StreamAttachments" target */, - ); - path = StreamAttachments; - sourceTree = ""; - }; - 4F8C954A2DF8536400996F0D /* Tests */ = { - isa = PBXFileSystemSynchronizedRootGroup; - exceptions = ( - 829528D02E69CD5200AED807 /* Exceptions for "Tests" folder in "StreamCoreTests" target */, - 8415DA382E4630F800FEE25F /* Exceptions for "Tests" folder in "StreamCoreUITests" target */, - 4F1E6AAF2E9FB5C300BA0F44 /* Exceptions for "Tests" folder in "StreamAttachmentsTests" target */, - ); - path = Tests; - sourceTree = ""; - }; - 8415DA0C2E462E9F00FEE25F /* StreamCoreUI */ = { - isa = PBXFileSystemSynchronizedRootGroup; - exceptions = ( - 4F911FD12EA7C2E90085A36B /* Exceptions for "StreamCoreUI" folder in "StreamCoreUI" target */, - ); - path = StreamCoreUI; - sourceTree = ""; - }; - 845495222DBA3A1300211413 /* StreamCore */ = { - isa = PBXFileSystemSynchronizedRootGroup; - exceptions = ( - 4F911FD02EA7C2DD0085A36B /* Exceptions for "StreamCore" folder in "StreamCore" target */, - ); - path = StreamCore; - sourceTree = ""; - }; -/* End PBXFileSystemSynchronizedRootGroup section */ - -/* Begin PBXFrameworksBuildPhase section */ - 4F1E6A7A2E9FB58600BA0F44 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 4F1E6AED2E9FB82900BA0F44 /* StreamCore.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4F1E6A822E9FB58700BA0F44 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 4F1E6A862E9FB58700BA0F44 /* StreamAttachments.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8415DA082E462E9F00FEE25F /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8415DA142E462EEF00FEE25F /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 8415DA1B2E462EEF00FEE25F /* StreamCoreUI.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8454951D2DBA3A1300211413 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 845495252DBA3A1300211413 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 845495292DBA3A1300211413 /* StreamCore.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 4F1E6AEC2E9FB82900BA0F44 /* Frameworks */ = { - isa = PBXGroup; - children = ( - ); - name = Frameworks; - sourceTree = ""; - }; - 845495162DBA3A1300211413 = { - isa = PBXGroup; - children = ( - 845495392DBA3A1E00211413 /* Sources */, - 4F8C954A2DF8536400996F0D /* Tests */, - 4F1E6AEC2E9FB82900BA0F44 /* Frameworks */, - 845495212DBA3A1300211413 /* Products */, - ); - sourceTree = ""; - }; - 845495212DBA3A1300211413 /* Products */ = { - isa = PBXGroup; - children = ( - 845495202DBA3A1300211413 /* StreamCore.framework */, - 845495282DBA3A1300211413 /* StreamCoreTests.xctest */, - 8415DA0B2E462E9F00FEE25F /* StreamCoreUI.framework */, - 8415DA172E462EEF00FEE25F /* StreamCoreUITests.xctest */, - 4F1E6A7D2E9FB58600BA0F44 /* StreamAttachments.framework */, - 4F1E6A852E9FB58700BA0F44 /* StreamAttachmentsTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 845495392DBA3A1E00211413 /* Sources */ = { - isa = PBXGroup; - children = ( - 845495222DBA3A1300211413 /* StreamCore */, - 8415DA0C2E462E9F00FEE25F /* StreamCoreUI */, - 4F1E6A7E2E9FB58600BA0F44 /* StreamAttachments */, - ); - path = Sources; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 4F1E6A782E9FB58600BA0F44 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8415DA062E462E9F00FEE25F /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8454951B2DBA3A1300211413 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 4F1E6A7C2E9FB58600BA0F44 /* StreamAttachments */ = { - isa = PBXNativeTarget; - buildConfigurationList = 4F1E6A902E9FB58700BA0F44 /* Build configuration list for PBXNativeTarget "StreamAttachments" */; - buildPhases = ( - 4F1E6A782E9FB58600BA0F44 /* Headers */, - 4F1E6A792E9FB58600BA0F44 /* Sources */, - 4F1E6A7A2E9FB58600BA0F44 /* Frameworks */, - 4F1E6A7B2E9FB58600BA0F44 /* Resources */, - 4F1E6AF12E9FB82900BA0F44 /* Embed Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 4F1E6AF02E9FB82900BA0F44 /* PBXTargetDependency */, - ); - fileSystemSynchronizedGroups = ( - 4F1E6A7E2E9FB58600BA0F44 /* StreamAttachments */, - ); - name = StreamAttachments; - packageProductDependencies = ( - ); - productName = StreamAttachments; - productReference = 4F1E6A7D2E9FB58600BA0F44 /* StreamAttachments.framework */; - productType = "com.apple.product-type.framework"; - }; - 4F1E6A842E9FB58700BA0F44 /* StreamAttachmentsTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 4F1E6A912E9FB58700BA0F44 /* Build configuration list for PBXNativeTarget "StreamAttachmentsTests" */; - buildPhases = ( - 4F1E6A812E9FB58700BA0F44 /* Sources */, - 4F1E6A822E9FB58700BA0F44 /* Frameworks */, - 4F1E6A832E9FB58700BA0F44 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 4F1E6A882E9FB58700BA0F44 /* PBXTargetDependency */, - ); - name = StreamAttachmentsTests; - packageProductDependencies = ( - ); - productName = StreamAttachmentsTests; - productReference = 4F1E6A852E9FB58700BA0F44 /* StreamAttachmentsTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 8415DA0A2E462E9F00FEE25F /* StreamCoreUI */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8415DA122E462E9F00FEE25F /* Build configuration list for PBXNativeTarget "StreamCoreUI" */; - buildPhases = ( - 8415DA062E462E9F00FEE25F /* Headers */, - 8415DA072E462E9F00FEE25F /* Sources */, - 8415DA082E462E9F00FEE25F /* Frameworks */, - 8415DA092E462E9F00FEE25F /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 842BE6042E463FBB003E2219 /* PBXTargetDependency */, - ); - fileSystemSynchronizedGroups = ( - 8415DA0C2E462E9F00FEE25F /* StreamCoreUI */, - ); - name = StreamCoreUI; - packageProductDependencies = ( - ); - productName = StreamCoreUI; - productReference = 8415DA0B2E462E9F00FEE25F /* StreamCoreUI.framework */; - productType = "com.apple.product-type.framework"; - }; - 8415DA162E462EEF00FEE25F /* StreamCoreUITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8415DA1E2E462EEF00FEE25F /* Build configuration list for PBXNativeTarget "StreamCoreUITests" */; - buildPhases = ( - 8415DA132E462EEF00FEE25F /* Sources */, - 8415DA142E462EEF00FEE25F /* Frameworks */, - 8415DA152E462EEF00FEE25F /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 8415DA1D2E462EEF00FEE25F /* PBXTargetDependency */, - ); - name = StreamCoreUITests; - packageProductDependencies = ( - ); - productName = StreamCoreUITests; - productReference = 8415DA172E462EEF00FEE25F /* StreamCoreUITests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 8454951F2DBA3A1300211413 /* StreamCore */ = { - isa = PBXNativeTarget; - buildConfigurationList = 845495312DBA3A1400211413 /* Build configuration list for PBXNativeTarget "StreamCore" */; - buildPhases = ( - 8454951B2DBA3A1300211413 /* Headers */, - 8454951C2DBA3A1300211413 /* Sources */, - 8454951D2DBA3A1300211413 /* Frameworks */, - 8454951E2DBA3A1300211413 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - fileSystemSynchronizedGroups = ( - 845495222DBA3A1300211413 /* StreamCore */, - ); - name = StreamCore; - packageProductDependencies = ( - ); - productName = StreamCore; - productReference = 845495202DBA3A1300211413 /* StreamCore.framework */; - productType = "com.apple.product-type.framework"; - }; - 845495272DBA3A1300211413 /* StreamCoreTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 845495362DBA3A1400211413 /* Build configuration list for PBXNativeTarget "StreamCoreTests" */; - buildPhases = ( - 845495242DBA3A1300211413 /* Sources */, - 845495252DBA3A1300211413 /* Frameworks */, - 845495262DBA3A1300211413 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 8454952B2DBA3A1300211413 /* PBXTargetDependency */, - ); - fileSystemSynchronizedGroups = ( - 4F8C954A2DF8536400996F0D /* Tests */, - ); - name = StreamCoreTests; - packageProductDependencies = ( - ); - productName = StreamCoreTests; - productReference = 845495282DBA3A1300211413 /* StreamCoreTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 845495172DBA3A1300211413 /* Project object */ = { - isa = PBXProject; - attributes = { - BuildIndependentTargetsInParallel = 1; - LastSwiftUpdateCheck = 2600; - LastUpgradeCheck = 2610; - TargetAttributes = { - 4F1E6A7C2E9FB58600BA0F44 = { - CreatedOnToolsVersion = 26.0.1; - }; - 4F1E6A842E9FB58700BA0F44 = { - CreatedOnToolsVersion = 26.0.1; - }; - 8415DA0A2E462E9F00FEE25F = { - CreatedOnToolsVersion = 16.2; - }; - 8415DA162E462EEF00FEE25F = { - CreatedOnToolsVersion = 16.2; - LastSwiftMigration = 1620; - }; - 8454951F2DBA3A1300211413 = { - CreatedOnToolsVersion = 16.2; - }; - 845495272DBA3A1300211413 = { - CreatedOnToolsVersion = 16.2; - }; - }; - }; - buildConfigurationList = 8454951A2DBA3A1300211413 /* Build configuration list for PBXProject "StreamCore" */; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 845495162DBA3A1300211413; - minimizedProjectReferenceProxies = 1; - preferredProjectObjectVersion = 77; - productRefGroup = 845495212DBA3A1300211413 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 8454951F2DBA3A1300211413 /* StreamCore */, - 845495272DBA3A1300211413 /* StreamCoreTests */, - 8415DA0A2E462E9F00FEE25F /* StreamCoreUI */, - 8415DA162E462EEF00FEE25F /* StreamCoreUITests */, - 4F1E6A7C2E9FB58600BA0F44 /* StreamAttachments */, - 4F1E6A842E9FB58700BA0F44 /* StreamAttachmentsTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 4F1E6A7B2E9FB58600BA0F44 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4F1E6A832E9FB58700BA0F44 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8415DA092E462E9F00FEE25F /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8415DA152E462EEF00FEE25F /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8454951E2DBA3A1300211413 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 845495262DBA3A1300211413 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 4F1E6A792E9FB58600BA0F44 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4F1E6A812E9FB58700BA0F44 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8415DA072E462E9F00FEE25F /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8415DA132E462EEF00FEE25F /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8454951C2DBA3A1300211413 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 845495242DBA3A1300211413 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 4F1E6A882E9FB58700BA0F44 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 4F1E6A7C2E9FB58600BA0F44 /* StreamAttachments */; - targetProxy = 4F1E6A872E9FB58700BA0F44 /* PBXContainerItemProxy */; - }; - 4F1E6AF02E9FB82900BA0F44 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 8454951F2DBA3A1300211413 /* StreamCore */; - targetProxy = 4F1E6AEF2E9FB82900BA0F44 /* PBXContainerItemProxy */; - }; - 8415DA1D2E462EEF00FEE25F /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 8415DA0A2E462E9F00FEE25F /* StreamCoreUI */; - targetProxy = 8415DA1C2E462EEF00FEE25F /* PBXContainerItemProxy */; - }; - 842BE6042E463FBB003E2219 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 8454951F2DBA3A1300211413 /* StreamCore */; - targetProxy = 842BE6032E463FBB003E2219 /* PBXContainerItemProxy */; - }; - 8454952B2DBA3A1300211413 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 8454951F2DBA3A1300211413 /* StreamCore */; - targetProxy = 8454952A2DBA3A1300211413 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 4F1E6A8C2E9FB58700BA0F44 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = EHV7XZLAHA; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_MODULE_VERIFIER = YES; - INFOPLIST_FILE = "$(SRCROOT)/Sources/StreamAttachments/Info.plist"; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; - MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; - PRODUCT_BUNDLE_IDENTIFIER = io.getstream.StreamAttachments; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - STRING_CATALOG_GENERATE_SYMBOLS = YES; - SWIFT_APPROACHABLE_CONCURRENCY = YES; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_INSTALL_MODULE = YES; - SWIFT_INSTALL_OBJC_HEADER = NO; - SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 4F1E6A8D2E9FB58700BA0F44 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = EHV7XZLAHA; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_MODULE_VERIFIER = YES; - INFOPLIST_FILE = "$(SRCROOT)/Sources/StreamAttachments/Info.plist"; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; - MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; - PRODUCT_BUNDLE_IDENTIFIER = io.getstream.StreamAttachments; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - STRING_CATALOG_GENERATE_SYMBOLS = YES; - SWIFT_APPROACHABLE_CONCURRENCY = YES; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_INSTALL_MODULE = YES; - SWIFT_INSTALL_OBJC_HEADER = NO; - SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - 4F1E6A8E2E9FB58700BA0F44 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = EHV7XZLAHA; - GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = io.getstream.StreamAttachmentsTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRING_CATALOG_GENERATE_SYMBOLS = NO; - SWIFT_APPROACHABLE_CONCURRENCY = YES; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 4F1E6A8F2E9FB58700BA0F44 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = EHV7XZLAHA; - GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = io.getstream.StreamAttachmentsTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRING_CATALOG_GENERATE_SYMBOLS = NO; - SWIFT_APPROACHABLE_CONCURRENCY = YES; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - 8415DA0F2E462E9F00FEE25F /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_MODULE_VERIFIER = YES; - INFOPLIST_FILE = "$(SRCROOT)/Sources/StreamCoreUI/Info.plist"; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; - MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; - PRODUCT_BUNDLE_IDENTIFIER = io.getstream.StreamCoreUI; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_INSTALL_OBJC_HEADER = NO; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 8415DA102E462E9F00FEE25F /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_MODULE_VERIFIER = YES; - INFOPLIST_FILE = "$(SRCROOT)/Sources/StreamCoreUI/Info.plist"; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; - MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; - PRODUCT_BUNDLE_IDENTIFIER = io.getstream.StreamCoreUI; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_INSTALL_OBJC_HEADER = NO; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - 8415DA1F2E462EEF00FEE25F /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = io.getstream.StreamCoreUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 8415DA202E462EEF00FEE25F /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = io.getstream.StreamCoreUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - 845495322DBA3A1400211413 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_MODULE_VERIFIER = YES; - INFOPLIST_FILE = "$(SRCROOT)/Sources/StreamCore/Info.plist"; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; - MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; - PRODUCT_BUNDLE_IDENTIFIER = io.getstream.StreamCore; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_INSTALL_OBJC_HEADER = NO; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 845495332DBA3A1400211413 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_MODULE_VERIFIER = YES; - INFOPLIST_FILE = "$(SRCROOT)/Sources/StreamCore/Info.plist"; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; - MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; - PRODUCT_BUNDLE_IDENTIFIER = io.getstream.StreamCore; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_INSTALL_OBJC_HEADER = NO; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - 845495342DBA3A1400211413 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = EHV7XZLAHA; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - STRING_CATALOG_GENERATE_SYMBOLS = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 6.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 845495352DBA3A1400211413 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = EHV7XZLAHA; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - STRING_CATALOG_GENERATE_SYMBOLS = YES; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_VERSION = 6.0; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 845495372DBA3A1400211413 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = io.getstream.StreamCoreTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 845495382DBA3A1400211413 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = io.getstream.StreamCoreTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 4F1E6A902E9FB58700BA0F44 /* Build configuration list for PBXNativeTarget "StreamAttachments" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4F1E6A8C2E9FB58700BA0F44 /* Debug */, - 4F1E6A8D2E9FB58700BA0F44 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 4F1E6A912E9FB58700BA0F44 /* Build configuration list for PBXNativeTarget "StreamAttachmentsTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4F1E6A8E2E9FB58700BA0F44 /* Debug */, - 4F1E6A8F2E9FB58700BA0F44 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8415DA122E462E9F00FEE25F /* Build configuration list for PBXNativeTarget "StreamCoreUI" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8415DA0F2E462E9F00FEE25F /* Debug */, - 8415DA102E462E9F00FEE25F /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8415DA1E2E462EEF00FEE25F /* Build configuration list for PBXNativeTarget "StreamCoreUITests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8415DA1F2E462EEF00FEE25F /* Debug */, - 8415DA202E462EEF00FEE25F /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8454951A2DBA3A1300211413 /* Build configuration list for PBXProject "StreamCore" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 845495342DBA3A1400211413 /* Debug */, - 845495352DBA3A1400211413 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 845495312DBA3A1400211413 /* Build configuration list for PBXNativeTarget "StreamCore" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 845495322DBA3A1400211413 /* Debug */, - 845495332DBA3A1400211413 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 845495362DBA3A1400211413 /* Build configuration list for PBXNativeTarget "StreamCoreTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 845495372DBA3A1400211413 /* Debug */, - 845495382DBA3A1400211413 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 845495172DBA3A1300211413 /* Project object */; -} diff --git a/StreamCore.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/StreamCore.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a..0000000 --- a/StreamCore.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/StreamCore.xcodeproj/xcshareddata/IDETemplateMacros.plist b/StreamCore.xcodeproj/xcshareddata/IDETemplateMacros.plist deleted file mode 100644 index b5bf641..0000000 --- a/StreamCore.xcodeproj/xcshareddata/IDETemplateMacros.plist +++ /dev/null @@ -1,10 +0,0 @@ - - - - - FILEHEADER - -// Copyright © ___YEAR___ Stream.io Inc. All rights reserved. -// - - diff --git a/StreamCore.xcodeproj/xcshareddata/xcschemes/StreamAttachments.xcscheme b/StreamCore.xcodeproj/xcshareddata/xcschemes/StreamAttachments.xcscheme deleted file mode 100644 index e8506c3..0000000 --- a/StreamCore.xcodeproj/xcshareddata/xcschemes/StreamAttachments.xcscheme +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/StreamCore.xcodeproj/xcshareddata/xcschemes/StreamCore.xcscheme b/StreamCore.xcodeproj/xcshareddata/xcschemes/StreamCore.xcscheme deleted file mode 100644 index 1a29c29..0000000 --- a/StreamCore.xcodeproj/xcshareddata/xcschemes/StreamCore.xcscheme +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/StreamCore.xcodeproj/xcshareddata/xcschemes/StreamCoreUI.xcscheme b/StreamCore.xcodeproj/xcshareddata/xcschemes/StreamCoreUI.xcscheme deleted file mode 100644 index 001f9af..0000000 --- a/StreamCore.xcodeproj/xcshareddata/xcschemes/StreamCoreUI.xcscheme +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Tests/StreamAttachmentsTests/StreamAttachments.xctestplan b/Tests/StreamAttachmentsTests/StreamAttachments.xctestplan deleted file mode 100644 index d4a30e3..0000000 --- a/Tests/StreamAttachmentsTests/StreamAttachments.xctestplan +++ /dev/null @@ -1,26 +0,0 @@ -{ - "configurations" : [ - { - "id" : "6B7E5F09-1B38-488C-BAEA-9BCF041BAB2D", - "name" : "Configuration 1", - "options" : { - - } - } - ], - "defaultOptions" : { - "language" : "en", - "region" : "US", - "testTimeoutsEnabled" : true - }, - "testTargets" : [ - { - "target" : { - "containerPath" : "container:StreamCore.xcodeproj", - "identifier" : "4F1E6A842E9FB58700BA0F44", - "name" : "StreamAttachmentsTests" - } - } - ], - "version" : 1 -} diff --git a/Tests/StreamCore-Package.xctestplan b/Tests/StreamCore-Package.xctestplan deleted file mode 100644 index e8de5d3..0000000 --- a/Tests/StreamCore-Package.xctestplan +++ /dev/null @@ -1,39 +0,0 @@ -{ - "configurations" : [ - { - "id" : "81446EE3-2D82-48EC-B604-733CABBFD39B", - "name" : "Configuration 1", - "options" : { - - } - } - ], - "defaultOptions" : { - "language" : "en", - "region" : "US" - }, - "testTargets" : [ - { - "target" : { - "containerPath" : "container:", - "identifier" : "StreamCoreTests", - "name" : "StreamCoreTests" - } - }, - { - "target" : { - "containerPath" : "container:", - "identifier" : "StreamCoreUITests", - "name" : "StreamCoreUITests" - } - }, - { - "target" : { - "containerPath" : "container:", - "identifier" : "StreamAttachmentsTests", - "name" : "StreamAttachmentsTests" - } - } - ], - "version" : 1 -} diff --git a/Tests/StreamCoreTests/StreamCore.xctestplan b/Tests/StreamCoreTests/StreamCore.xctestplan deleted file mode 100644 index cdf8c3b..0000000 --- a/Tests/StreamCoreTests/StreamCore.xctestplan +++ /dev/null @@ -1,26 +0,0 @@ -{ - "configurations" : [ - { - "id" : "3E99132C-0631-473C-9396-C9A968076DFD", - "name" : "Test Scheme Action", - "options" : { - - } - } - ], - "defaultOptions" : { - "language" : "en", - "region" : "US" - }, - "testTargets" : [ - { - "parallelizable" : true, - "target" : { - "containerPath" : "container:StreamCore.xcodeproj", - "identifier" : "845495272DBA3A1300211413", - "name" : "StreamCoreTests" - } - } - ], - "version" : 1 -} diff --git a/Tests/StreamCoreUITests/StreamCoreUI.xctestplan b/Tests/StreamCoreUITests/StreamCoreUI.xctestplan deleted file mode 100644 index 182b9e7..0000000 --- a/Tests/StreamCoreUITests/StreamCoreUI.xctestplan +++ /dev/null @@ -1,25 +0,0 @@ -{ - "configurations" : [ - { - "id" : "5A2B6D63-0972-4DF9-A346-C2380775F973", - "name" : "Configuration 1", - "options" : { - - } - } - ], - "defaultOptions" : { - "language" : "en", - "region" : "US" - }, - "testTargets" : [ - { - "target" : { - "containerPath" : "container:StreamCore.xcodeproj", - "identifier" : "8415DA162E462EEF00FEE25F", - "name" : "StreamCoreUITests" - } - } - ], - "version" : 1 -} diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 936edd5..7ded605 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -7,7 +7,6 @@ require 'net/http' import 'Sonarfile' xcode_version = ENV['XCODE_VERSION'] || '26.2' -xcode_project = 'StreamCore.xcodeproj' sdk_names = ['StreamCore', 'StreamCoreUI', 'StreamAttachments'] github_repo = ENV['GITHUB_REPOSITORY'] || 'GetStream/stream-core-swift' derived_data_path = 'derived_data' @@ -41,7 +40,6 @@ lane :release do |options| release_ios_sdk( version: options[:version], bump_type: options[:type], - sdk_names: sdk_names, github_repo: github_repo, extra_changes: extra_changes, create_pull_request: true, @@ -86,21 +84,21 @@ end desc 'Runs StreamCore tests' lane :test_core do |options| - options[:scheme] = 'StreamCore' + options[:target] = 'StreamCore' options[:sources] = sources_matrix[:core] run_library_tests(options) end desc 'Runs StreamCoreUI tests' lane :test_ui do |options| - options[:scheme] = 'StreamCoreUI' + options[:target] = 'StreamCoreUI' options[:sources] = sources_matrix[:ui] run_library_tests(options) end desc 'Runs StreamAttachments tests' lane :test_attachments do |options| - options[:scheme] = 'StreamAttachments' + options[:target] = 'StreamAttachments' options[:sources] = sources_matrix[:attachments] run_library_tests(options) end @@ -108,15 +106,20 @@ end private_lane :run_library_tests do |options| next unless is_check_required(sources: options[:sources], force_check: @force_check) + test_target = "#{options[:target]}Tests" scan_options = { - project: xcode_project, - scheme: options[:scheme], - testplan: options[:scheme], + package_path: '.', + scheme: 'StreamCore-Package', + only_testing: [test_target], clean: is_localhost, + code_coverage: true, derived_data_path: derived_data_path, cloned_source_packages_path: source_packages_path, devices: options[:device], number_of_retries: 3, + output_directory: "fastlane/test_output/#{test_target}", + parallel_testing: true, + result_bundle: true, skip_build: options[:skip_build], build_for_testing: options[:build_for_testing], xcodebuild_formatter: xcodebuild_formatter @@ -124,7 +127,13 @@ private_lane :run_library_tests do |options| scan(scan_options) - slather if options[:scheme] == 'StreamCore' && !options[:build_for_testing] + next unless options[:target] == 'StreamCore' && !options[:build_for_testing] + + xcresult_path = lane_context[SharedValues::SCAN_GENERATED_XCRESULT_PATH] + project_root = File.expand_path('..') + FileUtils.mkdir_p('../reports') + sh("xcresultparser --coverage --output-format xml --project-root #{project_root.shellescape} " \ + "--coverage-targets StreamCore #{xcresult_path.shellescape} > ../reports/sonarqube-generic-coverage.xml") end desc 'Run fastlane linting' diff --git a/fastlane/Pluginfile b/fastlane/Pluginfile index 0d48495..84f2261 100644 --- a/fastlane/Pluginfile +++ b/fastlane/Pluginfile @@ -2,5 +2,4 @@ # # Ensure this file is checked in to source control! -gem 'fastlane-plugin-versioning' -gem 'fastlane-plugin-stream_actions', '0.4.9' +gem 'fastlane-plugin-stream_actions', git: 'https://github.com/GetStream/fastlane-plugin-stream_actions.git', branch: 'optional-sdk-names' diff --git a/fastlane/Sonarfile b/fastlane/Sonarfile index edea497..a16aebc 100755 --- a/fastlane/Sonarfile +++ b/fastlane/Sonarfile @@ -4,10 +4,7 @@ desc 'Get code coverage report and run complexity analysis for Sonar' lane :sonar_upload do next unless is_check_required(sources: sources_matrix[:core], force_check: @force_check) - version_number = get_version_number( - xcodeproj: 'StreamCore.xcodeproj', - target: 'StreamCore' - )[/\d+\.\d+\.\d/] + version_number = get_sdk_version_from_environment Dir.chdir('..') do sh("./fastlane/sonar/bin/sonar-scanner " \