Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Prefer implementation/api over compile in language-java tests

    • -5
    • +9
    ./tasks/compile/JavaAnnotationProcessingIntegrationTest.groovy
    • -1
    • +1
    ./tasks/compile/JavaCompileAvoidanceWithBuildCacheServiceIntegrationTest.groovy
    • -1
    • +1
    ./tasks/compile/JavaCompileParallelIntegrationTest.groovy
  1. … 6 more files in changeset.
Improve Zip hashing

- handle all well-known zip extensions like .zip, .jar, .war, .ear

- handles nested zips instead of treating them as blobs

- uses the faster ZipFile API when possible

  1. … 15 more files in changeset.
Improve Zip hashing

- handle all well-known zip extensions like .zip, .jar, .war, .ear

- handles nested zips instead of treating them as blobs

- uses the faster ZipFile API when possible

  1. … 13 more files in changeset.
Improve Zip hashing

- handle all well-known zip extensions like .zip, .jar, .war, .ear

- handles nested zips instead of treating them as blobs

- uses the faster ZipFile API when possible

  1. … 13 more files in changeset.
Improve Zip hashing

- handle all well-known zip extensions like .zip, .jar, .war, .ear

- handles nested zips instead of treating them as blobs

- uses the faster ZipFile API when possible

    • -10
    • +5
    ./tasks/compile/JavaCompileIntegrationTest.groovy
  1. … 13 more files in changeset.
Improve Zip hashing

- handle all well-known zip extensions like .zip, .jar, .war, .ear

- handles nested zips instead of treating them as blobs

- uses the faster ZipFile API when possible

  1. … 13 more files in changeset.
Improve Zip hashing

- handle all well-known zip extensions like .zip, .jar, .war, .ear

- handles nested zips instead of treating them as blobs

- uses the faster ZipFile API when possible

  1. … 15 more files in changeset.
Improve Zip hashing

- handle all well-known zip extensions like .zip, .jar, .war, .ear

- handles nested zips instead of treating them as blobs

- uses the faster ZipFile API when possible

  1. … 13 more files in changeset.
Improve Zip hashing

- handle all well-known zip extensions like .zip, .jar, .war, .ear

- handles nested zips instead of treating them as blobs

- uses the faster ZipFile API when possible

  1. … 13 more files in changeset.
Improve Zip hashing

- handle all well-known zip extensions like .zip, .jar, .war, .ear

- handles nested zips instead of treating them as blobs

- uses the faster ZipFile API when possible

  1. … 13 more files in changeset.
Improve Zip hashing

- handle all well-known zip extensions like .zip, .jar, .war, .ear

- handles nested zips instead of treating them as blobs

- uses the faster ZipFile API when possible

  1. … 13 more files in changeset.
Improve Zip hashing

- handle all well-known zip extensions like .zip, .jar, .war, .ear

- handles nested zips instead of treating them as blobs

- uses the faster ZipFile API when possible

    • -10
    • +5
    ./tasks/compile/JavaCompileIntegrationTest.groovy
  1. … 13 more files in changeset.
Improve Zip hashing

- handle all well-known zip extensions like .zip, .jar, .war, .ear

- handles nested zips instead of treating them as blobs

- uses the faster ZipFile API when possible

    • -10
    • +5
    ./tasks/compile/JavaCompileIntegrationTest.groovy
  1. … 15 more files in changeset.
Improve Zip hashing

- handle all well-known zip extensions like .zip, .jar, .war, .ear

- handles nested zips instead of treating them as blobs

- uses the faster ZipFile API when possible

  1. … 13 more files in changeset.
Improve Zip hashing

- handle all well-known zip extensions like .zip, .jar, .war, .ear

- handles nested zips instead of treating them as blobs

- uses the faster ZipFile API when possible

  1. … 13 more files in changeset.
Support resource creation in incremental annotation processors

Allow resources to be created by incremental annotation processors using

`Filer#createResource`. Allow resources to be created in the three currently

existing output locations on `StandardLocation`: `SOURCE_OUTPUT`,

