Skip to content

Releases: uber/okbuck

v0.17.2

09 Feb 23:33
Compare
Choose a tag to compare

Enhancements

  • Dependency classifiers like com.google.dagger:dagger:2.8:tests are now respected correctly by the dependency cache. #375

Bugfixes

  • Fixed a bug with keystore/config files not being copied to the okbuck cache correctly. #386

V0.17.1

04 Feb 01:00
Compare
Choose a tag to compare

Bugfixes

  • Fix an issue when trying to copy in .watchmanconfig

V0.17.0

31 Jan 18:39
Compare
Choose a tag to compare

Enhancements

We are excited to announce support for the Gradle Transform API in Okbuck. Okbuck now supports porting over gradle transform classes to be run during the buck build. You can configure it as follows

okBuck {
...
    experimental {
        transform = true
    }

    transform {
        transforms = [
                'another-app'     : [
                        [
                           transform : "FULL_QUALIFIED_CLASS_NAME",
                           configFile: "CONFIG_FILE_PATH" // optional
                        ]
                ],
        ]
    }
}

dependencies {
    transform TRANSFORM_DEPENDENCY
}

Okbuck transform CLI can create a transform in two ways.

  • A class name with an empty constructor
  • A class name with a java.io.File argument constructor

The file can contain anything in it. The transform can then read the file and parse it in whichever format it wants it in. The file is a way to pass in configuration that is traditionally done via gradle project/extensions.

Notes

  • The android bootclasspath is already passed in the transform invocation as a referenced input jar.
  • The transform step runs before the dex step. Applying a transform disables predexing, slowing down the build. So it is better to create a separate buildType and apply transforms on it so regular development can still be fast.
  • Huge shoutout to @malbano for working on this feature.

V0.16.3

30 Jan 01:53
Compare
Choose a tag to compare

Cleanup

  • Simplify some configuration management
  • Revert adding apt deps always

V0.16.1

30 Jan 00:01
Compare
Choose a tag to compare

Bugfixes

  • Fixed a regression where annotation processor deps were not being written if present.

V0.16.0

29 Jan 22:30
Compare
Choose a tag to compare

Enhancements

  • Add ability to reference resources between main and flavor res directories. This means main and buildType/flavor resources can reference each other correctly. You need to use facebook/buck@3319cd6 or later in .buckversion to get support for this feature and continue using okbuck. This also greatly simplifies the number of android_resource rules and now okbuck only creates one per target regardless of the number of its res and asset directories. #361
  • Only resolve subset of useful configurations during okbuck. The android gradle plugin creates many configurations for every buildType and flavor combination. Even standard configurations may not always be used by projects i.e they may only declare dependencies on a few configurations per project. This change filters out configurations that are useful for building and ignores resolving all possible configurations to speedup okbuck time. #366
  • Bumped default retrolambda version to 2.5.0
  • Use same proguard jar as the android gradle plugin in buck. #363

Bug fixes

  • Better isolation of apt and provided dependencies across targets. This means apt and provided dependencies will no longer leak to testApt and testProvided etc. #365

Breaking Changes

  • You need to use facebook/buck@3319cd6 or later in .buckversion to continue using okbuck.
  • If you were using any custom definitions in your .buckconfig like
[buildfile]
  includes = //custom/DEFS

You will need to move such files to the okbuck extension in the root build.gradle like so

okbuck {
  extraDefs += project.file('custom/DEFS')
}

This is required because okbuck now ships with its own build file definitions and writes them to the buckconfig.local config file. Configuring okbuck correctly will prevent your configuration from being overwritten.

V0.15.7

28 Jan 03:21
Compare
Choose a tag to compare

Enhancements

  • Better watchman queries in the wrapper (#359). To get this benefit, please regenerate your wrappers using ./gradlew buckWrapper. The improvements include faster detection of changes to decide when to run okbuck

Bugfixes

  • Always manifest merge if its an application (1525632). This is required if using the new manifest merger in buck to prevent it from writing bad class names to the manifest when they are not specified as fully qualified.

V0.15.6

26 Jan 23:40
Compare
Choose a tag to compare

Bugfixes

  • Create copies instead of links for config and keystore files (525df7a)
  • Do not create robolectric_test rules for instrumentation source sets (#357)

V0.15.5

25 Jan 22:35
Compare
Choose a tag to compare

Bugfixes

  • Fixes #354
  • Fixes an issue with non fully qualified names in the manifest
  • Fixes a regression with lint by making sure min and target sdk are inserted into processed library manifests

V0.15.4

25 Jan 09:06
Compare
Choose a tag to compare

Bugfixes

  • Fix path of transform configuration file (cc0d1ff)
  • Always recreate symlinks (a53e645)