lombokとdatabinding
はじめに
- targetsdk 26
- google play services 11
とか新規ウイザードに近い構成のプロジェクトでの話。
Google APIsを指定するとdata-binding で生成エラーになることが有り*1
動作環境
環境設定
IDE側
build.gradle側
- app/build.gradle
provided "org.projectlombok:lombok:1.16.18"
公式の compileOnly 記述でしているすると何故かエラーに*2
- app/lombok.config (別途新規追加)
lombok.addGeneratedAnnotation = false
状況
android gradle
— close_yutori (@kimukou2628) 2017年8月8日
lombokとdatabinding使うと
Getter/Setterアノテーションついてても
認識しないので、メンバーをpublicにしないとだめなのて微妙。
多分APT変換の順番とかなんだろうな、、、(^^;;
- compile は通るけどIDEは真っ赤
だったりしていたので、やはり実行タイミング違うのかなー。
gradle 2.3.3 不具合?
android gradle
— close_yutori (@kimukou2628) 2017年8月8日
gradle plugin 2.3.3
gradlew clean cleanBuildCache assembleRelease
としないとリソース反映されないのは何で?
なんでbuildCache見に行くのかな(怒!
- layoutやリソース
- 変更 or 差替反映を中々取り込んでくれない
- 追加 or 削除はOK
ようはInstantRunを使わなくても、勝手にbuild-cacheを利用、ソレがちゃんと変更監視できていない
状態。
gradle plugin 2.3.2 までは、build-cacheを暗黙で利用してなかったようなので、
このバージョンで止めておいたほうが良い?
リリースノートにいつものごとく変更箇所書いてないけど*3
- build-cache を使って高速化 はいいとして
- AS 2.3.3上だと
- 補完index作成中にIDEがかなりの頻度で固まる
な状況だったりする。
AS 3.0-Beta以降で過去互換を完全に捨てる のはいいんだけど、まともに動くようにしてからにして欲しい。
傍目に見てると
「AS3.0の変更をとりあえずAS2.3.3にも取り込んでおいたよ。感謝してよね!」
って余計なツンデレ対応に見える
今回の話は、プロジェクト内に入っているlibrary projectの話だけど
local.aarの場合は gradle plugin 2.3.2から同じ問題が混入されていたっぽい
asのterminalからのgradle assembleが90%から進みましぇにゅ😥
— さきちゃんの中の人、夏太り中😭 (@serenegiant) 2017年8月5日
pluginの2.3.2あたりからaarに入ってるリソースをうまく解決でけんくなっとったんを忘れとった😣
— さきちゃんの中の人、夏太り中😭 (@serenegiant) 2017年8月5日