Skip to content

v0.51.0

Compare
Choose a tag to compare
@raviagarwal7 raviagarwal7 released this 17 Jul 23:20
· 67 commits to master since this release

Enhancements

  • Generates proguard artifact correctly for proguard version > 7 which uses a different package name (#914)
  • Only creates manifest merger target if the project has an android app or library (#919)
    • This removes the need to download android artifacts when building in a pure java repository.
  • Supports gradle version 5.x, 6.x (#879)
  • Supports android gradle plugin version 3.6.1 (#905)
  • Kotlin version updated to 1.3.72 (#905)
  • Use kotlin compiler zip (https://github.com/JetBrains/kotlin/releases/tag/v1.3.72) to build kotlin modules. (#922)
  • Updated to latest buck version (#922)
  • Faster resolution when using versioned deps and resolving 3rdparty deps only (#920)
// okbuck config
okbuck {
    externalDependencies {
        // enables exported deps resolution
        enableExportedDeps = true
        // only resolves third party deps
        thirdPartyResolutionOnly = true
   }
}

// settings.gradle
include ":tooling:gradle"
include ":tooling:gradle:dummy1"
include ":tooling:gradle:dummy2"
include ":tooling:gradle:dummy3"
include ":tooling:gradle:dummy4"
include ":tooling:gradle:dummy5"

// Add a simple build.gradle file to each dummy project
apply plugin: "java"

// Now the above setup will make a total of 8 projects available to gradle 
// (root-project, :tooling, and the ones defined explicitly) which will be 
// able to parallelize resolving configurations on up to 8 threads.
  • Error-prone and other 3rdparty deps has been updated (#879)

Potential Breaking Changes

  • Buck requires python 3.7.x or up to run.
  • Install watchman or remove watchman as the glob handler from .buckconfig. Otherwise, the build will fail.
// remove these configs
[project]
    glob_handler = watchman
    build_file_search_method = watchman
  • Kotlin version is not automatically detected from the classpath. Default is set to 1.3.72 but you can change it as below
okbuck {
  kotlin {
    version = "1.3.61"
    // You can run ./buckw build .okbuck/workspace/kotlin_home: and 
    // check the error to get the sha256 when changing version.
    compilerZipSha256 = "3901151ad5d94798a268d1771c6c0b7e305a608c2889fc98a674802500597b1c" 
  }
}
  • extraDepCaches has been removed. Use extraDepCachesMap instead.
// Additional dependency caches. Every value "entry" will create a new configuration
// "entryExtraDepCache" that can be used to fetch and cache dependencies. the boolean defines
// weather a prebuilt rule needs to be skipped or not. { "tools": true } skips prebuilt rule for
// all tools dependencies. 
extraDepCachesMap << [tools:false]

Bug Fixes

  • Kotlin Home is downloaded and set correctly as part of buckw run. (#915)
    • Please run ./gradlew buckwrapper to get the latest version of buckw wrapper
    • This step in buckw can be removed once buck natively supports source path for kotlin home (facebook/buck#2121 (comment))
  • Resolved transformed artifacts from transofrm-2 is not included when running with gradle 5.x (#916) (fixes #873)

Full Changelog: v0.50.10...v0.51.0