Skip to content

Commit d8751b5

Browse files
authored
Update README.md for Firebase pod updater (#4067)
1 parent ac333d1 commit d8751b5

File tree

1 file changed

+36
-16
lines changed

1 file changed

+36
-16
lines changed

ZipBuilder/README.md

Lines changed: 36 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,37 @@
1-
# Firebase Zip File Builder
1+
# Firebase Release Tools
22

3-
This project builds the Firebase iOS Zip file for distribution.
3+
This project includes Firebase release tooling including a zip builder, a
4+
Firebase Pod release updater, and a manifest reader.
45

5-
## Overview
6+
The tools are designed to fail fast with an explanation of what went wrong, so
7+
you can fix issues or dig in without having to dig too deep into the code.
8+
9+
## Zip Builder
610

711
This is a small Swift Package Manager project that allows users to package a Firebase iOS Zip file. With no launch
812
arguments, it will use the most recent public versions of all SDKs included in the zip file.
913

10-
It was designed to fail fast with an explanation of what went wrong, so you can fix issues or dig in without having to dig
11-
too deep into the code.
12-
13-
## Requirements
14+
### Requirements
1415

1516
In order to build the Zip file, you will need:
1617

1718
- Xcode 10.1
1819
- CocoaPods
1920
- An internet connection to fetch CocoaPods
2021

21-
## Running the Tool
22+
### Running the Tool
2223

2324
You can run the tool with `swift run ZipBuilder [ARGS]` or generate an Xcode project with
2425
`swift package generate-xcodeproj` and run within Xcode.
2526

26-
In the near future, releases will be built via a builder server instead of on the release engineer's machine, making these
27-
instructions more of a reference to understand what's going on instead of how to build it yourself.
28-
29-
## Launch Arguments
27+
### Launch Arguments
3028

3129
See `main.swift` and the `LaunchArgs` struct for information on specific launch arguments.
3230

3331
You can pass in launch arguments with Xcode by clicking "ZipBuilder" beside the Run/Stop buttons, clicking "Edit
3432
Scheme" and adding them in the "Arguments Passed On Launch" section.
3533

36-
### Common Arguments
34+
#### Common Arguments
3735

3836
These arguments assume you're running the command from the `ZipBuilder` directory.
3937

@@ -62,19 +60,41 @@ swift run ZipBuilder -templateDir $(pwd)/Template -updatePodRepo false \
6260
-customSpecRepos sso://cpdc-internal/firebase
6361
```
6462

65-
## Carthage
63+
### Carthage
6664

6765
Carthage binaries can also be built at the same time as the zip file by passing in `-carthagePath
6866
<path_to_json_files>` as a command line argument. This directory should contain JSON files describing versions
6967
and download locations for each product. This will result in a folder called "carthage" at the root where the zip
7068
directory exists containing all the zip files and JSON files necessary for distribution.
7169

72-
## Debugging
70+
## Firebase Pod Updater
71+
72+
Updates the Firebase pod based on the release proto.
73+
74+
Run with the following two required options like:
75+
76+
- -releasingPods /path/to/M57.textproto
77+
- -gitRoot /path/to/firebase-ios-sdk
78+
79+
### Running the Tool
80+
81+
You can run the tool with `swift run UpdateFirebasePod [ARGS]` or generate an
82+
Xcode project with `swift package generate-xcodeproj` and run within Xcode.
83+
84+
### Launch Arguments
85+
86+
See `main.swift` and the `LaunchArgs` struct for information on specific launch arguments.
87+
88+
You can pass in launch arguments with Xcode by clicking "UpdateFirebasePod"
89+
beside the Run/Stop buttons, clicking "Edit
90+
Scheme" and adding them in the "Arguments Passed On Launch" section.
91+
92+
## Development and Debugging
7393

7494
You can generate an Xcode project for the tool by running `swift package generate-xcodeproj` in this directory.
7595
See the above instructions for adding Launch Arguments to the Xcode build.
7696

77-
## Priorities
97+
## Development Philosophy
7898

7999
The following section describes the priorities taken while building this tool and should be followed
80100
for any modifications.

0 commit comments

Comments
 (0)