Skip to content
Please note that GitHub no longer supports Internet Explorer.

We recommend upgrading to the latest Microsoft Edge, Google Chrome, or Firefox.

Learn more
A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages.
Branch: master
Clone or download
dinhviethoa and facebook-github-bot Fixed location of the generated workspace
Summary:
Before the diff, when generating a project of a target in a cell, it would put the workspace in the folder
in the main cell and not in the specific cell.

```
$ buck project foobar//path/to:target
```

It would write the workspace to [main-cell-path]/path/to (a) instead of [foobar-cell-path]/path/to (b).
The expected location is (b). Especially, since the project for [foobar-cell-path]/path/to is generated in that folder.

This diff makes sure that the workspace is generated at the correct location when the target is in a cell.

Reviewed By: williamtwilson

fbshipit-source-id: e98c4f159a
Latest commit ac3081b Mar 22, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea Upgrade protobuf to 3.7.0 Mar 19, 2019
android Remove duplicated copyrights Feb 27, 2019
assets/android update agent version and agent.apk file Oct 5, 2018
bin
config Remove unused config/logging.test.properties Mar 5, 2019
docs
pmd Check that System.getenv is not used Dec 4, 2018
programs Support java version in buck package info with older versions of ant Mar 19, 2019
py Remove duplicated copyrights Feb 27, 2019
python-dsl
scripts
src-gen
src/com/facebook/buck
test/com/facebook/buck
third-party
tools
.buckconfig
.buckjavaargs
.buckrelease
.gitattributes Fix some Android resource tests. Jul 31, 2018
.gitignore
.inferconfig bump Infer to faed7dfc7058c534dc52191b1dd1a464b7bbe751 Oct 31, 2018
.travis.yml
.watchmanconfig Rename build output directory to use Buck convention. Aug 10, 2018
BUCK
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE
README.md Add documentation about deprecating features to README Jul 10, 2018
appveyor.yml always -Djna.nosys=true for running buck Feb 27, 2018
buck-parser-py.iml
buck.iml
build.xml
jitpack.yml
windows_cxx_support.txt
windows_failures.txt Fix Python converage tests in ExternalTestRunnerIntegrationTest on Wi… Dec 15, 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

Feature Deprecation

Buck tries to move fast with respect to its internals. However, for user facing features (build rules, command line interface, etc), the Buck team tries to have a graceful deprecation process. Note that this generally applies only to documented functionality, or functionality that is less documented, but appears to be in wide use. That process is:

  • An issue is opened on Github suggesting what will be deprecated, and when it will be removed. For larger features that are deprecated, there may be a period when the default is the new setting, and the old behavior may only be used with a configuration change.
  • A change is submitted to Buck that puts the old behavior behind a configuration flag and sets the default to the old behavior. These flags can be found at https://buckbuild.com/concept/buckconfig.html#incompatible.
  • For larger features, a change eventually is put in place that sets the default to the new behavior. e.g. when Skylark becomes the default build file parser.
  • When the removal date is reached, a change is submitted to remove the feature. At this point, the configuration value will still parse, but will not be used by Buck internally.

License

Apache License 2.0

You can’t perform that action at this time.