Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Use providers instead of convention mapping

+review REVIEW-6502

    • -6
    • +35
    ./tasks/compile/AbstractCompile.java
  1. … 2 more files in changeset.
Do not track JVM memory settings as inputs to the task

+review REVIEW-6512

Added type parameter to `Worker` and related types, to describe what kinds of work the worker will accept.

  1. … 12 more files in changeset.
Changed `Worker` interface and worker daemon protocol to better separate the data (what to run) from the behaviour (how to run it). Now, all the data is included in the spec, and all the behaviour is included in the worker server implementation. Previously some of the data and behaviour also lived in the `WorkerAction` instance.

This change allows the worker server implementation, which is long running, better insight into the work to run so that it can, for example, inject long running services into the work.

Also moved the serialization of worker parameters so that it is done in the registration thread rather than the worker thread.

  1. … 17 more files in changeset.
Renamed AbstractDaemonCompiler to AbstractWorkerCompiler

And:

- DaemonJavaCompiler to WorkerJavaCompiler (supports both in-process and daemon workers)

- DaemonGroovyCompiler to WorkerGroovyCompiler (support both in-process and daemon workers)

- DaemonScalaCompiler to WorkerDaemonScalaCompiler (daemon workers only)

- DaemonPlayCompiler to WorkerDaemonPlayCompiler (daemon workers only)

    • -0
    • +100
    ./internal/tasks/compile/daemon/AbstractWorkerCompiler.java
  1. … 30 more files in changeset.
Non-forked Java compilation now uses in-process workers

Simplified AbstractDaemonCompiler and its type hierarchy.

Remove usage of some org.gradle.workers.internal types.

    • -0
    • +77
    ./internal/tasks/compile/ForkOptionsMerger.java
  1. … 9 more files in changeset.
Dogfood WorkerExecutor for java/groovy/scala compilation in worker daemons

Plus in-process groovy compilation

  1. … 29 more files in changeset.
Internal types, methods and variables renames in :workers

  1. … 63 more files in changeset.
Revert "Merge pull request #1486 from gradle/pm-parallel-in-process-workers"

This reverts commit 861bc80fe733f1ab6790860182a20957786e0711, reversing

changes made to cf20021050069a63b7ae629717eb663d95074997.

  1. … 23 more files in changeset.
WorkerDaemonAction implements Describable

  1. … 5 more files in changeset.
WorkerDaemonAction implements Describable

  1. … 5 more files in changeset.
In-process parallel workers

WorkerConfiguration.fork property added, false by default.

Coverage is pretty good already.

A lot of renames will be needed because of overloaded and now

misused terms.

  1. … 15 more files in changeset.
In-process parallel workers

WorkerConfiguration.fork property added, false by default.

Coverage is pretty good already.

A lot of renames will be needed because of overloaded and now

misused terms.

  1. … 15 more files in changeset.
First stab at parallelizing worker daemons

  1. … 106 more files in changeset.
Changed `JvmLanguageCompileSpec.classpath` back to `Iterable<File>` for backwards compatibility for now (these are internal types).

  1. … 17 more files in changeset.
Added internal method back for now.

  1. … 3 more files in changeset.
Fixes to ensure correct results when using annotation processors for Java source compilation. The fixes apply to Java compilation in both incremental and non-incremental modes.

Added `CompileOptions.annotationProcessorPath` to allow an annotation processor path to be explicitly declared for a compile task. When declared, this path is used to locate annotation processors, instead of searching the compile classpath for processors.

Added `JavaCompile.effectiveAnnotationProcessorPath` which returns the actual annotation processor path to use for compilation. This is marked with `@Classpath` so that source is recompiled when an annotation processor implementation or runtime dependency changes in some way that affects runtime execution.

The effective annotation processor path is calculated as follows:

- When explicitly set on the compile options, use this value. Can be empty.

- When an annotation processor is present in the compile classpath, use the compile classpath.

- When no annotation processors are present in the compile classspath, use an empty path.

Changed the incremental Java compile to fall back to full compile when the annotation processor path is not empty. This is an intentionally dumb strategy that can be made better later.

Made some simplifications to the generation of javac compiler args.

Added a bunch of test coverage for incremental builds in the presence of annotation processors.

  1. … 22 more files in changeset.
Treat `AbstractCompile.classpath` as an `@Internal` property for now.

Move `@CompileClasspath` to `JavaCompile` only for now

  1. … 1 more file in changeset.
Spike compile avoidance using compile classpath aware hashing strategy

  1. … 54 more files in changeset.
Make worker daemon lifecycle logging more meaningful

  1. … 4 more files in changeset.
Fix failing compiler daemon tests

- Fix DaemonJavaCompilerIntegrationTest

- Fixing issue with renamed class

- Fix issues with compiler daemon classpath

- Fixing issue with in-process compiler returning incorrect result

- Removing unnecessary wrapping of compiler result

- Fix checkstyle issues

  1. … 15 more files in changeset.
Improving worker daemon service api

- Removed implementationClass and sharedPackages method from WorkerDaemonExecutor

- Changed service to always infer the full classpath from the implementation class

  1. … 5 more files in changeset.
Fix an issue with the daemon compiler classpath

  1. … 7 more files in changeset.
Fix issue with runnables defined in the build script

  1. … 20 more files in changeset.
Introduce public WorkerDaemonServer and WorkerDaemonExecutor

  1. … 24 more files in changeset.
Introduce Timer abstractions for simpler timekeeping

- Timer provides a 'stopwatch' function, with the benefit of a nicely

formatted elapsed time.

- CountdownTimer tracks if a timeout limit has been reached.

  1. … 22 more files in changeset.
Moved `Clock` and `TimeProvider` into a separate package

This commit reverts recent changes to the API of

`org.gradle.util.Clock`, and instead deprecates the existing type

replacing with a new internal type. This was done because the

`ExtractDslMetaDataTask` uses this type for timing, and external plugins may have copied this pattern.

`org.gradle.util.Clock` is now deprecated.

  1. … 103 more files in changeset.
Clarifying renames in o.g.util.Clock

- `start` -> `startInstant`

- `getTimeInMillis()` -> `getElapsedMillis()`

- `getTime()` -> `getElapsed()`

  1. … 22 more files in changeset.
Generalize compiler daemon infrastructure for any kind of worker

    • -45
    • +0
    ./internal/tasks/compile/daemon/CompileResult.java
  1. … 47 more files in changeset.