Releases: uber/okbuck
Releases · uber/okbuck
v0.50.0
Enhancements
- Rename external dependency to OExternalDependency (#893)
- Add support for exported with versioned deps (#894)
- Exported deps can be enabled even if the project has multiple versions of the same dependency.
- The resolved dependency graph might not work with BUCK since buck sorts the classpath as a string without taking version information into account.
- This might not work for android projects as it uses
configuration.getResolvedConfiguration()
API which fails on android projects. In that case use ResolutionAction.LATEST extension property to enable using the latest version of every dependency.
okbuck {
externalDependency {
enableExportedDeps = true
// If using android projects
resolutionAction = "latest"
}
}
- Add ability for strict visibility of 3rdparty deps (#895)
- It makes only directly defined deps visible publically, others will have only local visibility.
- This only takes into effect only if exported deps is enabled.
okbuck {
externalDependency {
strictVisibility = true
enableExportedDeps = true
}
}
Bug Fixes
- Use weak references for dep cache (#897)
v0.49.0
Enhancements
- Adding integration tests target to main tests (#878)
- Stricter check for changing dependencies (#881)
Potential Breaking Changes
- If enforcement of changing dependencies is enabled, the configuration may need to be adjusted to account for new changing dependencies
Changing dependencies like [2.2,)
are not visible after configuration resolution but can still cause non hermetic builds. See gradle docs
This version adds a new extension to pick a fixed version when encountering any such dependencies before resolution and during validation. It also adds the ability to ignore changing dependencies if they are resolved with other gradle resolution mechanisms
Example configuration:
okbuck {
dynamicDependencyVersionMap = [
"com.google.guava:guava:19+" : "24.1.1-jre",
"com.google.guava:guava:[10.+,)" : "24.1.1-jre",
"com.google.guava:guava:[14.0, 18.0]" : "18.0",
"ml.dmlc:xgboost4j-spark:0.7-SNAPSHOT" : "0.7",
]
dynamicDependenciesToIgnore = [
"ml.combust.mleap:mleap-xgboost-spark_2.11:0.10.0-SNAPSHOT",
]
}
v0.48.8
v0.48.7
v0.48.6
v0.48.3
V0.48.2
Enhancements
- Added support for reading multiDexEnabled from build type based config (#829)
- Add support for composing api deps in external_deps. (#832)
- Add support for exported_deps for aar & jar prebuilts. (#836)
Bugfixes
- Do not check for lint manifest attributes (#846)
- Delete transform folder only if it is being created (#848)
- Handle empty lint xml config properly (#849)
Potential Breaking Changes
- Compose external dependency processors in external dependency's buck file (#844)
- autoValue extensions need to pre predefined so that okbuck can work without having to infer auto value dependencies & its extensions by looking at the project's apt configuration.
okbuck {
externalDependencies {
autoValueConfigurations = [
"autoValueAnnotations",
"autoValueGson",
"autoValueParcel",
]
}
}
def autoValueDeps = [deps.apt.autoValue, deps.apt.autoValueAnnotations]
def autoValueGsonDeps = autoValueDeps + [deps.apt.autoValueGson]
def autoValueParcelDeps = autoValueDeps + [deps.apt.autoValueParcel]
afterEvaluate {
dependencies {
toolsExtraDepCache deps.external.saxon
autoValueAnnotations autoValueDeps
autoValueGson autoValueGsonDeps
autoValueParcel autoValueParcelDeps
}
}
- Auto value processors now take the configuration name instead of previous md5 suffixed names.
processor-auto-value-annotations
instead of
processor_com.google.auto.value-auto-value-1.6__525046afa7fcbcf1dcd36f17908d83ff
v0.47.0
Enhancements
- Add a generated header to okbuck generated buck files (#809)
- Update Robolectric artifact coordinates for P (#811)
- Adding arm64-v8a as a supported ABI to okbuck (#814)
- Windows Support! (#808) (Thanks @KapJI !)
Bugfixes
Potential Breaking Changes
- If upgrading to kotlin 1.3.20 in your codebase,
-Xfriend-paths
are currently broken. Fix will be in #817 - If planning to upgrade buck version, (see #798), make sure to revert facebook/buck@01ae6e7 to have it be compatible with the generated buck files.