Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Rename task in test that coincidentally caused a name clash

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

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

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

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

    • -0
    • +1
    ./tasks/compile/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
    ./tasks/compile/AggregatingIncrementalAnnotationProcessingIntegrationTest.groovy
    • -1
    • +1
    ./tasks/compile/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
    ./tasks/compile/JavaAnnotationProcessingCompileAvoidanceIntegrationTest.groovy
  1. … 11 more files in changeset.
Address more review feedback

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

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

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

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

    • -22
    • +0
    ./tasks/compile/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.
Rename format attribute and clean up values

Attribute is now org.gradle.libraryelements and only applied

to variants having the org.gradle.category at library.

This means that values related to platforms or document in the

former format attribute are removed.

  1. … 46 more files in changeset.
Rename format attribute and clean up values

Attribute is now org.gradle.libraryElements and only applied

to variants having the org.gradle.category at library.

This means that values related to platforms or document in the

former format attribute are removed.

  1. … 46 more files in changeset.
Rename format attribute and clean up values

Attribute is now org.gradle.libraryelements and only applied

to variants having the org.gradle.category at library.

This means that values related to platforms or document in the

former format attribute are removed.

  1. … 46 more files in changeset.
Rename format attribute and clean up values

Attribute is now org.gradle.libraryElements and only applied

to variants having the org.gradle.category at library.

This means that values related to platforms or document in the

former format attribute are removed.

  1. … 46 more files in changeset.
Rename format attribute and clean up values

Attribute is now org.gradle.libraryElements and only applied

to variants having the org.gradle.category at library.

This means that values related to platforms or document in the

former format attribute are removed.

  1. … 46 more files in changeset.
Rename format attribute and clean up values

Attribute is now org.gradle.libraryelements and only applied

to variants having the org.gradle.category at library.

This means that values related to platforms or document in the

former format attribute are removed.

  1. … 46 more files in changeset.
Rename format attribute and clean up values

Attribute is now org.gradle.libraryElements and only applied

to variants having the org.gradle.category at library.

This means that values related to platforms or document in the

former format attribute are removed.

  1. … 46 more files in changeset.
Rename format attribute and clean up values

Attribute is now org.gradle.libraryelements and only applied

to variants having the org.gradle.category at library.

This means that values related to platforms or document in the

former format attribute are removed.

  1. … 46 more files in changeset.
Revert "Merge pull request #9604 from gradle/oehme/fix-zip-hashing"

This reverts commit 8cea5a026e65c3bbe7312d91f6f6bef898108617, reversing

changes made to ea2bd4230925fdf31926f34053d56d1085176861.

  1. … 17 more files in changeset.
Revert "Restrict ZipFile usage to newer Java versions"

This reverts commit b07cc7502f9ceb0ebd606d737e312321c92cdf5d.

  1. … 4 more files in changeset.
Upgrade commons-lang{->3} replacing packages

    • -1
    • +1
    ./tasks/compile/JavaCompileParallelIntegrationTest.groovy
  1. … 175 more files in changeset.
Introduce 'annotationProcessorClasspath' configuration

    • -6
    • +0
    ./tasks/compile/JavaAnnotationProcessingCompileAvoidanceIntegrationTest.groovy
  1. … 9 more files in changeset.
Introduce 'annotationProcessorClasspath' configuration

    • -6
    • +0
    ./tasks/compile/JavaAnnotationProcessingCompileAvoidanceIntegrationTest.groovy
  1. … 9 more files in changeset.
Introduce 'annotationProcessorClasspath' configuration

    • -6
    • +0
    ./tasks/compile/JavaAnnotationProcessingCompileAvoidanceIntegrationTest.groovy
  1. … 9 more files in changeset.