bazel/tulsi/f7fef0bded13f90c7859b48f558f7d39a71d4fd3 Improve handling of generated files
- Route all gen files through tulsi-includes (instead of the
bazel-genfiles symlink as it normally points to the wrong build
configuration)
- Patch up paths from tulsi-includes to be relative to the bazel
exec root in the project generation phase
- Ensure supporting files and target.files are present in output of
the outputs aspect, otherwise they won't be moved into
tulsi-includes and the files won't show up inside the xcodeproj
even after building
- Remove createGeneratedArtifactFolders, which could wrongly generate
folders under the xcodeproj
PiperOrigin-RevId: 185382827
16 files changed
tree: 20907341a7fc9cb15594b9d9eb05a1481528a2aa
- site/
- src/
- .gitignore
- AUTHORS
- CONTRIBUTING.md
- CONTRIBUTORS
- LICENSE.txt
- README.md
README.md
Tulsi - an Xcode Project Generator For Bazel
Building and installing
Open src/Tulsi.xcodeproj, and within Xcode, build the TulsiApp.
Run the TulsiApp.
Notes
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:
- BUILD files are the source of truth; most changes made to your Xcode project won't affect the build.
- Adding new sources to the Xcode project won't include them in your app; they must be added to BUILD files.
- Changes made to your BUILD files, such as adding new library dependencies, are incorporated automatically when building your generated project. The only time you need to re-run Tulsi is if you want to add additional build targets or have new source files show up in Xcode for editing.
- The Info.plist file is governed entirely by BUILD rules in Bazel and is not displayed in the Xcode UI.
- Changes to compilation flags (i.e. -DHELLO) should be made in the BUILD files in order to affect the build; changes made to compilation settings in the Xcode UI will only affect indexing. You may want to regenerate your project using Tulsi after modifying compilation flags.