| {namespace buck} |
| |
| /** |
| * @param title |
| * @param? subtitle |
| * @param content |
| * @param? ishome |
| * @param? prettify true if https://code.google.com/p/google-code-prettify/ |
| * should be used. |
| * @param description the content of the og:description meta tag |
| */ |
| {template .page} |
| {call .header} |
| {param ishome: $ishome /} |
| {param title: $title /} |
| {param subtitle: $subtitle /} |
| {param prettify: $prettify /} |
| {param description: $description /} |
| {/call} |
| |
| <div class="{css overview}"> |
| {$content|noAutoescape} |
| </div> |
| |
| {call .footer} |
| {param prettify: $prettify /} |
| {/call} |
| {/template} |
| |
| /** |
| * @param title |
| * @param? subtitle |
| * @param? ishome |
| * @param? prettify true if https://code.google.com/p/google-code-prettify/ |
| * should be used. |
| * @param description the content of the og:description meta tag |
| */ |
| {template .header} |
| {let $fullTitle} |
| Buck: {$title} |
| {/let} |
| <!doctype html> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns#"> |
| <title>{$fullTitle}</title> |
| <link type="image/png" rel="shortcut icon" href="{ROOT}static/favicon.png" /> |
| <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no" /> |
| <meta http-equiv="content-type" content="text/html;charset=utf-8"> |
| {if $prettify} |
| <link type="text/css" |
| rel="stylesheet" |
| href="{ROOT}google-code-prettify/prettify.css" |
| > |
| {/if} |
| // List buck.css second to override prettify. |
| <link type="text/css" rel="stylesheet" href="{ROOT}static/buck.css"> |
| |
| // Google Analytics. |
| <script> |
| (function(i,s,o,g,r,a,m){lb}i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){lb} |
| (i[r].q=i[r].q||[]).push(arguments){rb},i[r].l=1*new Date();a=s.createElement(o), |
| m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) |
| {rb})(window,document,'script','//www.google-analytics.com/analytics.js','ga'); |
| |
| ga('create', 'UA-40185670-1', 'github.io'); |
| ga('send', 'pageview'); |
| </script> |
| |
| // TODO(mbolin): Pass $og_type in as a parameter. |
| {let $og_type} |
| {if $ishome} |
| website |
| {else} |
| article |
| {/if} |
| {/let} |
| |
| <meta property="og:locale" content="en_US"> |
| <meta property="og:title" content="{$title}"> |
| <meta property="og:site_name" content="Buck: a build tool"> |
| <meta property="og:image" content="http://facebook.github.io/buck/static/og.png"> |
| <meta property="og:type" content="{$og_type}"> |
| <meta property="og:description" content="{$description}"> |
| <meta property="fb:admins" content="{FB_APP_ID}"> |
| |
| </head> |
| <body> |
| |
| <div id="fb-root"></div> |
| <script>(function(d, s, id) {lb} |
| var js, fjs = d.getElementsByTagName(s)[0]; |
| if (d.getElementById(id)) return; |
| js = d.createElement(s); js.id = id; |
| js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId={FB_APP_ID}"; |
| fjs.parentNode.insertBefore(js, fjs); |
| {rb}(document, 'script', 'facebook-jssdk'));</script> |
| |
| <header class='topbar'><nav class='width'> |
| <a href='http://facebook.github.io/buck/'><h1>Buck</h1></a> |
| <ul class='menu'> |
| <li><a href='/buck/setup/quick_start.html'>Get Started</a> |
| <li><a href='https://groups.google.com/forum/#!forum/buck-build'>Group</a> |
| <li><a href='/buck/javadoc/'>API</a> |
| <li><a href='https://github.com/facebook/buck'>GitHub</a> |
| </ul> |
| </nav></header> |
| |
| {if $ishome} |
| <header class='hero'><div class='width'> |
| <hgroup> |
| <h1> |
| A high-performance build tool |
| </h1> |
| <a class='button' href='setup/quick_start.html'>Quick Start</a> |
| <a class='button' href='https://github.com/facebook/buck'>GitHub</a> |
| </hgroup> |
| <aside> |
| <img id="super_console_sample" |
| src="{ROOT}static/buck-build-15fps.gif" |
| alt="Chrome Tracing Sample"> |
| </aside> |
| </div></header> |
| {/if} |
| |
| |
| <section class='content'><div class='width'> |
| |
| <article> |
| |
| {if not $ishome} |
| <h1>{$title}{if $subtitle}:<div class="subtitle">{$subtitle}</div>{/if}</h1> |
| {/if} |
| |
| {/template} |
| |
| /** |
| * Consider passing in the path to the URL of the page that the user |
| * is currently on and not hyperlinking that item in the table of contents. |
| */ |
| {template .tableOfContents} |
| <h3>Getting Started</h3> |
| <ul> |
| <li><a href="{ROOT}">Overview</a> |
| <li><a href="{ROOT}setup/quick_start.html">Quick Start</a> |
| <li><a href="{ROOT}setup/install.html">Downloading and Installing Buck</a> |
| <li><a href="{ROOT}article/exopackage.html">Exopackage</a> |
| </ul> |
| <h3>About</h3> |
| <ul> |
| <li><a href="{ROOT}concept/what_makes_buck_so_fast.html">What Makes Buck so Fast?</a> |
| <li><a href="{ROOT}concept/troubleshooting.html">Troubleshooting</a> |
| <li><a href="{ROOT}about/performance_tuning.html">Performance Tuning</a> |
| <li><a href="{ROOT}concept/faq.html">FAQ</a> |
| <li><a href="{ROOT}presentations/">Learn More (Buck Presentations)</a> |
| </ul> |
| <h3>Concepts</h3> |
| <ul> |
| <li><a href="{ROOT}concept/build_rule.html">Build Rule</a> |
| <li><a href="{ROOT}concept/build_target.html">Build Target</a> |
| <li><a href="{ROOT}concept/build_file.html">Build File</a> |
| <li><a href="{ROOT}concept/buckversion.html">.buckversion</a> |
| <li><a href="{ROOT}concept/nobuckcheck.html">.nobuckcheck</a> |
| <li><a href="{ROOT}concept/buckconfig.html">.buckconfig</a> |
| <li><a href="{ROOT}concept/build_target_pattern.html">Build Target Pattern</a> |
| <li><a href="{ROOT}concept/visibility.html">Visibility</a> |
| <li><a href="{ROOT}concept/http_cache_api.html">HTTP Cache API</a> |
| </ul> |
| <h3>Build Rules</h3> |
| <ul> |
| // TODO(mbolin): document android_instrumentation_apk |
| // TODO(mbolin): document robolectric_test |
| {foreach $rule in [ |
| 'android_aar', |
| 'android_binary', |
| 'android_build_config', |
| 'android_library', |
| 'android_prebuilt_aar', |
| 'android_resource', |
| 'apk_genrule', |
| 'cxx_binary', |
| 'cxx_library', |
| 'cxx_test', |
| 'gen_aidl', |
| 'genrule', |
| 'java_binary', |
| 'java_library', |
| 'java_test', |
| 'keystore', |
| 'ndk_library', |
| 'prebuilt_jar', |
| 'prebuilt_native_library', |
| 'project_config', |
| 'python_binary', |
| 'python_library', |
| 'python_test', |
| ]} |
| <li><a href="{ROOT}rule/{$rule}.html">{$rule}()</a> |
| {/foreach} |
| </ul> |
| <h3>Functions</h3> |
| <ul> |
| {foreach $function in [ |
| 'glob', |
| 'include_defs', |
| ]} |
| <li><a href="{ROOT}function/{$function}.html">{$function}()</a> |
| {/foreach} |
| <li><a href="{ROOT}function/string_parameter_macros.html">String Parameter Macros</a> |
| </ul> |
| <h3>Commands</h3> |
| <ul> |
| {foreach $command in [ |
| 'audit', |
| 'build', |
| 'clean', |
| 'install', |
| 'project', |
| 'quickstart', |
| 'targets', |
| 'test', |
| 'uninstall', |
| ]} |
| <li><a href="{ROOT}command/{$command}.html">buck {$command}</a> |
| {/foreach} |
| <li><a href="{ROOT}command/buckd.html">buckd</a> |
| </ul> |
| <h3>Extending Buck</h3> |
| <ul> |
| <li><a href="{ROOT}extending/macros.html">Custom Macros</a> |
| <li><a href="{ROOT}extending/rules.html">Custom Rules</a> |
| </ul> |
| <h3>Contributing to Buck</h3> |
| <ul> |
| <li><a href="https://groups.google.com/group/buck-build">Discussion Group</a> |
| <li><a href="https://github.com/facebook/buck/issues/new">Report a Bug</a> |
| <li><a href="{ROOT}contributing/tour.html">Tour of the Codebase</a> |
| <li><a href="{ROOT}contributing/development.html">Development Workflow</a> |
| <li><a href="{ROOT}contributing/codestyle.html">Code Style</a> |
| <li><a href="{ROOT}contributing/logging.html">Logging</a> |
| <li><a href="{ROOT}contributing/immutables.html">Immutable Value Types</a> |
| <li><a href="{ROOT}javadoc">API</a> |
| <li><a href="https://github.com/facebook/buck">Browse the Source Code</a> |
| </ul> |
| </ul> |
| {/template} |
| |
| /** |
| * @param? prettify true if https://code.google.com/p/google-code-prettify/ |
| * should be used. |
| */ |
| {template .footer} |
| |
| </article> |
| |
| <nav> |
| {call buck.tableOfContents data="all" /} |
| </nav> |
| |
| |
| </div></section> |
| |
| <footer><div class='width'> |
| © Copyright Facebook, 2013 - |
| </div></footer> |
| |
| {if hasData() and $prettify} |
| <script src="{ROOT}google-code-prettify/prettify.js"></script> |
| <script>prettyPrint()</script> |
| {/if} |
| |
| </body> |
| </html> |
| |
| {/template} |
| |
| |
| /** |
| * Used to format an argument to a build rule. |
| * |
| * @param name Name of the argument. |
| * @param? default What the default value should be. If null, the argument is |
| * required. |
| * @param desc Prose description of the argument. |
| */ |
| {template .arg} |
| <li class="{css arg}"><code>{$name}</code> |
| |
| {sp} |
| {if isNonnull($default)} |
| (defaults to <code>{$default}</code>) |
| {else} |
| (required) |
| {/if} |
| {sp} |
| |
| {$desc|noAutoescape} |
| |
| {/template} |
| |
| |
| /** |
| * @param overview HTML description of the rule. |
| * @param status one of FROZEN, UNFROZEN, or DEPRECATED to indicate the |
| current level of support for the rule. |
| * @param args HTML documentation for each arg for the rule. |
| * Should be created using multiple applications of the {buck.arg} |
| * template. |
| * @param? examples HTML documentation that shows examples of the build |
| * rule in action. |
| * @param? furtherexp Further explanation; HTML shown after arguments and |
| examples. |
| */ |
| {template .rule} |
| {switch $status} |
| {case 'FROZEN'} |
| // Nothing to show here. |
| {case 'UNFROZEN'} |
| <p><small>This is liable to change in the future.</small></p> |
| {case 'DEPRECATED'} |
| <p><small>This will be removed in the future.</small></p> |
| {/switch} |
| {$overview|noAutoescape} |
| |
| <h2>Arguments</h2> |
| <ul class="{css arglist}"> |
| {$args|noAutoescape} |
| </ul> |
| |
| {if $examples} |
| <h2>Examples</h2> |
| {$examples|noAutoescape} |
| {/if} |
| {if $furtherexp} |
| {$furtherexp|noAutoescape} |
| {/if} |
| {/template} |
| |
| |
| /** |
| * Used to format an argument to a build rule. |
| * |
| * @param? name Name of the argument. |
| * @param? default What the default value should be. If null, the argument is |
| * required. |
| * @param desc Prose description of the argument. |
| */ |
| {template .functionArg} |
| <li class="{css arg}"> |
| {if $name} |
| <code>{$name}</code>{sp} |
| {/if} |
| |
| {if isNonnull($default)} |
| (defaults to <code>{$default}</code>) |
| {sp} |
| {/if} |
| |
| {$desc|noAutoescape} |
| {/template} |
| |
| |
| /** |
| * Used to format a parameter of a command. |
| * |
| * @param name Name of the parameter. |
| * @param? alias The alias for this parameter. |
| * @param desc Prose description of the parameter. |
| */ |
| {template .param} |
| <li class="{css arg}"><code>--{$name}</code> |
| {sp} |
| {if $alias} |
| <code>(-{$alias})</code> |
| {/if} |
| |
| {sp} |
| {$desc|noAutoescape} |
| |
| {/template} |
| |
| |
| /** |
| * @param overview HTML description of the command. |
| * @param params HTML documentation for each param of the command. |
| * Should be created using multiple applications of the {buck.param} |
| * template. |
| * @param? examples HTML documentation that shows examples of the build |
| * rule in action. |
| */ |
| {template .command} |
| {$overview|noAutoescape} |
| |
| <h2>Parameters</h2> |
| <ul class="{css arglist}"> |
| {$params|noAutoescape} |
| </ul> |
| |
| {if $examples} |
| <h2>Examples</h2> |
| {$examples|noAutoescape} |
| {/if} |
| {/template} |
| |
| |
| /** |
| * @param overview HTML description of the function. |
| * @param args HTML documentation for each arg for the function. |
| * Should be created using multiple applications of the {buck.functionArg} |
| * template. |
| * @param? examples HTML documentation that shows examples of the function |
| * in action. |
| */ |
| {template .function} |
| // For now, functions and build rules should be documented the same way. |
| {call .rule data="all" /} |
| {/template} |
| |
| |
| /** @param name */ |
| {template .ruleLink} |
| <a href="{ROOT}rule/{$name}.html"><code>{$name}</code></a> |
| {/template} |
| |
| |
| /***/ |
| {template .android_binary} |
| {call .ruleLink}{param name : 'android_binary' /}{/call} |
| {/template} |
| |
| /***/ |
| {template .android_build_config} |
| {call .ruleLink}{param name : 'android_build_config' /}{/call} |
| {/template} |
| |
| /***/ |
| {template .android_library} |
| {call .ruleLink}{param name : 'android_library' /}{/call} |
| {/template} |
| |
| /***/ |
| {template .android_prebuilt_aar} |
| {call .ruleLink}{param name : 'android_prebuilt_aar' /}{/call} |
| {/template} |
| |
| /***/ |
| {template .android_resource} |
| {call .ruleLink}{param name : 'android_resource' /}{/call} |
| {/template} |
| |
| /***/ |
| {template .genrule} |
| {call .ruleLink}{param name : 'genrule' /}{/call} |
| {/template} |
| |
| /***/ |
| {template .java_library} |
| {call .ruleLink}{param name : 'java_library' /}{/call} |
| {/template} |
| |
| /***/ |
| {template .keystore} |
| {call .ruleLink}{param name : 'keystore' /}{/call} |
| {/template} |
| |
| /***/ |
| {template .ndk_library} |
| {call .ruleLink}{param name : 'ndk_library' /}{/call} |
| {/template} |
| |
| /***/ |
| {template .prebuilt_jar} |
| {call .ruleLink}{param name : 'prebuilt_jar' /}{/call} |
| {/template} |
| |
| /***/ |
| {template .project_config} |
| {call .ruleLink}{param name : 'project_config' /}{/call} |
| {/template} |
| |
| /***/ |
| {template .python_binary} |
| {call .ruleLink}{param name : 'python_binary' /}{/call} |
| {/template} |
| |
| /***/ |
| {template .python_library} |
| {call .ruleLink}{param name : 'python_library' /}{/call} |
| {/template} |
| |
| /***/ |
| {template .python_test} |
| {call .ruleLink}{param name : 'python_test' /}{/call} |
| {/template} |
| |
| /***/ |
| {template .fn_glob} |
| <a href="{ROOT}function/glob.html"><code>glob()</code></a> |
| {/template} |
| |
| /***/ |
| {template .string_parameter_macros} |
| <a href="{ROOT}function/string_parameter_macros.html">string parameter macros</a> |
| {/template} |
| |
| /** |
| * @param name |
| */ |
| {template .cmd_link} |
| <a href="{ROOT}command/{$name}.html"><code>buck {$name}</code></a> |
| {/template} |
| |
| /***/ |
| {template .cmd_build} |
| {call .cmd_link}{param name : 'build' /}{/call} |
| {/template} |
| |
| /***/ |
| {template .cmd_clean} |
| {call .cmd_link}{param name : 'clean' /}{/call} |
| {/template} |
| |
| /***/ |
| {template .cmd_install} |
| {call .cmd_link}{param name : 'install' /}{/call} |
| {/template} |
| |
| /***/ |
| {template .cmd_project} |
| {call .cmd_link}{param name : 'project' /}{/call} |
| {/template} |
| |
| /***/ |
| {template .cmd_quickstart} |
| {call .cmd_link}{param name : 'quickstart' /}{/call} |
| {/template} |
| |
| /***/ |
| {template .cmd_uninstall} |
| {call .cmd_link}{param name : 'uninstall' /}{/call} |
| {/template} |
| |
| /***/ |
| {template .concept_buckconfig} |
| <a href="{ROOT}concept/buckconfig.html"><code>.buckconfig</code></a> |
| {/template} |
| |
| /***/ |
| {template .visibility_arg} |
| {call buck.arg} |
| {param name : 'visibility' /} |
| {param default : '[]' /} |
| {param desc} |
| List of <a href="{ROOT}concept/build_target_pattern.html">build |
| target patterns</a> that identify the build rules that can include |
| this rule in its <code>deps</code>. |
| {/param} |
| {/call} |
| {/template} |
| |
| /***/ |
| {template .tests_arg} |
| {call buck.arg} |
| {param name : 'tests' /} |
| {param default : '[]' /} |
| {param desc} |
| List of <a href="{ROOT}concept/build_target.html">build target</a> that |
| identify the test rules that exercise this target. |
| {/param} |
| {/call} |
| {/template} |
| |
| /** |
| * |
| */ |
| {template .platformWarning} |
| <p><strong> |
| Note: Buck works only on Mac OS X and Linux. Windows is not supported. |
| </strong></p> |
| {/template} |
| |
| |
| /** |
| * @param? withAlias |
| */ |
| {template .installationInstructions} |
| {literal}<pre> |
| git clone https://github.com/facebook/buck.git |
| cd buck |
| ant{/literal}{\n} |
| {if $withAlias} |
| sudo ln -s ${lb}PWD{rb}/bin/buck /usr/bin/buck |
| {else} |
| ./bin/buck --help |
| {/if} |
| </pre> |
| {/template} |