blob: e2ad8c1ed305c0e4e44a5ef4dcad29039325ce72 [file] [log] [blame]
{namespace buck.buckd}
/***/
{template .soyweb}
{call buck.page}
{param title: 'buckd' /}
{param content}
Starts a buck daemon process
<pre>buckd</pre>
<p>
This command starts a Buck daemon process for the current project in
the current working directory. When running other commands, Buck first
checks for a running daemon process and if found uses that daemon to
execute the command. Using a Buck daemon can save significant
amounts of time as it avoids the overhead of starting a Java virtual
machine, loading the buck class files and parsing the build files for
each command.
</p>
<p>
The buck daemon writes its port, process id and log output to a <code>.buckd</code>{sp}
directory it creates inside the project root directory. Subsequent
buck commands use these files to find the daemon process and the buckd command
uses them to kill any existing daemon process for the project when it is run.
</p>
<p>
It is safe to run several buck daemons started from different project
directories and they will not interfere with each other, making buckd
suitable for use in shared server environments or where several
projects are being worked on concurrently.
</p>
<p>
Buck daemon processes monitor the project file system while running and
invalidate cached build rules if any non source files are changed. Subtrees
within the project file system that are specified via the "ignore" setting of the
"project" section of .buckconfig are excluded from monitoring. Adding
project-specific output directories and source control directories like .git
can significantly improve performance and may be nescessary to avoid file
change overflows when buck daemons are being used to build very large projects.
</p>
{/param} // content
{/call} // buck.page
{/template}