c165fb1Make `ScalaCompile` and `ScalaDoc` cacheable (#2399)
This adds test coverage with respect to caching and incremental builds for `ScalaCompile` and `ScalaDoc` and makes both tasks cacheable. Issue: #1956 Based on PR: #1958 28fa962Use separate output directories for all JVM languages
- Introduce an outputDir on SourceDirectorySet - Default output directory is now `build/classes/<source directory set name>/<source set name>` - Example: Java compilation goes to build/classes/java/main instead of build/classes/main - Adapt JDepend, FindBugs, Test and ValidateTaskProperties tasks to handle multiple class directories - Deprecate setClassesDir/getClassesDir on SourceSetOutput - Calling setClassesDir restores old behavior (shared output directory) - Introduce addClassesDir and getClassesDirs on SourceSetOutput - OSGi plugin needs a single classes directory, so introduce 'osgiClasses' task that syncs all classes to a single directory Most of the changes to integration tests are find classes in their new location. Helper methods in AbstractIntegrationSpec can locate class files vs hardcoding a path. Squashed commit of sg-split-jvm-classes branch for REVIEW-6502 |
![]() |