Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Remove `StringScriptSource`, to be replaced with the existing `TextResourceScriptSource`.

    • -3
    • +5
    ./internal/PluginRequestCollectorTest.groovy
  1. … 10 more files in changeset.
Remove `StringScriptSource`, to be replaced with the existing `TextResourceScriptSource`.

    • -3
    • +5
    ./internal/PluginRequestCollectorTest.groovy
  1. … 10 more files in changeset.
Remove `StringScriptSource`, to be replaced with the existing `TextResourceScriptSource`.

    • -3
    • +5
    ./internal/PluginRequestCollectorTest.groovy
  1. … 10 more files in changeset.
Remove `StringScriptSource`, to be replaced with the existing `TextResourceScriptSource`.

    • -3
    • +5
    ./internal/PluginRequestCollectorTest.groovy
  1. … 10 more files in changeset.
Remove `StringScriptSource`, to be replaced with the existing `TextResourceScriptSource`.

    • -3
    • +5
    ./internal/PluginRequestCollectorTest.groovy
  1. … 10 more files in changeset.
Forbid the use of `apply: false` for plugins in settings scripts

    • -2
    • +17
    ./internal/PluginRequestCollectorTest.groovy
  1. … 13 more files in changeset.
Execute the `plugins` block in order to extract plugin requests

Previously, we were extracting `PluginRequests` when compiling a build script,

using AST transforms. This prevented any sort of dynamic behaviour within the

plugins block, such as reading plugin versions from a properties file.

This behaviour was by design, and the syntax of the plugins block was explicitly

restricted to ensure the plugin requests were statically defined.

This restricted syntax has been the cause of much user angst, and the expected

benefits of a truly imperative plugins block have not eventuated. Furthermore,

the implementation of `plugins` in the Kotlin DSL does not add the same

restrictions.

With this change, the `plugins` block is actually invoked to extract any plugin

requests. While the restricted syntax remains (for now), this change opens up

the possibility of supporting property replacement for version numbers and other

dynamic behaviour.

One limitation of this change is that the line number of each plugin request

is not captured correctly: the line number is always reportes as 0 for any

request. Several tests are failing due to this limitation.

    • -52
    • +0
    ./internal/PluginRequestsSerializerTest.groovy
  1. … 7 more files in changeset.
Hacky way to preserve line numbers

    • -1
    • +1
    ./internal/PluginRequestCollectorTest.groovy
  1. … 3 more files in changeset.
Use pluginsBlock line number

    • -1
    • +1
    ./internal/PluginRequestCollectorTest.groovy
  1. … 3 more files in changeset.
Handle null value

    • -6
    • +7
    ./internal/PluginRequestsSerializerTest.groovy
  1. … 3 more files in changeset.
Remove types and support for org.gradle.plugin.use.PluginDependenciesSpec

    • -2
    • +2
    ./internal/PluginRequestCollectorTest.groovy
  1. … 5 more files in changeset.
Split PluginRequest implementation

    • -6
    • +7
    ./internal/PluginRequestsSerializerTest.groovy
  1. … 15 more files in changeset.
PluginRequest.script is-a URI

    • -2
    • +2
    ./internal/PluginRequestsSerializerTest.groovy
  1. … 6 more files in changeset.
Allow script plugins to be applied via the plugins DSL

Remote URLs are also supported:

```

plugins {

script "path/to/other.gradle"

script "https://example.com/another.gradle"

}

```

Local file paths are expressed as relative from the requesting script.

Constrain plugins {} block api to distinguish binary and script

plugin requests by both strongly modeled types and ad-hoc groovy parsing

of the plugins block. This pave the way for proper support of the

plugins {} block with the Gradle Kotlin DSL.

Implement ScriptPlugin PluginResolver by generating a synthetic

"imperative" Plugin class that loads and applies the script plugin when

applied.

This synthetic generated loader class and the script plugins are loaded

into the buildSrc classloader scope.

Only Project targets are supported.

`apply false` is not supported.

    • -8
    • +12
    ./internal/PluginRequestsSerializerTest.groovy
  1. … 64 more files in changeset.
Polish pluginManagement DSL

    • -8
    • +7
    ./internal/PluginRequestCollectorTest.groovy
    • -0
    • +3
    ./internal/PluginRequestsSerializerTest.groovy
  1. … 103 more files in changeset.
Revert "Revert changes for custom plugin portal"

This reverts commit 2288791711e1f2e8edbc5af11c9348d48038f79e.

    • -2
    • +2
    ./internal/PluginRequestCollectorTest.groovy
    • -2
    • +1
    ./internal/PluginRequestsSerializerTest.groovy
  1. … 74 more files in changeset.
Revert changes for custom plugin portal

Revert 634e8884b8c8af88de7b45400d9448dcfb7687cf - add plugin resolution improvements to release notes

Revert 7164418390ebfa366eac77a8064d94ab386b7857 - Make pluginRepositories available in init scripts

reverts commit a1f3919be2d8b18e70c9777ba768b95272a08d1c.

reverts commit e996ec71a78dfd88d43f0e9bf589ca8b29c3160c.

reverts commit 02ae8d7131ed123238eb3a6dd200dfc8e8b360f7.

reverts commit 72f57e195af6e677316252f59965c17e889bb6bf.

reverts commit 9dcc63dad116b55cb860c89e3d749d58c787fbbe.