`CLASS_OUTPUT`, and `NATIVE_HEADER_OUTPUT`.

A generated resource is uniquely identified by its `Location` and its path

relative to that `Location`. A new type `GeneratedResource` is created to that

effect. Data of that type is then plumbed through the existing annotation

processing infrastructure, ultimately reaching

`IncrementalCompilationInitializer` so that cleaning may be done.

Resolves #4702.

Signed-off-by: Ian Kerins <ianskerins@gmail.com>

    • -1
    • +0
    ./tasks/compile/AbstractIncrementalAnnotationProcessingIntegrationTest.groovy
    • -17
    • +45
    ./tasks/compile/AggregatingIncrementalAnnotationProcessingIntegrationTest.groovy
    • -15
    • +96
    ./tasks/compile/IsolatingIncrementalAnnotationProcessingIntegrationTest.groovy
  1. … 34 more files in changeset.
Only consider resource files for change processing

That is we ignore some changes to directories, thus ignoring addition

and modifications of empty packages.

Fixes #8203

    • -0
    • +36
    ./tasks/compile/AbstractIncrementalAnnotationProcessingIntegrationTest.groovy
    • -1
    • +1
    ./tasks/compile/UnknownIncrementalAnnotationProcessingIntegrationTest.groovy
  1. … 2 more files in changeset.
Disallow '-J' flags in `CompilerOptions.compilerArgs`

`javac` already fails if -J flags (i.e. those affecting the JVM that is running

the compiler) appear in command-line argument files as opposed to directly on

the command line, but does so with a particularly useless error message.

This validation thus mainly serves to improve the error messaging, offering the

right alternative API for supplying such flags.

Signed-off-by: Ian Kerins <ianskerins@gmail.com>

    • -0
    • +17
    ./tasks/compile/JavaCompileIntegrationTest.groovy
  1. … 2 more files in changeset.
Silence unrecognized annotation processor option during incremental processing

This works by registering an additional annotation processor

matching everything so it's guaranteed to be called, and that

collects all other processors' supported options in its own

supported options. That way, all those options will always be

see by javac as being supported, even when recompiling only

a subset of files that won't trigger some processors.

As a side-effect, this fully works around the underlying javac

