This repository has been archived by the owner on Nov 10, 2023. It is now read-only.
Releases: facebook/buck
Releases · facebook/buck
v2016.03.07.01
v2016.02.29.01
- An experimental
autodeps
command was added. This currently only works with Java: https://buckbuild.com/command/autodeps.html - The message a user sees when an http cache error is encountered is now configurable: https://buckbuild.com/concept/buckconfig.html#cache.http_error_message_format
genrule
now supports thetests
argument: https://buckbuild.com/rule/genrule.htmlpython_binary
andpython_test
now support thelinker_flags
argument which indicates any flags that should be applied to any links for the build rule. https://buckbuild.com/rule/python_binary.html, https://buckbuild.com/rule/python_test.html- A massive performance win (200x on HFS+ and 20x on ext4) when crawling the filesystem for build files (common during commands like
buck project
orbuck build //...
) when using watchman. This may not be enabled by default for your project, however. See https://buckbuild.com/concept/buckconfig.html#project.build_file_search_method for more details. - Thanks to @mikekap, test selectors now work for
python_test
when usingbuck test
. https://buckbuild.com/command/test.html - Thanks to @janicduplessis,
buck fetch
now properly works on Windows when downloading from a disk-based Maven repository. - Buck will now use
clang
's colors when using the SuperConsole. python_test
rules can now be run withbuck run
.- Thanks to @mikekap, the
library
argument was added togo_test
to automatically use the same values forsrcs
,package
, anddeps
from the specified library. https://buckbuild.com/rule/go_test.html - The disk cache of Buck is now structured differently and performs better as a result on some filesystems.
- The
licenses
argument was added to all build rules. Withbuck query
, one could construct the licenses used by a binary. For example, in the Buck repository:buck query "labels('licenses', deps('buck'))"
- You can now use the
$(location )
macro withprebuilt_cxx_library
. - Thanks to @mikekap, Buck now has CI for Windows (via Appveyor).
- Thanks to @mrkane27, Buck now supports authentication when fetching from Maven repositories. This is controlled by the
[credentials]
section of thebuckconfig
: https://buckbuild.com/concept/buckconfig.html#credentials
v2016.02.08.01
platform_linker_flags
are now supported onapple_binary
: https://buckbuild.com/rule/apple_binary.html- Fixed a bug where Buck is only using the hostname portion of
cache.http_url
for distributed caches. - @mikekap added the ability to make the output of a
genrule
as executable: https://buckbuild.com/rule/genrule.html export_file
was documented: https://buckbuild.com/rule/export_file.html- The directory cache is now enabled by default. @bolinfest noticed that lots of folks who blog about Buck never setup the cache, which is a big speed improvement in itself. Buck now picks a sensible location (
buck-out/cache
) for the cache by default and enables thedir
cache. See https://buckbuild.com/concept/buckconfig.html#cache for more details. - A number of options were added to control the size of the Super Console that Buck outputs. See https://buckbuild.com/concept/buckconfig.html#ui for more details.
v2016.02.01.01
buck project
now removes unused IntelliJ project files when generating a new project- A
read_config
function was added that can be called in build files in order to read a config from the .buckconfig settings. https://buckbuild.com/function/read_config.html - Buck will now properly filter all resources for
android_resource
rules instead of only filtering drawables by DPI. See http://developer.android.com/guide/topics/resources/providing-resources.html for valid resource folders (which are now checked by Buck) and valid DPI qualifiers. - x86_64 Android builds are now supported by Buck
- Fixed a bug that would cause
buck
to hang if you had a build file that didn't parse.
v2016.01.25.01
buck publish
now only publishes CLASSPATH entries intstead of all deps when publishing a JAR- The
.buckconfig
docs have been revamped. You can now link directly to any setting, and the formatting has been changed to be consistent throughout: http://buckbuild.com/concept/buckconfig.html - You can now set the packaging type for a python_binary via a rule parameter in addition to the global setting in
.buckconfig
. Seepackage_style
at https://buckbuild.com/rule/python_binary.html - @DanielGrech fixed
buck quickstart
to generate a valid.hgignore
file - Buck can now enforce the Build Tools version used when compiling Android code. This can be used to avoid the build time regression of
aapt
in 23.0.2: https://buckbuild.com/concept/buckconfig.html#android.build_tools_version, https://code.google.com/p/android/issues/detail?id=198488 - Buck will no longer consider codesign identities which are marked as invalid when building
apple_*
rules.
v2016.01.18.01
- @mikekap fixed Buck parsing the verbosity from a command running with
buck run
buck root
was added: https://buckbuild.com/command/root.html- @mogers added the
buildfile
operator tobuck query
: https://buckbuild.com/command/query.html#buildfile - @mikekap updated Buck to use the latest version of PEX: https://github.com/pantsbuild/pex/
- @davido fixed a number of bugs with cross-cell build targets
- @anorth fixed a bug that prevented Buck from running under Python 3.5
- @davido fixed a long shutdown time issue when parallel parsing is enabled
python_test
now properly handles errors when setting up the test class- Fixed a bug when compiling with clang for NDK builds (assembling would fail)
- @grumpyjames added support for
groovy_library
: https://buckbuild.com/rule/groovy_library.html - Buck can now take an agentpath for the invocation of the ProGuard step. This allows profiling with tools like YourKit and Profiler, which can be useful when trying to determine which optimizations you want to enable for your project. See https://buckbuild.com/concept/buckconfig.html#tools for more details.
buck publish
now checks to make sure a library you are publishing doesn't package a library that another library will also package and publish.
v2015.12.28.01
- Logs from apple_test and java_test tests are now reported after the tests have ran.
- Fixed a bug where Buck was not copying WatchKit stub .ipa which is required for the App Store when submitting a WatchOS 2 app.
- Fixed a bug where Buck would copy Frameworks into Frameworks.
- Improve watchman interaction performance by using Unix domain sockets.
- python.native_link_strategy was added to dictate how native dependencies are linked. See https://buckbuild.com/concept/buckconfig.html#python for more details.
- Buck now properly reports the failure of installation on an iOS device.
v2015.12.14.01
test_rule_timeout_ms
was added forgo_test
andd_test
,sh_test
.- Fixed a bug where unhandled exceptions on background threads would result in a deadlock.
buckd
reliability improvementsbuck run
has been documented: https://buckbuild.com/command/run.html- An issue causing
buck publish
to not work was fixed by @davido on GitHub. - Buck now reports the target that failed when
buck project
fails. - Buck can now parse build files in parallel if you pass
--config project.parallel_parsing=true
on the command line. We expect to make this the default soon, but for now it is considered experimental. https://buckbuild.com/concept/buckconfig.html#project - @LegNeato on GitHub added support for setting read and write HTTP headers when Buck talks to the HTTP cache. https://buckbuild.com/concept/buckconfig.html#cache
v2015.11.30.01
- Added a new type of caching which should improve cache hits of native code.
- test_rule_timeout_ms was added for python_test.
- Various reliability fixes to how Buck communicates over Nailgun
- Reduced Buck's memory usage.
v2015.11.23.01
- Buck now uses a Python version of nailgun so it no longer builds or runs native code in order to use
buckd
. - When running a
java_binary
, the producedjar
would not pass JVM arguments to the child process that actually runs your code. This is now fixed. buck test
had a flag,--ignore-failing-dependencies
, which is now a no-op.- The
soname
field ofcxx_library
is now documented and has added functionality to add a version-aware macro to the field. See https://buckbuild.com/rule/cxx_library.html - An issue where large source files were used in a
cxx_library
caused a Buck crash due to our use ofMappedByteBuffers
was fixed. - Docs were added for
platform_srcs
andplatform_compiler_flags
forapple_*
rules. - Mike Kaplinskiy (@mikekap) added support for setting go.root in a repository: https://buckbuild.com/concept/buckconfig.html#go
- Mike Kaplinskiy (@mikekap) added support to run Buck under
pypy
. - Buck now uses the new parser again as performance is the same as the parser it replaced. There should be no user-visible changes as a result of this, but let us know if you see something wrong.