Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Hack around the lack of module support in annotation processing

Hack around the lack of module support in annotation processing

Apply `Anonymous type can be replaced with lambda` inspection the whole project

  1. … 666 more files in changeset.
Apply `'try finally' replaceable with 'try' with resources` inspection the whole project

  1. … 53 more files in changeset.
Apply `Explicit type can be replaced with <>` inspection the whole project

    • -2
    • +2
    ./SupportedOptionsCollectingProcessor.java
  1. … 908 more files in changeset.
Use method reference, where applicable

  1. … 169 more files in changeset.
Use method reference, where applicable

  1. … 167 more files in changeset.
Replace anonymous classes with lambdas

  1. … 711 more files in changeset.
Replace anonymous classes with lambdas

  1. … 695 more files in changeset.
Remove synthetic accessors for internal private symbol references

  1. … 902 more files in changeset.
Remove synthetic accessors for internal private symbol references

  1. … 902 more files in changeset.
Remove synthetic accessors for internal private symbol references

  1. … 890 more files in changeset.
Remove synthetic accessors for internal private symbol references

  1. … 897 more files in changeset.
Remove synthetic accessors for internal private symbol references

  1. … 902 more files in changeset.
Remove synthetic accessors for internal private symbol references

  1. … 902 more files in changeset.
Define size of immutable builders where possible

This makes it possible to avoid unnecessary re-allocations when the number of elements is known up-front.

  1. … 29 more files in changeset.
Define size of immutable builders where possible

This makes it possible to avoid unnecessary re-allocations when the number of elements is known up-front.

  1. … 30 more files in changeset.
Define size of immutable builders where possible

This makes it possible to avoid unnecessary re-allocations when the number of elements is known up-front.

  1. … 32 more files in changeset.
Define size of immutable builders where possible

This makes it possible to avoid unnecessary re-allocations when the number of elements is known up-front.

  1. … 31 more files in changeset.
Use SLF4J Logger in more places

Use only an SLF4J Logger instead of the Gradle Logger in places where it is enough. This is going to make this code more easy to reuse as it doesn't depend on `:logging` anymore.

  1. … 29 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>

    • -0
    • +12
    ./AggregatingProcessingStrategy.java
    • -0
    • +6
    ./NonIncrementalProcessingStrategy.java
  1. … 31 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
    • +72
    ./SupportedOptionsCollectingProcessor.java
  1. … 3 more files in changeset.
Use only AnnotationProcessorResult in decorated processors

`AnnotationProcessorResult` now delegates to the overall

`AnnotationProcessingResult`.

    • -5
    • +2
    ./NonIncrementalProcessingStrategy.java
  1. … 9 more files in changeset.
Resolve package cycle

    • -0
    • +1
    ./AnnotationProcessorDeclarationSerializer.java
    • -34
    • +0
    ./IncrementalAnnotationProcessorType.java
    • -1
    • +1
    ./NonIncrementalProcessingStrategy.java
  1. … 16 more files in changeset.
Polishing

  1. … 1 more file in changeset.
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.

  1. … 4 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
    • +3
    ./NonIncrementalProcessingStrategy.java
  1. … 8 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.

    • -1
    • +3
    ./NonIncrementalProcessingStrategy.java
  1. … 15 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.

    • -0
    • +141
    ./TimeTrackingProcessor.java
  1. … 21 more files in changeset.
Always use configured annotationProcessorPath

- Don't use an empty path for `-proc:none` because it is also used by

compiler plugins

- Don't support setting it to `null` anymore.

Resolves #6573.

    • -44
    • +0
    ./AnnotationProcessorPathFactory.java
  1. … 10 more files in changeset.