issue (https://bugs.openjdk.java.net/browse/JDK-8162455) even

during full recompilations.

Fixes #8128

Signed-off-by: Thomas Broyer <t.broyer@ltgt.net>

    • -0
    • +22
    ./tasks/compile/IsolatingIncrementalAnnotationProcessingIntegrationTest.groovy
  1. … 3 more files in changeset.
Add annotation processor generated sources to SourceSetOutput

Signed-off-by: Thomas Broyer <t.broyer@ltgt.net>

    • -0
    • +17
    ./tasks/compile/JavaAnnotationProcessingIntegrationTest.groovy
  1. … 9 more files in changeset.
Resolve package cycle

    • -1
    • +1
    ./tasks/compile/AggregatingIncrementalAnnotationProcessingIntegrationTest.groovy
    • -1
    • +1
    ./tasks/compile/IsolatingIncrementalAnnotationProcessingIntegrationTest.groovy
  1. … 23 more files in changeset.
Reference enum constants from tests

    • -2
    • +4
    ./tasks/compile/AggregatingIncrementalAnnotationProcessingIntegrationTest.groovy
    • -2
    • +4
    ./tasks/compile/IsolatingIncrementalAnnotationProcessingIntegrationTest.groovy
    • -1
    • +2
    ./tasks/compile/JavaAnnotationProcessingIntegrationTest.groovy
    • -1
    • +3
    ./tasks/compile/UnknownIncrementalAnnotationProcessingIntegrationTest.groovy
Track execution time in nanoseconds

This commit changes `TimeTrackingProcessor` to internally use Guava's

`Stopwatch` for keeping track of execution time. The lossy conversion to

millis is performed after each operation, but rounding errors do no

longer accumulate.

    • -7
    • +14
    ./tasks/compile/JavaAnnotationProcessingIntegrationTest.groovy
  1. … 4 more files in changeset.
Only decorate compilation of JavaCompile task

Makes names clearer and reduces potential confusion.

    • -3
    • +3
    ./tasks/compile/AbstractIncrementalAnnotationProcessingIntegrationTest.groovy
    • -2
    • +2
    ./tasks/compile/AggregatingIncrementalAnnotationProcessingIntegrationTest.groovy
    • -2
    • +2
    ./tasks/compile/IsolatingIncrementalAnnotationProcessingIntegrationTest.groovy
    • -6
    • +6
    ./tasks/compile/JavaAnnotationProcessingIntegrationTest.groovy
    • -2
    • +2
    ./tasks/compile/UnknownIncrementalAnnotationProcessingIntegrationTest.groovy
  1. … 15 more files in changeset.
Report annotation processor type in build operation result

Instead of just reporting whether an annotation processor was

incremental, we now report its type, i.e. aggregating, isolating, or

unknown.

    • -1
    • +1
    ./tasks/compile/AggregatingIncrementalAnnotationProcessingIntegrationTest.groovy
    • -1
    • +1
    ./tasks/compile/IsolatingIncrementalAnnotationProcessingIntegrationTest.groovy
    • -1
    • +1
    ./tasks/compile/JavaAnnotationProcessingIntegrationTest.groovy
    • -1
    • +1
    ./tasks/compile/UnknownIncrementalAnnotationProcessingIntegrationTest.groovy
  1. … 7 more files in changeset.
Report whether annotation processor is incremental

This commit adds an `incremental` property to the result of the build

operation and checks that it’s reported correctly for the different

annotation processor types.

    • -0
    • +3
    ./tasks/compile/AbstractIncrementalAnnotationProcessingIntegrationTest.groovy
    • -0
    • +15
    ./tasks/compile/AggregatingIncrementalAnnotationProcessingIntegrationTest.groovy
    • -0
    • +15
    ./tasks/compile/IsolatingIncrementalAnnotationProcessingIntegrationTest.groovy
    • -0
    • +1
    ./tasks/compile/JavaAnnotationProcessingIntegrationTest.groovy
    • -0
    • +6
    ./tasks/compile/UnknownIncrementalAnnotationProcessingIntegrationTest.groovy
  1. … 19 more files in changeset.
Report List<AnnotationProcessorDetails> instead of Map<String, Long>

    • -8
    • +16
    ./tasks/compile/JavaAnnotationProcessingIntegrationTest.groovy
  1. … 4 more files in changeset.
Allow to detect when annotation processor info is missing

- Remove redundant task path from build operation details as it's

enclosed in an ExecuteTaskBuildOperationType operation already.

- Add coverage for forking compilation where annotation processors are

neither instrumented nor tracked.

- Use `null` to signal that no annotation processor execution times are

available.

- Extract lookup code for build operation into separate fixture class

and reuse it in all tests.

    • -24
    • +33
    ./tasks/compile/JavaAnnotationProcessingIntegrationTest.groovy
  1. … 6 more files in changeset.
Report annotation processor execution time

In order to track time spent by annotation processors, invocations of

compilers in `JavaCompile` and `GroovyCompile` are now wrapped in build

operations that report the execution time per fully-qualified annotation

processor class name in their result.

    • -15
    • +79
    ./tasks/compile/JavaAnnotationProcessingIntegrationTest.groovy
  1. … 22 more files in changeset.
Set default value to annotationProcessorGeneratedSourcesDirectory

This also fixes the documentation for the options.annotationProcessorPath

default value.

Fixes #4956

Signed-off-by: Thomas Broyer <t.broyer@ltgt.net>

    • -5
    • +5
    ./tasks/compile/AggregatingIncrementalAnnotationProcessingIntegrationTest.groovy
    • -5
    • +5
    ./tasks/compile/IsolatingIncrementalAnnotationProcessingIntegrationTest.groovy
    • -3
    • +3
    ./tasks/compile/JavaAnnotationProcessingIntegrationTest.groovy
    • -2
    • +2
    ./tasks/compile/UnknownIncrementalAnnotationProcessingIntegrationTest.groovy
  1. … 7 more files in changeset.