anchor.diff:  
   .Custom buildSrc build script
   ====
  -include::sample[dir="java/multiproject/groovy/buildSrc",files="build.gradle[]"]
  -include::sample[dir="java/multiproject/kotlin/buildSrc",files="build.gradle.kts[]"]
  +include::sample[dir="java/multiproject/groovy",files="buildSrc/build.gradle[]"]
  +include::sample[dir="java/multiproject/kotlin",files="buildSrc/build.gradle.kts[]"]
   ====
   
   A typical project including `buildSrc` has the following layout.
  
positive.code: 
  .Integration test task
  ====
  include::sample[dir="/userguide/organizingGradleProjects/separatedTestTypes/groovy/gradle",files="integration-test.gradle[tags=test-task]"]
  include::sample[dir="/userguide/organizingGradleProjects/separatedTestTypes/kotlin/gradle",files="integration-test.gradle.kts[tags=test-task]"]
  ====
  
  [[sec:use_standard_conventions]]
  
negative.code: 
  .Integration test source set
  ====
  include::sample[dir="userguide/organizingGradleProjects/separatedTestTypes/groovy",files="gradle/integration-test.gradle[tags=custom-source-set]"]
  include::sample[dir="userguide/organizingGradleProjects/separatedTestTypes/kotlin",files="gradle/integration-test.gradle.kts[tags=custom-source-set]"]
  ====
  
  Source sets are only responsible for compiling source code, but do not deal with executing the byte code.
  