Skip to content

OkBuck Overview

Gautam Korlam edited this page Sep 25, 2016 · 1 revision

To streamline the process of working with buck, the OkBuck gradle plugin automatically generates Buck configuration for gradle based projects. It also automatically downloads all the transitive gradle dependencies to a local cache. This has enabled us to support many of the features that gradle supports natively with buck and do it in a seamless way.

Architecture

OkBuck relies on the various java/android gradle plugins to evaluate and obtain the build model and dependency graph for a given project. It uses this information to create an abstract representation of the same data. This representation can then be transformed into any other format consumable by another build system.

Using this approach, OkBuck generates buck files. Adding support for a new build system like Bazel would only involve writing a new transform layer to perform the necessary conversion to a format understood by it.