diff --git a/gradle/build.gradle b/gradle/build.gradle index c0dde73d5..5e94227bb 100644 --- a/gradle/build.gradle +++ b/gradle/build.gradle @@ -1,6 +1,10 @@ plugins { id 'java' id 'nebula.lint' version '10.1.2' + + // Config helper for annotation processors such as AutoValue and Dagger. + // Ensures that source code is generated at an appropriate location. + id 'net.ltgt.apt' version '0.19' } allprojects { @@ -23,6 +27,8 @@ allprojects { 'unused-dependency' // TODO(weiminyu): enable more dependency checks ] + + apply plugin: 'net.ltgt.apt' } project(':core') { diff --git a/gradle/core/build.gradle b/gradle/core/build.gradle index fe3a0cfb5..35d04c23e 100644 --- a/gradle/core/build.gradle +++ b/gradle/core/build.gradle @@ -5,13 +5,22 @@ plugins { def javaDir = "${rootDir}/../java" def javatestsDir = "${rootDir}/../javatests" -def generatedDir = "${project.buildDir}/generated-sources" +// Path to code generated with annotation processors. Note that this path is +// chosen by the 'net.ltgt.apt' plugin, and may change if IDE-specific plugins +// are applied, e.g., 'idea' or 'eclipse' +def aptGeneratedDir = "${project.buildDir}/generated/source/apt/main" +def aptGeneratedTestDir = "${project.buildDir}/generated/source/apt/test" + +// Path to code generated by ad hoc tasks in this project. A separate path is +// used for easy inspection. +def generatedDir = "${project.buildDir}/generated/source/custom/main" sourceSets { main { java { srcDirs = [ "${javaDir}", + "${aptGeneratedDir}", "${generatedDir}" ] } @@ -26,7 +35,7 @@ sourceSets { java { srcDirs = [ "${javatestsDir}", - "${generatedDir}" + "${aptGeneratedTestDir}" ] } resources {