blob: be9cf1f315db32b9ce35234bc3eac503756728e2 [file] [log] [blame]
{namespace buck.project}
{template .soyweb}
{param title: 'buck project' /}
{param content}
{call buck.command}
{param overview}
Generates the configuration files for an IDE to build the project using that
Currently, only IntelliJ is supported.
This command processes all of the {call buck.project_config /} rules across all
of the BUCK files and uses them to generate the configuration files for an IDE.
In the case of IntelliJ, the generated files include:
{sp}<code>.idea/libraries&#x2F;*.xml</code>, each of which defines a library
in IntelliJ. A library always corresponds to
a {call buck.prebuilt_jar /}.
{sp}<code>.iml</code> files, each of which defines a module in IntelliJ. An
{sp}<code>.iml</code> file will be created in each directory with
a <a href="{ROOT}concept/build_file.html"><code>BUCK</code></a> file that
has a {call buck.project_config /}.
A module can depend on other modules, as well as libraries.
{sp}<code>.idea/modules.xml</code>, which lists all of the IntelliJ modules
in the project.
Therefore, running <code>buck project</code> creates all of the above files for
IntelliJ in-place in the repository. This is unlike other Buck commands that
generate outputs in separate directories that will be deleted by
running <a href="{ROOT}command/clean.html"><code>buck clean</code></a>.
Note that all files generated by <code>buck project</code> should be listed in
{param params}
{/param} // content
{/call} //