A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages.
Java Python JavaScript C Objective-C Shell Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.idea Add IntelliJ inspection settings Jun 8, 2018
android Fix DelegatingClassloader behavior on Davlik Mar 13, 2018
assets/android Update exopackage agent version number Nov 28, 2017
bin Remove no longer maintained buckd entry point. May 25, 2018
config Update Google formatter for Java files to 1.6. Jun 8, 2018
docs Update document for building IntelliJ plugin (#1914) Jun 9, 2018
pmd Remove unnecessary annotations and remove unused field check in pmd Nov 5, 2017
programs Restart buckd for any NailgunException Jun 8, 2018
py Compute module binary hashes separately from Buck binary hash Dec 4, 2017
python-dsl Make read_config function available from native module. Jun 5, 2018
scripts Update Google formatter for Java files to 1.6. Jun 8, 2018
src-gen Add build-label in the enqueueMinions request. Jun 6, 2018
src/com/facebook/buck D: add config option to set default C/C++ platform to use Jun 9, 2018
test/com/facebook/buck python: including C/C++ platform matches in `platform_*` parameters Jun 9, 2018
third-party add new Java annotation Jun 8, 2018
tools interfaces for classes in core.rules.graphbuilder Jun 5, 2018
.buckconfig use https in buckconfig May 31, 2018
.buckjavaargs Increase heap size. Sep 30, 2016
.buckrelease Update package info for latest release. Mar 26, 2018
.gitattributes Remove vestiges of autodeps build. Apr 6, 2017
.gitignore Make .gitignore more tolerant of individual IntelliJ plugins. May 15, 2018
.inferconfig set the list of external packages May 31, 2018
.travis.yml Install watchman for OS X builds in Travis CI May 14, 2018
.watchmanconfig fixing .watchmanconfig Feb 7, 2018
BUCK Buildify all BUCK files Oct 17, 2017
CONTRIBUTING.md Remove Eclipse project Oct 20, 2017
LICENSE Try to make it easier to determine the license for Buck (Apache 2.0). Apr 30, 2013
README.md Reduce repo size for simple installation May 23, 2018
appveyor.yml always -Djna.nosys=true for running buck Feb 27, 2018
buck-parser-py.iml Use typing module for PEP484 type annotations Mar 15, 2017
buck.iml Update to latest version of JNA to fix initialization deadlock. May 26, 2018
build.gradle Add support for building buck with Gradle. Nov 28, 2017
build.xml add new Java annotation Jun 8, 2018
jitpack.yml Add support for downloading prebuilt binaries of buck via jitpack at … Jan 19, 2018
windows_cxx_support.txt Support for compiling cxx shared libraries on windows (DLLs) Oct 7, 2016
windows_failures.txt Move ActionGraph builders to core.model.actiongraph.computation May 11, 2018

README.md

Buck

Buck is a build tool. To see what Buck can do for you, check out the documentation at http://buckbuild.com/.

Build Status Build status

Installation

First, clone the Buck repository:

git clone --depth 1 https://github.com/facebook/buck.git
cd buck

Since Buck is used to build Buck, the initial build process involves 2 phases:

1. Bootstrap Buck with ant
git clone --depth 1 https://github.com/facebook/buck.git
cd buck
ant
2. Use bootstrapped version of Buck to build Buck:
./bin/buck build --show-output buck
# output will contain something like
# //programs:buck buck-out/gen/programs/buck.pex
buck-out/gen/programs/buck.pex --help
Prebuilt buck binaries

Pre-built binaries of buck for any buck sha can be downloaded from https://jitpack.io/com/github/facebook/buck/<sha>/buck-<sha>.pex. The very first time a version of buck is requested, it is built via jitpack. As a result, it could take a few minutes for this initial binary to become available. Every subsequent request will just serve the built artifact directly. This functionality is available for any fork of buck as well, so you can fetch https://jitpack.io/com/github/<github-user-or-org>/buck/<sha>/buck-<sha>.pex

License

Apache License 2.0