Skip to content

Commit e22ac3d

Browse files
Use curly quotes where possible in docs (#1737)
We can't use them in stardoc generated docs, as it mangles the encoding of them...
1 parent 052812e commit e22ac3d

File tree

4 files changed

+68
-67
lines changed

4 files changed

+68
-67
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,15 @@ on it, or [file a new issue][file-an-issue]!
4141
- [x] Build your Bazel targets with Bazel (a.k.a Build with Bazel or BwB mode)
4242
- [x] Build your Bazel targets with Xcode, _not_ Bazel
4343
(a.k.a. Build with Xcode or BwX mode)[^bwx_warning]
44-
- [x] It "just works"
44+
- [x] It just works
4545

4646
[^bwx_warning]: Build with Bazel mode is the build mode with first class
4747
support. We will try to make Build with Xcode mode work with every project, but
4848
there are limitations that can
4949
[make the experience subpar](/docs/faq.md#why-do-some-of-my-swift_librarys-compile-twice-in-bwx-mode),
5050
or not work at all. We recommend using BwB mode if possible.
5151

52-
We've also documented the [high-level design goals](/docs/design-goals.md) of
52+
Weve also documented the [high-level design goals](/docs/design-goals.md) of
5353
the ruleset.
5454

5555
## Projects using rules_xcodeproj
@@ -76,7 +76,7 @@ to include it in the list above.
7676
| 1.x | 5.3–6.x | 1.0.1–2.x | 1.x | 13.3–14.x | 12–13.x | `main` |
7777

7878
More versions of these tools and rulesets might be supported, but these are the
79-
ones we've officially tested with.
79+
ones weve officially tested with.
8080

8181
[1]: https://github.com/bazelbuild/rules_apple
8282
[2]: https://github.com/bazelbuild/rules_swift

docs/design-goals.md

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ rules_xcodeproj has a few high level design goals:
88
- The project can be further customized by using additional rules_xcodeproj
99
rules, or by returning certain rules_xcodeproj providers from custom rules
1010
- Outputs are as similar to `bazel build` as possible
11-
- The project feels as "native" in Xcode as possible
11+
- The project feels as native in Xcode as possible
1212
- All definition of a project exists in `BUILD` files
1313
- The project can be configured to use either Xcode or Bazel as the build system
1414

15-
It's also worth mentioning a few non-goals of rules_xcodeproj:
15+
Its also worth mentioning a few non-goals of rules_xcodeproj:
1616

1717
- Providing additional non-`xcodeproj` related build rules
1818
- Changing the way a target builds in order to enable Xcode features
@@ -24,7 +24,7 @@ should build and run. There should be no need to adjust the way your workspace
2424
is built in any way, or define any additional intermediary targets.
2525

2626
Bazel allows for some pretty complicated stuff, and not all of it will
27-
automatically translate neatly into Xcode's world. In those cases the project
27+
automatically translate neatly into Xcodes world. In those cases the project
2828
should still build and run (see how in the [build mode](#multiple-build-modes)
2929
section), but the project might not be in an ideal state (e.g. schemes might not
3030
be the way you want them, or custom rule targets might not be represented
@@ -33,7 +33,7 @@ ideally). This can be addressed through project customization.
3333
## Projects can be customized
3434

3535
As mentioned above, the default state of using just the `xcodeproj` rule might
36-
result in a project that isn't "ideal". While the project should be able to
36+
result in a project that isn’t “ideal. While the project should be able to
3737
build and run without doing anything else, rules_xcodeproj will support project
3838
customization through the use of additional rules and providers.
3939

@@ -45,8 +45,8 @@ build, and if applicable run, those targets. If possible, all of the transitive
4545
dependencies will also individually be buildable and runnable. Default schemes
4646
will be created for each of these Xcode targets.
4747

48-
What if you don't like the way the schemes are created (e.g. too many, with
49-
incorrect options, or not enough targets per scheme)? Or what if you don't want
48+
What if you dont like the way the schemes are created (e.g. too many, with
49+
incorrect options, or not enough targets per scheme)? Or what if you dont want
5050
all of the transitive dependencies represented in Xcode? Or what if you want to
5151
customize how a target is represented, maybe by adding additional Xcode build
5252
settings (e.g. to support
@@ -70,13 +70,13 @@ providers that it creates. The rule then uses that information to shape the
7070
project that it generates.
7171

7272
The `xcodeproj` rule has to make some assumptions about the data it gets, as the
73-
providers from other rules don't have the fidelity needed to perfectly recreate
73+
providers from other rules dont have the fidelity needed to perfectly recreate
7474
a similar Xcode target. rules_xcodeproj will expose providers and associated
7575
helper functions, to allow rules, including your own custom ones, to control how
7676
the `xcodeproj` generates targets. The goal being that a default,
7777
non-customized, project is as natural as possible. Rules that return
7878
rules_xcodeproj providers can choose to expose customization points, similar to
79-
the additional rules mentioned above, but that's not their primary purpose.
79+
the additional rules mentioned above, but thats not their primary purpose.
8080

8181
## Attempts to match the outputs of `bazel build`
8282

@@ -87,12 +87,12 @@ care will need to be taken.
8787

8888
## Native feeling projects
8989

90-
Ideally, you shouldn't be able to tell that a project was generated with
90+
Ideally, you shouldnt be able to tell that a project was generated with
9191
rules_xcodeproj. It should look and feel like any other Xcode project. This
9292
should also be the case regardless of which [build mode](#multiple-build-modes)
9393
is used.
9494

95-
When that isn't the case, and there needs to be a deviation (mainly to [satisfy
95+
When that isnt the case, and there needs to be a deviation (mainly to [satisfy
9696
other constraints](#attempts-to-match-the-outputs-of-bazel-build)), then the
9797
generated project should deviate as little as possible. A [different build
9898
mode](#build-with-bazel-via-proxy) might be required to make the project feel
@@ -122,15 +122,15 @@ Here are a few reasons one may want to build with
122122
Xcode instead of Bazel:
123123

124124
- If a new, possibly beta, version of Xcode is released with a feature that
125-
Build with Bazel doesn't support yet, because one of Bazel, rules_apple,
126-
rules_swift, or rules_xcodeproj doesn't support it
125+
Build with Bazel doesnt support yet, because one of Bazel, rules_apple,
126+
rules_swift, or rules_xcodeproj doesnt support it
127127
- To work around a bug in Bazel, rules_apple, rules_swift, or rules_xcodeproj
128128
- To compare the Bazel and Xcode build systems or build commands
129129
- As a step when migrating to Bazel
130130

131131
### Build with Xcode
132132

133-
In the "Build with Xcode" mode, the generated project will let Xcode orchestrate
133+
In the Build with Xcode mode, the generated project will let Xcode orchestrate
134134
the build. Xcode Build Settings, target dependencies, etc. are all set up to
135135
create a normal Xcode experience.
136136

@@ -139,7 +139,7 @@ possible, some things are done differently than a vanilla Xcode project. In
139139
particular, `BUILT_PRODUCTS_DIR` is set to a nested folder, mirroring the layout
140140
of `bazel-out/`, and various search paths are adjusted to account for this.
141141

142-
There are also aspects of a Bazel build that can't be neatly translated into an
142+
There are also aspects of a Bazel build that cant be neatly translated into an
143143
Xcode concept (though updating rules to supply [rules_xcodeproj
144144
providers](#providers) can help). One that will come up in nearly every project
145145
is code generation. In these situations the project takes on a hybrid approach,
@@ -151,7 +151,7 @@ through the use of [focused project rules](#additional-rules).
151151

152152
### Build with Bazel
153153

154-
In the "Build with Bazel" mode, the generated project will invoke `bazel build`
154+
In the Build with Bazel mode, the generated project will invoke `bazel build`
155155
to perform the actual build, as a root or detached dependency, and then stub
156156
out the build actions that Xcode tries to perform. A version of this method is
157157
detailed [here](https://github.com/kastiglione/bazel-xcode-demo-swift-driver/tree/master/bazel#disabling-xcodes-build)
@@ -165,25 +165,25 @@ This will be the default build mode by the 1.0 release.
165165

166166
### Build with Bazel via Proxy
167167

168-
rules_xcodeproj will support one more build mode called "Build with Bazel via
169-
Proxy". In this mode the generated project will rely on Xcode using an
168+
rules_xcodeproj will support one more build mode called Build with Bazel via
169+
Proxy. In this mode the generated project will rely on Xcode using an
170170
[XCBBuildServiceProxy](https://github.com/MobileNativeFoundation/XCBBuildServiceProxyKit).
171171
This takes the Xcode build system entirely out of the equation, allowing Bazel
172172
to fully control the build.
173173

174-
Here are some benefits that the proxy provides over "Build with Bazel":
174+
Here are some benefits that the proxy provides over Build with Bazel:
175175

176-
- No additional "BazelDependencies" target in the build graph
176+
- No additional `BazelDependencies` target in the build graph
177177
- Removal of duplicate warnings/errors
178178
- More stable Indexing
179179
- User created schemes (without defining bazel rules to create them) work as
180180
expected
181181
- Fully functional progress bar (though there is hope that we can get it to
182-
partially work with "Build with Bazel")
182+
partially work with Build with Bazel)
183183
- Less overhead
184184

185-
With all of these benefits, you may be wondering why "Build with Bazel" will be
186-
the default build mode instead of "Build with Bazel via Proxy". There are two
185+
With all of these benefits, you may be wondering why Build with Bazel will be
186+
the default build mode instead of Build with Bazel via Proxy. There are two
187187
main reasons:
188188

189189
- The proxy relies on a private API that Xcode uses to communicate with
@@ -199,25 +199,25 @@ main reasons:
199199
version of Xcode and not work with other versions.
200200

201201
For some teams the benefits outweigh these inconveniences, and there will always
202-
be the "Build with Bazel" fallback mode in case something goes wrong.
202+
be the Build with Bazel fallback mode in case something goes wrong.
203203

204204
## No additional non-`xcodeproj` related build rules
205205

206-
rules_xcodeproj won't provide additional non-`xcodeproj` related build rules.
206+
rules_xcodeproj wont provide additional non-`xcodeproj` related build rules.
207207
That is to say, the only rules that will be provided are `xcodeproj` and rules
208-
that interact directly with `xcodeproj`. These rules won't modify your build
208+
that interact directly with `xcodeproj`. These rules wont modify your build
209209
graph.
210210

211-
To put it yet another way, rules_xcodeproj won't provide rules that make your
212-
`bazel build` more like Xcode (which is one reason it wasn't named
213-
"rules_xcode"). Those sorts of rules will have to come from other rulesets.
211+
To put it yet another way, rules_xcodeproj wont provide rules that make your
212+
`bazel build` more like Xcode (which is one reason it wasnt named
213+
rules_xcode). Those sorts of rules will have to come from other rulesets.
214214

215-
## Won't change the way a target builds in order to enable Xcode features
215+
## Wont change the way a target builds in order to enable Xcode features
216216

217217
This non-goal stems from restrictions that SwiftUI previews have, in particular
218-
that they aren't supported with static libraries. rules_xcodeproj won't change
218+
that they arent supported with static libraries. rules_xcodeproj wont change
219219
the product type of your target to enable SwiftUI previews; doing so would get
220220
in the way of [previous goals](#attempts-to-match-the-outputs-of-bazel-build).
221221
We will provide guidance on how to change your build yourself and integrate that
222-
change with rules_xcodeproj, but the rules themselves won't make those changes
222+
change with rules_xcodeproj, but the rules themselves wont make those changes
223223
for you.

docs/faq.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ referred to as Build with Bazel (BwB) and Build with Xcode (BwX).
99
## Does the Archive action work?
1010

1111
Currently no effort is put into making the Archive action work correctly.
12-
rules_xcodeproj's primary goal is to support running and debugging of
12+
rules_xcodeprojs primary goal is to support running and debugging of
1313
targets, and might make optimizations that break the generated `.xcarchive` that
1414
the Archive action produces.
1515

@@ -25,7 +25,7 @@ If the transitive closure of dependencies of targets specified by
2525
will be included in the project with those various configurations. This can be
2626
useful/expected, for example having multiple platform versions of a given
2727
`swift_library`. When possible the generated project will have these various
28-
versions of a target consolidated into a single Xcode target. When targets can't
28+
versions of a target consolidated into a single Xcode target. When targets cant
2929
be consolidated, usually because they are functionally equivalent from the point
3030
of view of Xcode, they will be separate Xcode targets.
3131

@@ -40,16 +40,16 @@ need help, reach out to us.
4040

4141
If you have a top level target, such as `ios_application`, and its primary
4242
library dependency is also directly depended on by another top level target,
43-
such as `ios_unit_test`, then we can't merge that library into the first top
44-
level target. When that happens, the first top level target doesn't have any
43+
such as `ios_unit_test`, then we cant merge that library into the first top
44+
level target. When that happens, the first top level target doesnt have any
4545
source files, so we need to add a stub one to allow Xcode to link to the proper
4646
library target.
4747

48-
If this setup isn't desired (e.g. wanting to have the target merged to enable
48+
If this setup isnt desired (e.g. wanting to have the target merged to enable
4949
SwiftUI Previews), there are a couple ways to fix it. For tests, setting the
5050
first top level target as the `test_host` will allow for the library to merge.
5151
In other cases, refactor the build graph to have the shared code in its own
52-
library separate from the top level target's primary library.
52+
library separate from the top level targets primary library.
5353

5454
## Why do some of my `swift_library`s compile twice in BwX mode?
5555

@@ -62,7 +62,7 @@ Possible solutions are:
6262

6363
- Refactoring mixed-language targets to single language targets, removing the
6464
need for the custom modulemap that references the Swift generated header
65-
- Remove the use of header maps (hmaps), or don't include Swift generated
65+
- Remove the use of header maps (hmaps), or dont include Swift generated
6666
headers in them
6767
- Use BwB mode instead
6868

@@ -93,16 +93,16 @@ or inline with their `xcodeproj` target. Wrapping the declarations in a function
9393
is only necessary when sharing a set of custom schemes as is done with the
9494
fixture tests in this repository.
9595

96-
## Why does "X" happen when switching between build modes?
96+
## Why does “X” happen when switching between build modes?
9797

9898
The different build modes configure the project in different ways. Because of
9999
this, if you switch the build mode of a project that has already built
100-
something, the artifacts in Xcode's Derived Data might cause warnings or errors
101-
on subsequent builds. rules_xcodeproj thus doesn't officially support this use
100+
something, the artifacts in Xcodes Derived Data might cause warnings or errors
101+
on subsequent builds. rules_xcodeproj thus doesnt officially support this use
102102
case, and recommends declaring a different [`xcodeproj`](bazel.md#xcodeproj)
103103
target for each build mode if needed.
104104

105-
## Why do I get an error like "Provisioning profile "PROFILE_NAME" is Xcode managed, but signing settings require a manually managed profile"?
105+
## Why do I get an error like Provisioning profile "PROFILE_NAME" is Xcode managed, but signing settings require a manually managed profile?
106106

107107
This error should only occur if `build_mode = "xcode"`. If you are using another
108108
`build_mode`, please report this as a bug.
@@ -132,14 +132,14 @@ Also, the `:provisioning_profile` target needs to be a rule that returns the
132132
and the `team_id` attribute on that provider needs to be set, or `team_id` needs
133133
to be set on the `:xcode_profile` target.
134134

135-
## Why do I get an error like "Xcode couldn't find any provisioning profiles matching 'TEAM_ID/PROFILE_NAME'"?
135+
## Why do I get an error like Xcode couldn't find any provisioning profiles matching 'TEAM_ID/PROFILE_NAME'?
136136

137137
This error should only occur if `build_mode = "xcode"`. If you are using another
138138
`build_mode`, please report this as a bug.
139139

140140
The `provisioning_profile` you have set on your top level target (i.e
141141
`ios_application` and the like) is resolving to a provisioning profile that
142-
hasn't yet been installed to `~/Library/MobileDevice/Provisioning Profiles`.
142+
hasnt yet been installed to `~/Library/MobileDevice/Provisioning Profiles`.
143143
This is common if you use the `local_provisioning_profile` rule and specify
144144
fallback profiles, or if you use specify a profile in the workspace.
145145

0 commit comments

Comments
 (0)