OkBuck is a gradle plugin that lets developers utilize the Buck build system on a gradle project.
okbuck {
externalDependencies {
downloadInBuck = false
}
}
okbuck {
// Set to use buck's resource_union behavior with the original package name or the defined by resourceUnionPackage
resourceUnion = true
// Set to use buck's resource_union behavior with an specific package name
resourceUnionPackage = "com.foo"
}
extraDefs
option from okbuckExtension (#768). Please remove this setting in your okbuck extension config if you have it setThis version of okbuck moves all the generated BUCK
files to be skylark compatible (More info). The currently generated files are backwards compatible with the python parser as well.
The Skylark language was specifically created to address the issues mentioned previously—as well as other issues—which is why Skylark will eventually replace the Python DSL as the language for build files and extension files in buck. Unfortunately, migration cannot be fully automated, so if you have custom defs/macros it is advised to migrate them to skylark as okbuck will stop supporting python parser after a few more releases.
android.enableJetifier=true
in root project gradle.properties
While android lint does have the ability to do bytecode analysis (which would require compiling up front), nearly all the bytecode-based checks have been rewritten as source-based checks instead (which has other nice attributes, such as more accurate source position information and being able to run on the fly in the editor for not-yet- or un- compileable code)
From this release, okbuck generated lint targets do not depend on compiling the target before running lint and thus speeds up overall build times. There is an option to retain the old behavior incase lint needs to run on generated code which is generated during annotation processing. This can be enabled via
okbuck {
lint {
useCompilationClasspath = true
}
}
okbuck.resourceUnion
(boolean) is now okbuck.resourceUnionPackage
(String). Users using buck's resource union should set this to the union package name.
./gradlew :buckWrapper
as there have been significant changes since the last release.Several tasks have been moved from okbuck to the buck build which speeds up okbuck execution time and also allows for better caching support
Move manifest merging from okbuck to buck (#700)
Move android lint processing from okbuck to buck (#703)
Move keystore processing to buck (#715)
Move lint config xml processing to buck (#718)
Move proguard config processing to buck (#719)
Add genrule types and remove unused genrule rocker template (#729) This enables queries like ./buckw query "attrfilter(type, 'okbuck_manifest', '//...' )" to get all manifest merging genrules etc.
Updated Android Gradle Plugin to 3.2.0
.okbuck/config
. This means projects can now let users specify overrides in their local .buckconfig.local
file as it is no longer overwritten by okbuck.okbuck/cache
. They are maintained under .okbuck/ext
now and are properly name-spaced in the maven style conventionokbuck
extension like sookbuck {
transform {
...
}
}