Files
Facundo MenzellaandClaude Opus 5.5 afd06bf825 Move rc-maestro to Projects and rename it AutomatedSDKTestsApp (#8190)
* other: move PurchaseTester to Projects

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* other(ci): add a PurchaseTester smoke build with Tuist

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* other: move rc-maestro to Projects

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* other: rename rc-maestro to AutomatedSDKTestsApp

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 15:21:45 +00:00

65 lines
2.4 KiB
Swift

import Foundation
import ProjectDescription
import ProjectDescriptionHelpers
var projects: [Path] = [
"./Examples/MagicWeather/",
"./Examples/MagicWeatherSwiftUI/",
"./Examples/testCustomEntitlementsComputation/",
"./Examples/SampleCat/",
"./Projects/PurchaseTester",
"./Projects/AutomatedSDKTestsApp",
"./Projects/PaywallsTester",
"./Projects/APITesters",
"./Projects/PaywallValidationTester",
"./Projects/PaywallFixtures",
"./Projects/BinarySizeTest",
"./Projects/RCTTester"
]
// These projects depend on external packages (Nimble, SnapshotTesting, OHHTTPStubs, GoogleMobileAds).
// Exclude them when TUIST_INCLUDE_TEST_DEPENDENCIES=false to allow skipping those downloads on CI.
if Environment.includeTestDependencies {
projects.append("./Projects/RevenueCatTests")
projects.append("./Projects/PaywallScreenshotTests")
projects.append("./Projects/RevenueCatAdMob")
projects.append("./Projects/AdMobIntegrationSample")
}
// `RevenueCat` and `RevenueCatUI` ARE exposed as SPM library products consumed via
// `.package(product:)` by the workspace projects. Including the local Tuist projects
// alongside the SPM-resolved ones would produce two definitions of the same framework name
// → "Multiple commands produce" build errors. So they stay gated to `localXcodeProject`.
switch Environment.dependencyMode {
case .localXcodeProject:
projects.append("./Projects/RevenueCat")
projects.append("./Projects/RevenueCatUI")
case .localSwiftPackage, .remoteSwiftPackage, .remoteXcodeProject:
break
}
// Only include XCFrameworkInstallationTests when explicitly enabled via environment variable
// This allows tuist generate to run before xcframeworks are created in CI
// Set TUIST_INCLUDE_XCFRAMEWORK_INSTALLATION_TESTS=true to include it
if Environment.includeXCFrameworkInstallationTests {
projects.append("./Projects/XCFrameworkInstallationTests")
}
var additionalFiles: [FileElement] = [
.glob(pattern: "Global.xcconfig"),
.glob(pattern: "Tests/TestPlans/**/*.xctestplan"),
.glob(pattern: "Tests/RevenueCatUITests/TestPlans/**/*.xctestplan")
]
if FileManager.default.fileExists(atPath: "CI.xcconfig") {
additionalFiles.append(.glob(pattern: "CI.xcconfig"))
}
if FileManager.default.fileExists(atPath: "Local.xcconfig") {
additionalFiles.append(.glob(pattern: "Local.xcconfig"))
}
let workspace = Workspace(
name: "RevenueCat-Tuist",
projects: projects,
additionalFiles: additionalFiles
)