blob: e8be6ba93e1b544639ba11d881ee4d4520258913 [file] [log] [blame] [view]
monobuild: a combined Studio/IntelliJ source build
===
The monobuild combines the IntelliJ Community project and the Android Studio project
into a single combined IDE build. This can be helpful when working on features that
span both projects (since it quickens the edit/compile/debug cycle significantly).
Usage
---
Run `./generate.py` and then open this directory in IntelliJ.
From there you can launch the Android Studio run configuration as usual.
Limitations
---
* If you change the project structure (e.g. module dependencies) of Studio code, then
you will need to re-run `generate.py` for those changes to take effect in the monobuild.
* If you change the project structure of IntelliJ Platform, then you will need to run `generate.py`
with flag `--rebuild-intellij-module-descriptors` (or update intellij-sdk prebuilts).
* The `generate.py` script is expected to break occasionally, such as when there are new conflicts
between Studio/IntelliJ configuration files. Please spend a few minutes debugging to see if it
is an easy fix. Otherwise, file a bug.
Tips
---
* See the [IntelliJ README](https://github.com/JetBrains/intellij-community/blob/master/README.md)
for IDE build configuration tips.
* To test code changes in `generate.py`, you should diff the generated output against previous runs.
You can utilize `git diff --no-index <before> <after>` for this.
* You can use the "Load/Unload Modules" action in the IDE to exclude any broken modules
(assuming these modules are not needed by the run configurations you care about).