Revert e0b7a1c9febf72f8ca8a00a9e7f68089b3cda9ce - Tests and bug fixes for custom plugin portal

reverts commit e8805c1616912322e5441016e38329e11af3ca63.

reverts commit 20b815f768dea7f3bca48664233d13174d2e0f60.

Revert 0ae9da185d0df9b5831dce48eca21118d1fac5d7 - Move PluginId to interface

Revert 52c8306d872778404cbbd117bc2214da9f76e0c1 - Public interface changes for custom plugin portal

reverts commit 27ec8f7e535778f4fbb93df09937b027ac1ca488.

Revert 1b3f52920d8bf82be470d1aa972af21af5902f32 for custom plugin portal

Revert 71d6282cecba8ac5becad3f13f29f122212c0ff2 for custom plugin portal

reverts commit 500f9a90ea1775f4b5fe02fa9122750a10e90a5c.

Revert fa2963120a9d84bc156cb7418339ffccc2f88629 for custom plugin portal

Revert 7141b00cd487e265b08aaef364477870ccb38655 for custom plugin portal

    • -2
    • +2
    ./internal/PluginRequestCollectorTest.groovy
    • -1
    • +2
    ./internal/PluginRequestsSerializerTest.groovy
  1. … 75 more files in changeset.
Moved PluginId to an interface & docs

PluginId was pulled into an interface so that we can control the

creation of those instances.

    • -2
    • +1
    ./internal/PluginRequestsSerializerTest.groovy
  1. … 10 more files in changeset.
Moved PluginId to an interface & docs

PluginId was pulled into an interface so that we can control the

creation of those instances.

    • -2
    • +1
    ./internal/PluginRequestsSerializerTest.groovy
  1. … 10 more files in changeset.
Encapsulate instantiation of DefaultPluginRequests

So `DefaultPluginRequests` doesn't have to be used by

gradle-script-kotlin.

See gradle/gradle-script-kotlin#186

    • -1
    • +1
    ./internal/PluginRequestCollectorTest.groovy
  1. … 3 more files in changeset.
Removing the interface and renaming impl

Removed PluginId interface and made DefaultPluginId be a class that we

share and part of the public API.

    • -2
    • +2
    ./internal/PluginRequestsSerializerTest.groovy
  1. … 36 more files in changeset.
Removing the interface and renaming impl

Removed PluginId interface and made DefaultPluginId be a class that we

share and part of the public API.

    • -2
    • +2
    ./internal/PluginRequestsSerializerTest.groovy
  1. … 36 more files in changeset.
Refactored names of classes, and finished up api

- Moved PluginRequest to InternalPluginRequest

- Created PluginRequest that InternalPluginRequest extends

- Made the code compile for RuleBasedPluginRepository

    • -2
    • +2
    ./internal/PluginRequestCollectorTest.groovy
  1. … 49 more files in changeset.
Refactored names of classes, and finished up api

- Moved PluginRequest to InternalPluginRequest

- Created PluginRequest that InternalPluginRequest extends

- Made the code compile for RuleBasedPluginRepository

    • -2
    • +2
    ./internal/PluginRequestCollectorTest.groovy
  1. … 49 more files in changeset.
Working on the changes per Stefan's request.

Moving PluginId to be a public Interface, and then created an

implementation called DefaultPluginId

Added the first phase of interfaces (inside the class, will move out

later) so that I can start working on the API under the hood.

    • -2
    • +2
    ./internal/PluginRequestsSerializerTest.groovy
  1. … 35 more files in changeset.
Working on the changes per Stefan's request.

Moving PluginId to be a public Interface, and then created an

implementation called DefaultPluginId

Added the first phase of interfaces (inside the class, will move out

later) so that I can start working on the API under the hood.

    • -2
    • +2
    ./internal/PluginRequestsSerializerTest.groovy
  1. … 35 more files in changeset.
Revert "Temporarily reverting everything since 810f052813ea0835dc7e9d3eb87bca005815db64 for 3.0-milestone-1 release"

This reverts commit 506f8ce9d6dc1a81e8ff10575c512778ca2f382a.

    • -2
    • +2
    ./internal/PluginRequestCollectorTest.groovy
    • -3
    • +4
    ./internal/PluginRequestsSerializerTest.groovy
  1. … 198 more files in changeset.
Temporarily reverting everything since 810f052813ea0835dc7e9d3eb87bca005815db64 for 3.0-milestone-1 release

    • -2
    • +2
    ./internal/PluginRequestCollectorTest.groovy
    • -4
    • +3
    ./internal/PluginRequestsSerializerTest.groovy
  1. … 198 more files in changeset.
Add `apply false` option to `plugins` block

This solves two use cases at once:

- only using some classes from a plugin without applying it

- applying a plugin to sub-projects without applying it to the root project

    • -2
    • +2
    ./internal/PluginRequestCollectorTest.groovy
    • -3
    • +4
    ./internal/PluginRequestsSerializerTest.groovy
  1. … 17 more files in changeset.
Revert plugins.subprojects syntax, as we are considering another solution

    • -0
    • +79
    ./internal/PluginRequestCollectorTest.groovy
    • -0
    • +48
    ./internal/PluginRequestsSerializerTest.groovy
    • -68
    • +0
    ./internal/ProjectPluginRequestCollectorTest.groovy
  1. … 35 more files in changeset.