Android 连续集成中自动生成代码(如Dagger2)的Gradle问题

Android 连续集成中自动生成代码(如Dagger2)的Gradle问题,android,gradle,travis-ci,circleci,dagger-2,Android,Gradle,Travis Ci,Circleci,Dagger 2,我正在使用AutoParcel和Dagger2自动生成代码,这需要使用gradleandroid apt插件。这意味着第一次编译失败,但当您再次运行任务时,它成功了。通常这只是一个小麻烦,但对于像CircleCI或TravisCI这样的持续集成工具来说,这是一个大问题,它们总是运行干净的构建 ./gradlew :app:clean ./gradlew :app:compileDebugJava //fails ./gradlew :app:compileDebugJava //succ

我正在使用
AutoParcel
Dagger2
自动生成代码,这需要使用gradle
android apt
插件。这意味着第一次编译失败,但当您再次运行任务时,它成功了。通常这只是一个小麻烦,但对于像CircleCI或TravisCI这样的持续集成工具来说,这是一个大问题,它们总是运行干净的构建

./gradlew :app:clean
./gradlew :app:compileDebugJava   //fails
./gradlew :app:compileDebugJava   //succeeds
Android开发人员如何解决这个问题?显然,我不希望每个CI构建都报告失败

circle.yml

test:
  pre:
     - ./gradlew :android:compileDebugJava -PdisablePreDex
  override:
     - ./gradlew :android:compileDebugJava -PdisablePreDex

添加
| | true
会将失败的任务报告为CircleCI成功

test:
  pre:
     - ./gradlew :android:compileDebugJava -PdisablePreDex || true
  override:
     - ./gradlew :android:compileDebugJava -PdisablePreDex