blob: 4965e32010b01caa7d58f586294a33d27bb3c0d5 [file] [log] [blame]
{namespace buck.tour}
/***/
{template .soyweb}
{call buck.page}
{param title: 'Tour of the Codebase' /}
{param prettify: true /}
{param description}
How the Buck repository is organized.
{/param}
{param content}
<p>
This is a high-level overview of how the Buck repository is organized.
<p>
<code>docs/</code>
<br>
Buck's public documentation. The docs on <a href="https://github.com/facebook/buck">
https://github.com/facebook/buck</a> are generated from the files in this directory.
<p>
<code>config/</code>
<br>
This is where configuration files live (currently, this includes only logging configurations).
<p>
<code>src/</code>
<br>
This is where Buck's Java source code lives.
<p>
<code>test/</code>
<br>
This is where tests, both unit and integration tests, should go.
If an integration test needs to create a sample project to run on,
follow the example of creating a <code>testdata</code> directory in
the folder where the integration test code lives and putting each
sample project in its own subdirectory of <code>testdata</code>.
Use <code>com.facebook.buck.testutil.integration.ProjectWorkspace</code> to
drive your integration test.
<p>
<code>testdata/</code>
<br>
This directory is deprecated. See the description of
the <code>test/</code> directory about how to organize test data
for new integration tests.
<p>
<code>third-party/</code>
<br>
This is where third-party dependencies live. These dependencies are
organized by programming language.
<p>
<code>webserver/</code>
<br>
The static content served by Buck's webserver.
(See {call buck.concept_buckconfig /} for details.)
{/param}
{/call}
{/template}