# Tulsi - an Xcode Project Generator For Bazel

<span style="background-color:OldLace; padding:10px">
tulsi - /ˈto͝olsē/  A kind of basil that is venerated by Hindus as a sacred
plant.
</span>

## Building and installing

1.  Open src/Tulsi.xcodeproj, and within Xcode, build the **TulsiApp**.

2.  Run the **TulsiApp**.

## Notes

Tulsi-generated Xcode projects use Bazel to build, rather than Xcode. This means
that many common components of an Xcode project are handled differently than you
may be used to. For example, the Info.plist file is governed entirely by BUILD
rules in Bazel and is not displayed in the Xcode UI.
It also means that 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.

# Tulsi - an Xcode Project Generator For Bazel

<span style="background-color:OldLace; padding:10px">
tulsi - /ˈto͝olsē/  A kind of basil that is venerated by Hindus as a sacred
plant.
</span>

## Building and installing

1.  Open src/Tulsi.xcodeproj, and within Xcode, build the **TulsiApp**.

2.  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.

Update documentation with more known issues
Update documentation with more known issues

PiperOrigin-RevId: 180975662
