Skip to content

Releases: uber/okbuck

v0.46.0

03 Jan 22:14
Compare
Choose a tag to compare

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

v0.45.3

16 Dec 00:05
Compare
Choose a tag to compare

Enhancements

  • Improvements to okbuck performance and memory usage

v0.45.0

29 Nov 03:16
Compare
Choose a tag to compare

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

16 Nov 12:56
Compare
Choose a tag to compare

Enhancements

  • Add ability to choose a subset of robolectric api jars to download (#764)

v0.44.2

15 Nov 09:32
Compare
Choose a tag to compare

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

06 Nov 17:44
Compare
Choose a tag to compare

Enhancements

  • Jetifier support (#749)
    Okbuck now supports running jetifier as part of the buck build. To enable it, use
android.enableJetifier=true

in root project gradle.properties

Bugfixes

  • Use path relativize method and create buck files relative to root project (#751)

v0.44.0

22 Oct 22:59
Compare
Choose a tag to compare

Enhancements

  • Remove compilation classpath from lint targets by default (#742)

Bugfixes

  • Fix manifest-merger --overlays (#744)
  • Fix lint broken on resources (#747)

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

16 Oct 03:30
Compare
Choose a tag to compare

Enhancements

  • Add support for specifying allowLatestVersion & allowLatestForAll (#741) for versionless dependencies
  • Add support for API 28 in robolectric 4.0-alpha-3 (#734)
  • Set project_res attribute to the main res directory for android resource rules (#736)

v0.42.0

03 Oct 00:59
Compare
Choose a tag to compare

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

26 Sep 20:59
Compare
Choose a tag to compare

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 the okbuck extension like so
okbuck {
  transform {
    ...
  }
}