Buck vs Please: What are the differences?
Developers describe Buck as "A build system developed and used by Facebook". Buck encourages the creation of small, reusable modules consisting of code and resources, and supports a variety of languages on many platforms. On the other hand, Please is detailed as "A Cross-Language Build System". Please is a cross-language build system with an emphasis on high performance, extensibility and reproduceability. It supports a number of popular languages and can automate nearly any aspect of your build process.
Buck and Please can be primarily classified as "Java Build" tools.
Some of the features offered by Buck are:
- Speed up your Android builds. Buck builds independent artifacts in parallel to take advantage of multiple cores. Further, it reduces incremental build times by keeping track of unchanged modules so that the minimal set of modules is rebuilt.
- Introduce ad-hoc build steps for building artifacts that are not supported out-of-the-box using the standard Ant build scripts for Android.
- Keep the logic for generating build rules in the build system instead of requiring a separate system to generate build files.
On the other hand, Please provides the following key features:
- Build files
- Build targets
- Build labels
Buck and Please are both open source tools. It seems that Buck with 6.81K GitHub stars and 1.02K forks on GitHub has more adoption than Please with 811 GitHub stars and 76 GitHub forks.