| {namespace buck.project} |
| |
| /***/ |
| {template .soyweb} |
| {call buck.page} |
| {param title: 'buck project' /} |
| {param description} |
| A command that generates the configuration files for an IDE to build the |
| project using the IDE. |
| {/param} |
| {param content} |
| |
| |
| {call buck.command} |
| {param overview} |
| Generates the configuration files for an IDE to build the project using that |
| IDE. |
| |
| <p> |
| |
| Currently, only IntelliJ is supported. |
| |
| <p> |
| |
| 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. |
| |
| <p> |
| |
| In the case of IntelliJ, the generated files include: |
| |
| <ul> |
| <li> |
| {sp}<code>.idea/libraries/*.xml</code>, each of which defines a library |
| in IntelliJ. A library always corresponds to |
| a {call buck.prebuilt_jar /}. |
| </li> |
| <li> |
| {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. |
| </li> |
| <li> |
| {sp}<code>.idea/modules.xml</code>, which lists all of the IntelliJ modules |
| in the project. |
| </li> |
| </ul> |
| |
| <p> |
| |
| 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>. |
| |
| <p> |
| |
| Note that all files generated by <code>buck project</code> should be listed in |
| {sp}<code>.gitignore</code>. |
| |
| {/param} |
| |
| {param params} |
| |
| {call buck.param} |
| {param name: 'targets' /} |
| {param desc} |
| The list of targets to build a project for to generate a slice of a project containing only the |
| code for the specified targets. This is useful for large repositories. |
| {/param} |
| {/call} |
| |
| {call buck.param} |
| {param name: '--without-tests' /} |
| {param desc} |
| Indicates that Buck should build a project slice without tests (the default is to include any |
| tests that reference the targets in the project with <code>source_under_test</code>). |
| {/param} |
| {/call} |
| |
| {/param} |
| |
| {/call} |
| |
| {/param} // content |
| {/call} // buck.page |
| {/template} |