|author||Googler <firstname.lastname@example.org>||Mon Feb 24 12:56:39 2020 -0500|
|committer||David Goldman <email@example.com>||Tue Feb 25 10:35:29 2020 -0500|
Use last_downstream_green instead of last_green > last_green refers to the Bazel binary that was built at the most recent commit that passed Bazel CI. Ideally this binary should be very close to Bazel-at-head. > last_downstream_green points to the most recent Bazel binary that builds and tests all downstream projects successfully. We should not blindly use Bazel@HEAD for Tulsi, instead we should use a known commit that works for all downstream projects (including Tulsi). This way, a bug or an incompatible change like bazelbuild/bazel#10829 can be detected when we see Tulsi is green in the main pipeline but red in the downstream pipeline. Close https://github.com/bazelbuild/tulsi/pull/129 PiperOrigin-RevId: 296914365
.bazelrcto see if the Xcode version used by Tulsi is installed locally. If it isn't, feel free to remove the
--xcode_versionflag or modify it as you wish, but note that Tulsi may not build correctly with different versions of Xcode.
build_and_run.sh. This will install Tulsi.app inside ~/Applications.
Tulsi-generated Xcode projects use Bazel to build, not Xcode via xcbuild. This means that many common components of an Xcode project are handled differently than you may be used to. Notable differences:
bazelinvocations, some of which may affect Bazel caching. In order to maximize cache re-use when building from the command line, try using the
user_build.pyscript which is located in the generated xcodeproj at
Tulsi projects contain a few settings which control various behaviors during project generation and builds.
buildflags, customizable per compilation mode (
buildstartup flags, also customizable per compilation mode
fastbuild) used during project generation.
dbg, swap to
optif you normally build Release builds in Xcode (i.e. profiling your app). Setting this improperly shouldn't break your project although it may potentially worsen generation and build performance.
No, swap to
Yesif your project contains Swift (even in its dependencies). Setting this improperly shouldn't break your project although it may potentially worsen generation and build performance.