Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Apply property and method lookup improvements to more parts of the configure dsl, in particular those that use `ConfigureUtil`, which for example includes the `dependencies { }` closure.

    • -1
    • +1
    ./gradle/api/internal/AbstractPolymorphicDomainObjectContainer.java
    • -2
    • +2
    ./gradle/api/internal/NamedDomainObjectContainerConfigureDelegate.java
    • -2
    • +2
    ./gradle/api/internal/PolymorphicDomainObjectContainerConfigureDelegate.java
    • -13
    • +54
    ./gradle/util/ConfigureUtil.java
  1. … 1 more file in changeset.
Introduce `getLinkNames` on `MutableModelNode`

This avoids calling `ensureAtLeast` on target links to determine the name of the tasks.

+review REVIEW-5921

  1. … 4 more files in changeset.
Fixed incorrect logging manager being used

+review REVIEW-5921

    • -4
    • +5
    ./gradle/api/internal/AbstractTask.java
Support authentication for pluginRepositories

  1. … 11 more files in changeset.
Mark ScriptPluginFactoryProvider as @Incubating

Fixed static fields that should be final.

This commit fixes a number of static fields that were not declared final, although never updated.

    • -6
    • +6
    ./gradle/api/internal/AbstractTask.java
    • -2
    • +2
    ./gradle/api/internal/file/delete/Deleter.java
  1. … 15 more files in changeset.
Lazy initialization of dynamic objects

Not all tasks will trigger the use of the dynamic objects, so it's preferable to avoid creating one during construction: it both saves task creation time and memory.

+review REVIEW-5921

    • -8
    • +24
    ./gradle/api/internal/AbstractTask.java
Remove temporarily dead code.

- We might bring these classes back when supporting the

pluginRepositories block in init files.

Cleanup javadoc for plugin repositories.

Get rid of TaskScopeServices

The `TaskScopeServices` service was created for each task, in hope we could lazily initialize some dependents. Typically,

task inputs and outputs were created using this. However, in practice, they are always eagerly initialized during the

task creation. This leads to both increased memory usage (because each task has a companion service) and performance

penalty (because injecting services as well as calling `get` on them is expensive).

This commit replaces the use of `TaskScopeServices` with eagerly created instances.

+review REVIEW-5921

    • -13
    • +25
    ./gradle/api/internal/AbstractTask.java
  1. … 2 more files in changeset.
Introduce ScriptPluginFactoryProvider SPI

    • -0
    • +36
    ./gradle/configuration/ScriptPluginFactoryProvider.java
    • -0
    • +77
    ./gradle/configuration/ScriptPluginFactorySelector.java
  1. … 1 more file in changeset.
Support optional projects in classpath manifests

  1. … 1 more file in changeset.
Add opt-in for Gradle Plugin Portal

If the user specifies any pluginRepositories, the Plugin Portal is now

deactivated by default. It can be added with an explicit method call.

  1. … 7 more files in changeset.
Polish BuildScopeServices

  1. … 1 more file in changeset.
Added back an old class that is exposed in the bytecode of compiled tasks.

    • -0
    • +1
    ./gradle/api/internal/AbstractPolymorphicDomainObjectContainer.java
    • -0
    • +26
    ./gradle/api/internal/DynamicObject.java
Moved classes related to dispatching property and method requests to live in their own package.

    • -198
    • +0
    ./gradle/api/internal/AbstractDynamicObject.java
    • -2
    • +3
    ./gradle/api/internal/AbstractPolymorphicDomainObjectContainer.java
    • -0
    • +1
    ./gradle/api/internal/AbstractTask.java
    • -117
    • +0
    ./gradle/api/internal/CompositeDynamicObject.java
    • -95
    • +0
    ./gradle/api/internal/DynamicObject.java
  1. … 35 more files in changeset.
Fixed missing property exception thrown by `ConfigureUtil.configureByMap()`

Reverted change to expose the target container to named object container configure closures, to switch back to exposing the `ConfigureDelegate` wrapper instead.

Make this change in Gradle 3.0 instead.

  1. … 2 more files in changeset.
Use the correct owner for configuration closures.

Improve property and method lookup from some configuration closures, by short-circuiting the inefficient lookup in `Closure` and reusing the lookup in `ConfigureDelegate` instead.

Currently this improvement is applied only in a few places in the DSL, in particular when configuring any named container (but not its elements). A later change will roll this out more widely.

This change also removed duplicate property and method lookup on the owner object for these closures, improves error reporting on missing property or method so that the actual target of the configure closure is reported, and also cleans up the closure parameter and closure.delegate objects that are visible to the closure body so that they are always the target object.

    • -1
    • +1
    ./gradle/api/internal/AbstractPolymorphicDomainObjectContainer.java
    • -1
    • +1
    ./gradle/api/internal/AbstractTask.java
    • -35
    • +15
    ./gradle/util/ConfigureUtil.java
  1. … 6 more files in changeset.
Simplified the interaction between `ConfigureDelegate` and its subclasses, and improved the 'missing property' and 'missing method' exceptions thrown by `ConfigureDelegate`.

    • -0
    • +15
    ./gradle/api/internal/DynamicObject.java
    • -0
    • +16
    ./gradle/api/internal/ExtensibleDynamicObject.java
    • -6
    • +5
    ./gradle/api/internal/NamedDomainObjectContainerConfigureDelegate.java
    • -13
    • +8
    ./gradle/api/internal/PolymorphicDomainObjectContainerConfigureDelegate.java
Fix TaskStateInternal's description

    • -1
    • +1
    ./gradle/api/internal/AbstractTask.java
  1. … 1 more file in changeset.
Simplify FileNormaliser

  1. … 1 more file in changeset.
Cache AbstractProject.getBuildDir()

Use a shared constructor cache for all dependency injecting class generators

+review REVIEW-5921

  1. … 5 more files in changeset.
Eliminate OperatingSystem.current calls in FileNormaliser.normalise

- OperatingSystem.current() is an expensive call and should be

avoided

Get rid of String.format call in DefaultTaskOutputs constructor

Add support for Ivy plugin Repositories.

  1. … 7 more files in changeset.
Improve normalising check

  1. … 1 more file in changeset.
Refactor to improve clarity