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

    • -5
    • +5
    ./gradle/javadoc/JavadocWorkAvoidanceIntegrationTest.groovy
  1. … 20 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

    • -5
    • +5
    ./gradle/javadoc/JavadocWorkAvoidanceIntegrationTest.groovy
  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

    • -5
    • +5
    ./gradle/javadoc/JavadocWorkAvoidanceIntegrationTest.groovy
  1. … 55 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

    • -5
    • +5
    ./gradle/javadoc/JavadocWorkAvoidanceIntegrationTest.groovy
  1. … 59 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

    • -5
    • +5
    ./gradle/javadoc/JavadocWorkAvoidanceIntegrationTest.groovy
  1. … 62 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

    • -5
    • +5
    ./gradle/javadoc/JavadocWorkAvoidanceIntegrationTest.groovy
  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

    • -5
    • +5
    ./gradle/javadoc/JavadocWorkAvoidanceIntegrationTest.groovy
  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

    • -5
    • +5
    ./gradle/javadoc/JavadocWorkAvoidanceIntegrationTest.groovy
  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

    • -5
    • +5
    ./gradle/javadoc/JavadocWorkAvoidanceIntegrationTest.groovy
  1. … 63 more files in changeset.
Rename task in test that coincidentally caused a name clash

Rename task in test that coincidentally caused a name clash

Reword logging when changes require rebuild

    • -1
    • +2
    ./gradle/api/tasks/compile/UnknownIncrementalAnnotationProcessingIntegrationTest.groovy
  1. … 1 more file in changeset.
Use explicit accessibility for field so a field is generated by Groovy

Use explicit accessibility for field so a field is generated by Groovy

Add explicit constructor to avoid synthetic class generation

Split complex test into multiple tests

    • -63
    • +128
    ./gradle/java/compile/incremental/AbstractSourceIncrementalCompilationIntegrationTest.groovy
Log whether work changes are incremental

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

    • -0
    • +1
    ./gradle/api/tasks/compile/UnknownIncrementalAnnotationProcessingIntegrationTest.groovy
  1. … 5 more files in changeset.
Use enum instead of the name string to compare the language

Improve readability of the tests

Document why Groovy recompiles for resource changes

Document why Groovy recompiles for resource changes

Merge branch 'master' into wolfs/java-compile-input-changes

  1. … 5 more files in changeset.
Merge branch 'master' into wolfs/java-compile-input-changes

  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
    ./gradle/api/tasks/compile/AggregatingIncrementalAnnotationProcessingIntegrationTest.groovy
    • -1
    • +1
    ./gradle/api/tasks/compile/IsolatingIncrementalAnnotationProcessingIntegrationTest.groovy
  1. … 21 more files in changeset.