Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Avoid more deprecated APIs

Avoid more deprecated APIs

  1. … 43 more files in changeset.
Avoid more deprecated APIs

  1. … 34 more files in changeset.
Avoid more deprecated APIs

  1. … 34 more files in changeset.
Avoid more deprecated APIs

  1. … 28 more files in changeset.
Replace use of archiveName with archiveFileName

  1. … 21 more files in changeset.
Remove use of deprecated API

Remove use of deprecated APIs in PluginBuilder

Replace use of archiveName with archiveFileName

Avoid more deprecated APIs

  1. … 64 more files in changeset.
Remove use of deprecated API

Remove use of deprecated APIs in PluginBuilder

Replace use of archiveName with archiveFileName

Avoid more deprecated APIs

  1. … 56 more files in changeset.
Remove use of deprecated API

Remove use of deprecated APIs in PluginBuilder

Replace use of archiveName with archiveFileName

Avoid more deprecated APIs

  1. … 60 more files in changeset.
Remove use of deprecated API

Remove use of deprecated APIs in PluginBuilder

Replace use of archiveName with archiveFileName

Avoid more deprecated APIs

  1. … 63 more files in changeset.
Remove use of deprecated API

Remove use of deprecated APIs in PluginBuilder

Replace use of archiveName with archiveFileName

Avoid more deprecated APIs

  1. … 61 more files in changeset.
Remove use of deprecated API

Remove use of deprecated APIs in PluginBuilder

Replace use of archiveName with archiveFileName

Avoid more deprecated APIs

  1. … 61 more files in changeset.
Remove use of deprecated API

Remove use of deprecated APIs in PluginBuilder

Replace use of archiveName with archiveFileName

Avoid more deprecated APIs

  1. … 64 more files in changeset.
Remove use of deprecated API

Remove use of deprecated APIs in PluginBuilder

Replace use of archiveName with archiveFileName

Avoid more deprecated APIs

  1. … 64 more files in changeset.
Rename task in test that coincidentally caused a name clash

    • -2
    • +2
    ./JavaAnnotationProcessingIntegrationTest.groovy
Rename task in test that coincidentally caused a name clash

    • -2
    • +2
    ./JavaAnnotationProcessingIntegrationTest.groovy
Reword logging when changes require rebuild

    • -1
    • +2
    ./UnknownIncrementalAnnotationProcessingIntegrationTest.groovy
  1. … 1 more file in changeset.
Log whether work changes are incremental

    • -0
    • +1
    ./UnknownIncrementalAnnotationProcessingIntegrationTest.groovy
  1. … 3 more files in changeset.
Log whether work changes are incremental

    • -0
    • +1
    ./UnknownIncrementalAnnotationProcessingIntegrationTest.groovy
  1. … 5 more files in changeset.
Improve incremental compilation for Java

This patch splits the collected dependencies found in a .class file into "accessible" and "private" dependencies.

* "Accessbile" dependencies are classes that belong to non-private fields, non-private method signatures, class signature ("extends", "implements") etc

* "Private" dependencies are classes that belong to private fields, private methods and classes used in method bodies (i.e. just in "the code")

The TL;DR of the approach is to change the algorithm in `ClassSetAnalysis.getRelevantDependents` to only recurse for "accessible" dependencies.

Goal by example:

Consider classes like

```

class A {

private B b

}

class B {

private C c

}

class C {

}

```

The previous algorithm in `ClassSetAnalysis.getRelevantDependents` would recompile all classes, if `C` was changed. The new algorithm recompiles

just `B` and `C`, because `C` has been changed and `B` uses `C`. But it doesn't recompile `A`, because `A` is not affected by the change. The same

is true, if `C` would have been only used in a method body of `B` or in the signature of a `private` function in `B`.

The algorithm properly handles changes to classes used in the following example:

```

public class SomeClass {

List<Integer> field = new LinkedList<Integer>();

private AccessedFromPrivateField accessedFromPrivateField;

AccessedFromPackagePrivateField someField;

private AccessedFromPrivateMethod accessedFromPrivateMethod() {

return null;

}

public String accessedFromPrivateMethodBody() {

return new AccessedFromPrivateMethodBody().toString();

}

private Set<String> stuff(HashMap<String, String> map) {

System.out.println(new Foo());

return new HashSet<String>();

}

private class Foo {

// Hint: this field won't appear in the ClassAnalysis for SomeClass

public AccessedFromPrivateClassPublicField anotherField;

public String toString() {

return "" + new AccessedFromPrivateClass();

}

}

}

```

Changes the serialization format of `ClassAnalysis` + `DependentsSet`

Signed-off-by: Robert Stupp <snazy@snazy.de>

    • -1
    • +1
    ./AggregatingIncrementalAnnotationProcessingIntegrationTest.groovy
    • -1
    • +1
    ./IsolatingIncrementalAnnotationProcessingIntegrationTest.groovy
  1. … 22 more files in changeset.
Revert "Introduce 'annotationProcessorClasspath' configuration"

This reverts commit 444a899c9cf4c968ce6a490d8148f35a1d631795 and

follow up changes to the annotation processing configurations.

    • -0
    • +6
    ./JavaAnnotationProcessingCompileAvoidanceIntegrationTest.groovy
  1. … 11 more files in changeset.
Address more review feedback

    • -2
    • +2
    ./UnknownIncrementalAnnotationProcessingIntegrationTest.groovy
  1. … 8 more files in changeset.
Use input changes in JavaCompile

    • -1
    • +1
    ./UnknownIncrementalAnnotationProcessingIntegrationTest.groovy
  1. … 7 more files in changeset.
Remove deprecated getEffectiveAnnotationProcessorPath() method

    • -22
    • +0
    ./JavaCompileIntegrationTest.groovy
  1. … 3 more files in changeset.
Remove deprecated getEffectiveAnnotationProcessorPath() method

    • -22
    • +0
    ./JavaCompileIntegrationTest.groovy
  1. … 3 more files in changeset.
Remove deprecated getEffectiveAnnotationProcessorPath() method

    • -22
    • +0
    ./JavaCompileIntegrationTest.groovy
  1. … 3 more files in changeset.
Remove `CompatibilityAdapterForTaskInputs`

  1. … 5 more files in changeset.
Remove `CompatibilityAdapterForTaskInputs`

  1. … 5 more files in changeset.
Remove `CompatibilityAdapterForTaskInputs`

  1. … 5 more files in changeset.
WIP

  1. … 46 more files in changeset.