Clone Tools
  • last updated a few seconds ago
Constraints: committers
Constraints: files
Constraints: dates
Fix SampleSpec

Signed-off-by: Paul Merlin <>

Convert SampleRule to TestRule

SampleRule can now be used in a RuleChain.

  1. … 1 more file in changeset.
Cleanup stale output files during execution (#2572)

We now keep a registry of all the outputs generated by Gradle which will be reset on each version change. If Gradle encounters an existing output file, then it will remove it if is not part of the registered outputs and owned by Gradle/the build. We do also not remove directories containing outputs from different tasks.

The check to delete the stale outputs happens now just before the task executes and not up-front as it did before.

The `build` directory and all delete targets of the `clean` task are registered as owned by Gradle and are considered safe to delete.

Currently, the set of recorded task output files is only growing if we do not change the Gradle version. In the future we can improve on this by also detecting that some directories where removed (e.g. by running a clean task) and reflect this in the registry.

Fixes #1168

Fixes #973

+review REVIEW-6557

  1. … 32 more files in changeset.
Move "Deleted" message to info and stale outputs to incremental section

+review REVIEW-6521

  1. … 3 more files in changeset.
Clarify messages produced when deleting old output directories

+review REVIEW-6521

  1. … 4 more files in changeset.
Use 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

  1. … 119 more files in changeset.
Refactor StaleOutputJavaProject's constructors to be simpler

+review REVIEW-6424

  1. … 1 more file in changeset.
Fix typo

  1. … 1 more file in changeset.
Refactor StaleOutputHistoryLossIntegrationTest to rely on test fixture more

+review REVIEW-6424

  1. … 2 more files in changeset.
Add reproducible integration test for stale outputs

+review REVIEW-6424

    • -0
    • +113
  1. … 1 more file in changeset.
Name `Sample.dir` after test method and class

By deferring the computation of dir until the first request.

  1. … 1 more file in changeset.