Releases: uber/okbuck
Releases · uber/okbuck
V0.15.0
Enhancements
- Okbuck dependency cache in
.okbuck
now uses symlinks instead of copies of files from the gradle cache etc. when possible. This speeds up the okbuck cache setup and also significantly reduces disk usage. (#349) - Reduce the number of manifest merger invocations required when running okbuck. Improves the execution time of the okbuck task by only running a merger step if there are more than one manifest involved per variant. Also removed unnecessary manifest processing around setting min and target sdk versions for library modules. (#350)
- Added ability to add lint libraries to genrules (#352). This is useful when using newer PSI based lints which can enhance the AST with proper type information when used with the
--libraries
flag. To make the classes of any external or project dependency available to the buck linter for analysis, they can be specified as
dependencies {
buckLintLibray "com.example:dep:1.0.0"
buckLintLibray project(":dep")
}
Bug fixes
- Create aidl rules per source directory (#341)
Potential Breaking Changes
- Moving to use symlinks instead of copies for the dependency cache could be a potentially breaking change. We have not noticed any issues during our testing, but it is something to watch out for.
v0.14.4
Enhancements
- Converted a bunch of classes over to Java 8. Better overall performance, less groovy.
Bug fixes
- Add project dependencies to annotation processor deps (#338)
- Fix regression with target deps not being picked up from buckLint configurations (#339)
Potential Breaking Changes
- Due to moving extension classes to java 8, the following syntax for configuring okbuck
okbuck {
buildToolVersion "25.0.1"
target "android-25"
}
Needs to be replaced with
okbuck {
buildToolVersion = "25.0.1"
target = "android-25"
}
Please take note of the slight change when upgrading
V0.14.3
V0.14.2
v0.14.1
Bug fixes
- Fixed annotation processing transitive deps to not be added to the provided deps classpath. This cleans up a pollution of the compile classpath to make gradle and buck builds the same.
Potential Breaking Changes
- Due to decoupling the annotation processing and provided classpaths, your projects may need to add the required compile/provided dependencies when missing to make builds succeed
V0.14.0
Enhancements
- Simplified detection of source jars in the dependency cache
Bug fixes
- Output a more descriptive error message when an error occurs due to adding a project dependency
Potential Breaking Changes
- Android Lint, Retrolambda and Parallel mode have been moved out of experimental mode.
- Lint rules are generated by default now. To disable this, you can use
okbuck {
lint {
disabled = true
}
}
Due to this change you have to add a repositories block to your root build.gradle if you have not already
repositories {
jcenter()
}
apply plugin: 'com.uber.okbuck'
- Parallel okbuck is now the default. This mode creates an okbuck task per project to speed up buck file generation. Make sure you have gradle's parallel mode turned on
- Some internal task names have been re-organized and renamed. Make sure your custom tasks still work if they depended on any of these internal task names.
V0.13.1
Enhancements
- Improved groovy support. The groovy compiler is setup automatically for buck build now.
- Allow importing
gradleApi()
andgroovyLocal()
within groovy gradle plugin projects without throwing an error that they are located outside the project root
Bug fixes
- Fixed a bug with blacklisting files in java_libraries (#300)
V0.13.0
Enhancements
- Performance improvements around repository handling for dependency cache and caching targets of projects to speedup
okbuck
tasks. - When a local project dependency with the same group and artifact id as an external dependency is discovered, it will be used as the preferred target across all generated buck rules. (See #285 for details)
Bug fixes
- Fixed a bug with when watchman fails to list
BUCK
files to cleanup.buckw
falls back tookbuckClean
in such cases. Please regenerate the wrapper with./gradlew buckWrapper
to get this fix. - Fixed a regression with local dependencies. (#195)
Potential Breaking Changes
V0.12.1
V0.12.0
Enhancements
This release comes with a bunch of performance enhancements
- Completely overhauled how the okbuck dependency cache works and how artifacts are resolved for projects. Most of the cache building and version resolution has been moved to the dependency cache ahead of the project level buck config generation. This gives a big speedup boost to the
okbuck
task, especially whenparallel
mode is enabled okbuck
now cleans up cached files that are no longer in use i.e artifacts that were replaced with different versions on subsequent builds. This should speedup evaluation of the generated BUCK rules- Moved annotation processor list resolution for jars to a lazily evaluated and cached model to reduce the amount of jars that need processing to get the list of annotation processor classes they contain.
- Updated android gradle plugin version to
2.3.0-alpha3
. Setting-Pandroid.enableImprovedDependenciesResolution=true
in yourbuckw
for the okbuck command should help reduce project configuration time significantly.
Bug fixes
- Fixed a bug with
android_library
rules for projects that use aidl. This fixes an issue with intellij project generation withproject
command