Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stop releasing Swift extension CocoaPods #12107

Merged
merged 1 commit into from
Nov 16, 2023
Merged

Conversation

paulb777
Copy link
Member

10.18.0 will be the last release of the Swift extension CocoaPods. They can continue to be used as no-ops through the lifetime of 10.x. We plan deprecate those pods after the new year.

#no-changelog (follow up to 10.17.0 consolidation changelogs)

@paulb777
Copy link
Member Author

I'll remove the Swift pods from SpecsStaging after this merges

@paulb777 paulb777 enabled auto-merge (squash) November 16, 2023 17:12
@paulb777 paulb777 merged commit b891c92 into master Nov 16, 2023
50 checks passed
@paulb777 paulb777 deleted the pb-stop-swift-ext-pods branch November 16, 2023 18:26
@ncooke3
Copy link
Member

ncooke3 commented Nov 16, 2023

FYI, I did seem remaining references to extension specific logic:

> git grep Swift ReleaseTooling/Sources/
ReleaseTooling/Sources/FirebaseReleaser/InitializeRelease.swift:    updateSwiftPackageVersion(path: gitRoot, version: manifest.version)
ReleaseTooling/Sources/FirebaseReleaser/InitializeRelease.swift:  // This function patches the versions in the Firebase.podspec. It uses Swift instead of sed
ReleaseTooling/Sources/FirebaseReleaser/InitializeRelease.swift:  // TODO: If we keep Swift, consider using Scanner.
ReleaseTooling/Sources/FirebaseReleaser/InitializeRelease.swift:        // TODO: This block is redundant with `updatePodspecs`. Decide to go with Swift or sed.
ReleaseTooling/Sources/FirebaseReleaser/InitializeRelease.swift:  private static func updateSwiftPackageVersion(path: URL, version: String) {
ReleaseTooling/Sources/Utils/ShellUtils.swift:/// when interacting with tools that can't be accessed directly in Swift (i.e. CocoaPods,
ReleaseTooling/Sources/ZipBuilder/CarthageUtils.swift:      if product == "FirebaseAnalyticsSwift" {
ReleaseTooling/Sources/ZipBuilder/CocoaPodUtils.swift:        // for all pods except Firebase and FirebaseCore. The Firebase Swift pods are not yet in the
ReleaseTooling/Sources/ZipBuilder/CocoaPodUtils.swift:           !pod.name.hasSuffix("Swift"),
ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift:    if framework == "FirebaseAppCheck" || framework.hasSuffix("Swift") {
ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift:                // BUILD_LIBRARY_FOR_DISTRIBUTION=YES is necessary for Swift libraries.
ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift:  /// Returns true to fail if building for Carthage and there are Swift modules.
ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift:    // In the case of a mixed language framework, not only are the Swift module
ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift:    // generated Swift header.
ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift:    if makeSwiftModuleMap(thinFrameworks: frameworks,
ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift:  /// Returns true if there are Swift modules.
ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift:  private func makeSwiftModuleMap(thinFrameworks: [URL],
ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift:            let destSwiftModuleDir = destModuleDir
ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift:                let destProjectDir = destSwiftModuleDir.appendingPathComponent("Project")
ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift:                    destSwiftModuleDir
ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift:                  fatalError("Could not copy Swift module file from \(fileURL) to " +
ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift:                    "\(destSwiftModuleDir): \(error)")
ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift:          // If this point is reached, the framework contains a Swift module,
ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift:          // so it's built from either Swift sources or Swift & C Family
ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift:          // Language sources. Frameworks built from only Swift sources will
ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift:          // and the Swift-generated Swift header. If the framework's `Headers`
ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift:            module \(frameworkName).Swift {
ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift:              header "\(frameworkName)-Swift.h"
ReleaseTooling/Sources/ZipBuilder/ZipBuilder.swift:      let (dir, frameworks) = try installAndCopyFrameworks(forPod: "FirebaseAnalyticsSwift",
ReleaseTooling/Sources/ZipBuilder/ZipBuilder.swift:    var metadataDeps = dependencyString(for: "FirebaseAnalyticsSwift",
ReleaseTooling/Sources/ZipBuilder/ZipBuilder.swift:          $0.key != "FirebaseAnalyticsSwift" &&
ReleaseTooling/Sources/ZipBuilder/ZipBuilder.swift:      let folder = pod.key == "GoogleSignInSwiftSupport" ? "GoogleSignIn" :
ReleaseTooling/Sources/ZipBuilder/ZipBuilder.swift:        pod.key.replacingOccurrences(of: "Swift", with: "")

It's not critical we remove them now, though.

@paulb777
Copy link
Member Author

I believe most of these were addressed in #12080

@firebase firebase locked and limited conversation to collaborators Dec 17, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants