Skip to content

Commit 77ba80b

Browse files
authored
[v11] Release tooling should default to building dynamic frameworks (#13261)
1 parent 64fd5c2 commit 77ba80b

File tree

6 files changed

+27
-23
lines changed

6 files changed

+27
-23
lines changed

.github/workflows/zip.yml

+14-12
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ on:
66
- 'ReleaseTooling/Sources/**'
77
- '.github/workflows/zip.yml'
88
- 'scripts/build_non_firebase_sdks.sh'
9+
- 'scripts/build_zip.sh'
10+
- 'scripts/setup_quickstart_framework.sh'
911
- 'Gemfile*'
1012
# Don't run based on any markdown only changes.
1113
- '!ReleaseTooling/*.md'
@@ -45,7 +47,7 @@ jobs:
4547
sh -x scripts/build_zip.sh release_zip_dir \
4648
"${{ github.event.inputs.custom_spec_repos || 'https://github.com/firebase/SpecsStaging.git' }}" \
4749
build-release \
48-
static
50+
dynamic
4951
- uses: actions/upload-artifact@v4
5052
with:
5153
name: Firebase-release-zip-zip
@@ -93,7 +95,7 @@ jobs:
9395
${{ matrix.linking_type }}
9496
- uses: actions/upload-artifact@v4
9597
with:
96-
name: ${{ matrix.linking_type == 'static' && 'Firebase-actions-dir' || 'Firebase-actions-dir-dynamic' }}
98+
name: ${{ matrix.linking_type == 'dynamic' && 'Firebase-actions-dir' || 'Firebase-actions-dir-static' }}
9799
# Zip the entire output directory since the builder adds subdirectories we don't know the
98100
# name of.
99101
path: zip_output_dir
@@ -109,7 +111,7 @@ jobs:
109111
strategy:
110112
matrix:
111113
os: [macos-13, macos-14]
112-
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic]
114+
artifact: [Firebase-actions-dir, Firebase-actions-dir-static]
113115
include:
114116
- os: macos-13
115117
xcode: Xcode_15.2
@@ -171,7 +173,7 @@ jobs:
171173
strategy:
172174
matrix:
173175
os: [macos-13, macos-14]
174-
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic]
176+
artifact: [Firebase-actions-dir, Firebase-actions-dir-static]
175177
include:
176178
- os: macos-13
177179
xcode: Xcode_15.2
@@ -225,7 +227,7 @@ jobs:
225227
strategy:
226228
matrix:
227229
os: [macos-13, macos-14]
228-
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic]
230+
artifact: [Firebase-actions-dir, Firebase-actions-dir-static]
229231
include:
230232
- os: macos-13
231233
xcode: Xcode_15.2
@@ -277,7 +279,7 @@ jobs:
277279
strategy:
278280
matrix:
279281
os: [macos-13, macos-14]
280-
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic]
282+
artifact: [Firebase-actions-dir, Firebase-actions-dir-static]
281283
include:
282284
- os: macos-13
283285
xcode: Xcode_15.2
@@ -353,7 +355,7 @@ jobs:
353355
matrix:
354356
os: [macos-13]
355357
xcode: [Xcode_15.2]
356-
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic]
358+
artifact: [Firebase-actions-dir, Firebase-actions-dir-static]
357359
runs-on: ${{ matrix.os }}
358360
steps:
359361
- uses: actions/checkout@v4
@@ -404,7 +406,7 @@ jobs:
404406
strategy:
405407
matrix:
406408
os: [macos-13, macos-14]
407-
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic]
409+
artifact: [Firebase-actions-dir, Firebase-actions-dir-static]
408410
include:
409411
- os: macos-13
410412
xcode: Xcode_15.2
@@ -464,7 +466,7 @@ jobs:
464466
strategy:
465467
matrix:
466468
os: [macos-13, macos-14]
467-
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic]
469+
artifact: [Firebase-actions-dir, Firebase-actions-dir-static]
468470
include:
469471
- os: macos-13
470472
xcode: Xcode_15.2
@@ -549,7 +551,7 @@ jobs:
549551
strategy:
550552
matrix:
551553
os: [macos-13, macos-14]
552-
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic]
554+
artifact: [Firebase-actions-dir, Firebase-actions-dir-static]
553555
include:
554556
- os: macos-13
555557
xcode: Xcode_15.2
@@ -606,7 +608,7 @@ jobs:
606608
strategy:
607609
matrix:
608610
os: [macos-13, macos-14]
609-
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic]
611+
artifact: [Firebase-actions-dir, Firebase-actions-dir-static]
610612
include:
611613
- os: macos-13
612614
xcode: Xcode_15.2
@@ -662,7 +664,7 @@ jobs:
662664
strategy:
663665
matrix:
664666
os: [macos-13, macos-14]
665-
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic]
667+
artifact: [Firebase-actions-dir, Firebase-actions-dir-static]
666668
include:
667669
- os: macos-13
668670
xcode: Xcode_15.2

FirebaseCore/CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
been removed. See
1414
https://firebase.google.com/docs/ios/swift-migration for migration
1515
instructions.
16+
- [changed] **Breaking change**: Binary release artifacts now contain dynamic
17+
XCFrameworks.
1618

1719
# Firebase 10.25.0
1820
- [changed] Firebase now requires at least Xcode 15.2. See

ReleaseTooling/Sources/ZipBuilder/main.swift

+2-3
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,8 @@ struct ZipBuilderTool: ParsableCommand {
6161
help: ArgumentHelp("A flag for enabling or disabling versions checks for Carthage builds."))
6262
var carthageVersionCheck: Bool
6363

64-
/// A flag that indicates to build dynamic library frameworks. The default is false and static
65-
/// linkage.
66-
@Flag(default: false,
64+
/// A flag that indicates to build dynamic library frameworks. Defaults to true.
65+
@Flag(default: true,
6766
inversion: .prefixedNo,
6867
help: ArgumentHelp("A flag specifying to build dynamic library frameworks."))
6968
var dynamic: Bool

ReleaseTooling/ZipBuilderV2Plan.md

+6-5
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,14 @@ installation, when `--zipPods` is specified a single zip file of frameworks will
5656
* ZipBuilder: -zipPods option (#4422)
5757
* Rename CocoaPod.swift to FirebasePods.swift (#4423)
5858
* Simplify Firebase pod naming (#4428)
59-
60-
## Future Directions
61-
6259
* Binary support for Catalyst
6360
* Migrate to building `.xcframeworks` instead of `.frameworks`
64-
* Other Apple platforms besides iOS
65-
* Swift Package Manager
61+
* Supports building for iOS, macOS, tvOS, macCatalyst, and watchOS
62+
* Support for building resource bundles and privacy manifests
6663
* Dynamic Framework support
64+
65+
## Future Directions
66+
* Support visionOS
67+
* Swift Package Manager based builds
6768
* More option customization
6869
* Tests

scripts/build_zip.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ if [[ "$LINKING_TYPE" == "dynamic" ]]; then
5151
elif [[ "$LINKING_TYPE" == "static" ]]; then
5252
linking_mode="--no-dynamic"
5353
else
54-
echo "Defaulting to `static`."
55-
linking_mode="--no-dynamic"
54+
echo "Defaulting to `dynamic`."
55+
linking_mode="--dynamic"
5656
fi
5757

5858
source_repo=()

scripts/check_firestore_symbols.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ import PackageDescription
9595
9696
let package = Package(
9797
name: "TestPkg",
98-
platforms: [.macOS(.v10_13)],
98+
platforms: [.macOS(.v10_15)],
9999
dependencies: [
100100
.package(path: "${FIREBASE_REPO_PATH}")
101101
],

0 commit comments

Comments
 (0)