Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Remove unnecessary implementations of CleaningJavaCompiler

  1. … 9 more files in changeset.
Use Deleter in cleaning stale outputs, take 2

This covers the remaining use cases:

- stale class cleanup for compilers

- stale overlapping output cleanup

  1. … 30 more files in changeset.
Simplify GroovyCompile by registering a service

    • -0
    • +62
    ./tasks/compile/GroovyServices.java
  1. … 2 more files in changeset.
Remove GroovyJavaJointCompiler

Adding it to removed-types.txt instead.

  1. … 1 more file in changeset.
Avoid merging old mappings on full recompilation (#9964)

This fixes https://github.com/gradle/gradle/issues/9936

Previously even on full recompilation, we merge the old Groovy source-class mappings

into the incremental mappings. This PR avoid doing this on full recompilation.

    • -1
    • +1
    ./tasks/compile/ApiGroovyCompiler.java
    • -0
    • +4
    ./tasks/compile/GroovyCompileSpec.java
    • -5
    • +5
    ./tasks/compile/daemon/DaemonGroovyCompiler.java
  1. … 9 more files in changeset.
Avoid merging old mappings on full recompilation (#9964)

This fixes https://github.com/gradle/gradle/issues/9936

Previously even on full recompilation, we merge the old Groovy source-class mappings

into the incremental mappings. This PR avoid doing this on full recompilation.

    • -1
    • +1
    ./tasks/compile/ApiGroovyCompiler.java
    • -0
    • +4
    ./tasks/compile/GroovyCompileSpec.java
    • -5
    • +5
    ./tasks/compile/daemon/DaemonGroovyCompiler.java
  1. … 9 more files in changeset.
Full recompilation with annotation processor (#9917)

This fixes #9871

We don't want to support annotation processing with incremental Groovy compilation because there're too many complicated corner cases - we simply disable Groovy incremental compilation if any Java annotation processors detected.

    • -4
    • +2
    ./tasks/compile/ApiGroovyCompiler.java
  1. … 3 more files in changeset.
Remove unused import

    • -1
    • +0
    ./tasks/compile/daemon/DaemonGroovyCompiler.java
Move compiler parameters into compiler implementation classes

    • -2
    • +24
    ./tasks/compile/daemon/DaemonGroovyCompiler.java
  1. … 5 more files in changeset.
Full recompilation on Groovy-Java joint compilation (#9890)

Currently, incremental Groovy compilation only works for files compiled by the Groovy compiler. Java files are compiled by the Java compiler.

This PR disables incremental compiler if Java files found because this might cause incorrectness.

    • -5
    • +8
    ./tasks/compile/ApiGroovyCompiler.java
  1. … 5 more files in changeset.
Follow-ups of incremental Groovy compilation (#9848)

This PR:

- Closes https://github.com/gradle/gradle/issues/9785 and https://github.com/gradle/gradle/issues/9380

- Adds tests for

- Multiple classes in a same source Groovy file.

- Moving files between source set roots

Previously, removing a source directory from a source set would break the Java (and Groovy) incremental compiler (https://github.com/gradle/gradle/issues/9380). This PR detects this case and runs a full recompilation.

It also records relative path instead of absolute path in Groovy incremental compilation to make it build-cache-friendly.

    • -4
    • +8
    ./tasks/compile/ApiGroovyCompiler.java
    • -8
    • +8
    ./tasks/compile/SourceClassesMappingFileAccessor.java
  1. … 26 more files in changeset.
Groovy incremental compilation support (#9616)

Inspired by https://github.com/gradle/gradle/pull/9388 , this PR implements Groovy compilation avoidance. Unlike Java, things are a little more complex in Groovy compilation - a compilation unit can generate multiple classes. Thus, we introduced a `sourceClassMappingFile`, which records the source to classes mappings during the compilation process. Later, we can use this information in incremental compiler: only the affected groovy source files get recompiled in next compilation.

    • -0
    • +83
    ./tasks/compile/ApiGroovyCompiler.java
    • -0
    • +13
    ./tasks/compile/DefaultGroovyJavaJointCompileSpec.java
    • -0
    • +4
    ./tasks/compile/GroovyCompileSpec.java
    • -0
    • +90
    ./tasks/compile/SourceClassesMappingFileAccessor.java
    • -0
    • +20
    ./tasks/compile/package-info.java
  1. … 67 more files in changeset.
Use isolated parameters for all worker isolation modes

    • -2
    • +5
    ./tasks/compile/GroovyCompilerFactory.java
    • -2
    • +3
    ./tasks/compile/daemon/DaemonGroovyCompiler.java
  1. … 43 more files in changeset.
Don't use the classloader registry in the worker daemon.

Instead, calculate whatever is necessary in the build process and

pass the information via the classloader structure.

    • -2
    • +5
    ./tasks/compile/GroovyCompilerFactory.java
    • -2
    • +6
    ./tasks/compile/daemon/DaemonGroovyCompiler.java
  1. … 13 more files in changeset.
Refactor classloader structure so it's less messy

    • -3
    • +3
    ./tasks/compile/daemon/DaemonGroovyCompiler.java
  1. … 17 more files in changeset.
Add missing @Override to all modules

Signed-off-by: Paul Merlin <paul@gradle.com>

  1. … 999 more files in changeset.
Simplify worker daemon classloader hierarchy

    • -29
    • +1
    ./tasks/compile/daemon/DaemonGroovyCompiler.java
  1. … 18 more files in changeset.
Fix typo in method name

    • -1
    • +1
    ./tasks/compile/daemon/DaemonGroovyCompiler.java
  1. … 4 more files in changeset.
Nit polish

    • -1
    • +1
    ./tasks/compile/daemon/DaemonGroovyCompiler.java
Simplify daemon groovy compiler classpath filter

    • -40
    • +23
    ./tasks/compile/daemon/DaemonGroovyCompiler.java
  1. … 3 more files in changeset.
Minimize groovy compiler classpath and make it work with new classloader structure

    • -4
    • +48
    ./tasks/compile/daemon/DaemonGroovyCompiler.java
  1. … 1 more file in changeset.
Pass compiler classes and instantiate them in the worker

    • -2
    • +2
    ./tasks/compile/GroovyCompilerFactory.java
    • -2
    • +2
    ./tasks/compile/daemon/DaemonGroovyCompiler.java
  1. … 24 more files in changeset.
Punch some holes for Groovy compiler to get service classes

    • -0
    • +7
    ./tasks/compile/daemon/DaemonGroovyCompiler.java
  1. … 1 more file in changeset.
Revert "Use Java 8-compatible variant of Guava"

    • -7
    • +0
    ./tasks/compile/ApiGroovyCompiler.java
  1. … 24 more files in changeset.
Work around Java 6 compatibility issues

    • -0
    • +7
    ./tasks/compile/ApiGroovyCompiler.java
  1. … 20 more files in changeset.
Add some tests and comments and rename some things

    • -6
    • +6
    ./tasks/compile/daemon/DaemonGroovyCompiler.java
  1. … 7 more files in changeset.
Allow groovy compiler to pass a classloader hierarchy description to worker infrastructure

    • -2
    • +37
    ./tasks/compile/daemon/DaemonGroovyCompiler.java
  1. … 4 more files in changeset.
Allow groovy compiler daemon to run without access to the Gradle api

    • -2
    • +6
    ./tasks/compile/daemon/DaemonGroovyCompiler.java
  1. … 4 more files in changeset.
Replace some direct usages of `DefaultConfigurableFileCollection` with `FileCollectionFactory`.

    • -3
    • +3
    ./tasks/compile/GroovyCompilerFactory.java
  1. … 50 more files in changeset.
Introduce an internal factory to create `JavaForkOptions`, to encapsulate the service(s) needed to create instances of this type and decouple clients from this detail. This could/should move to `ObjectFactory` or some other public factory type.

    • -8
    • +9
    ./tasks/compile/GroovyCompilerFactory.java
    • -6
    • +6
    ./tasks/compile/daemon/DaemonGroovyCompiler.java
  1. … 42 more files in changeset.