Releases: uber/okbuck
v0.46.0
Enhancements
- Add support for downloading external dependencies via buck. (#748)
okbuck now delegates downloading dependencies from maven repositories to buck. This is enabled by default, but can be disabled with
okbuck {
externalDependencies {
downloadInBuck = false
}
}
- Add support for Kotlin -Xfriend-paths (#775)
- Add support for reading custom kotlin compiler args (#782)
Bugfixes
- Remove redundant kotlin_home config param target (#779)
Potential Breaking Changes
- Buck version facebook/buck@bd4fe7c or later is required
v0.45.3
v0.45.0
Enhancements
- Enable jetifier for jars (#765)
- Added option to provide custom configuration mapping file for jetifier (#767)
Bugfixes
- Enable resource_union but keeping the original package name (#759)
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"
}
Potential Breaking Changes
- Remove unused
extraDefs
option from okbuckExtension (#768). Please remove this setting in your okbuck extension config if you have it set
v0.44.3
v0.44.2
Enhancements
- Fully switched okBuck to skylark. (#757)
- Added option to okBuck to configure rule overrides compatible with skylark (#752)
Notes
This 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.
v0.44.1
v0.44.0
Enhancements
- Remove compilation classpath from lint targets by default (#742)
Bugfixes
Potential Breaking Changes
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
}
}
v0.43.0
v0.42.0
Enhancements
- Add ability to configure buck's resource_union package name (#731)
Bugfixes
- Pass application package to manifest merger. (#730)
- Refactor package code & fix disable lint logic (#732)
- Add disable lint template flag to turn off lint template for robolectric tests. (#733)
- Delete old .buckconfig.local file for now (#735)
Breaking Changes
okbuck.resourceUnion
(boolean) is now okbuck.resourceUnionPackage
(String). Users using buck's resource union should set this to the union package name.
v0.41.0
Important!
- Please update buck wrapper by running
./gradlew :buckWrapper
as there have been significant changes since the last release. - Please update to a later version of buck as well (facebook/buck@aec4246 or later) to ensure compatibility
Enhancements
- Add support to output version-less dependencies in BUCK files (#689)
- Add ability to filter entries out of android lint classpath (#705)
- Added Visibility configuration support to OkBuck (#708)
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
Bugfixes
- Stop killing buck daemons (#704)
- Remove duplicated android test rules (#706)
- Fixup watch directories and update extension defaults to latest
Potential Breaking Changes
- Move okbuck specific buckconfig outside .buckconfig.local (#698)
Config now resides in.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 - Move okbuck cache to workspace (#712)
okbuck no longer writes symlinks of gradle cached jars to.okbuck/cache
. They are maintained under.okbuck/ext
now and are properly name-spaced in the maven style convention - Move transform out of experimental and remove some dead code (#723)
Transform is no longer experimental. It has graduated to be directly under theokbuck
extension like so
okbuck {
transform {
...
}
}