CompositeBuildPluginDevelopmentIntegrationTest.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Rename @FailsWithInstantExecution to @ToBeFixedForInstantExecution

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

    • -11
    • +11
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
  1. … 872 more files in changeset.
Annotate integ tests failing with instant execution in :compositeBuilds

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

    • -0
    • +11
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
  1. … 27 more files in changeset.
Annotate integ tests failing with instant execution in :compositeBuilds

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

    • -0
    • +11
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
  1. … 27 more files in changeset.
Annotate integ tests failing with instant execution in :compositeBuilds

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

    • -0
    • +11
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
  1. … 27 more files in changeset.
Let composite-build tests not use deprecated configurations

    • -1
    • +1
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
  1. … 12 more files in changeset.
Let composite-build tests not use deprecated configurations

    • -1
    • +1
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
  1. … 12 more files in changeset.
Let composite-build tests not use deprecated configurations

    • -1
    • +1
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
  1. … 12 more files in changeset.
Use java-library and its configurations in ResolveTestFixture

This mainly influences the composite build tests which intensively

use this fixture.

    • -2
    • +2
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
  1. … 13 more files in changeset.
Resolve each plugin id to a local project publication once per consuming build rather than once per reference in a build script

    • -9
    • +30
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
  1. … 1 more file in changeset.
Allow plugins defined in included builds to be resolved using the `plugins { }` block.

The `plugins { }` block in a build script will now substitute a binary plugin with a plugin that has the requested plugin id and that is defined in an included build using the `java-gradle-plugin` plugin. Does not substitute plugins defined in the root build, or in the consuming included build, or in any source dependency. Does not substitute plugins that are not defined using the `java-gradle-plugin`.

    • -10
    • +123
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
  1. … 24 more files in changeset.
Do not attempt to invoke included build for task that has already executed

We were only tracking the tasks that had been _requested_ for execution.

With this change, we also track the tasks that are executed transitively.

This will make composite builds work in cases where the included build

provides a jar to the classpath of an including build, and the classes

directory to the implementation configuration of the same build.

Fixes #7650

    • -3
    • +3
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
  1. … 1 more file in changeset.
Enable a functional test.

    • -9
    • +1
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
Always evaluate publishing block eagerly

This commit makes `enableFeaturePreview('STABLE_PUBLISHING')`

meaningless by always using the new behavior. The flag is kept for

backward compatibility.

    • -3
    • +0
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
  1. … 55 more files in changeset.
Always evaluate publishing block eagerly

This commit makes `enableFeaturePreview('STABLE_PUBLISHING')`

meaningless by always using the new behavior. The flag is kept for

backward compatibility.

    • -3
    • +0
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
  1. … 55 more files in changeset.
Change the lifecycle for included builds so that a given build is loaded and configured at most once, and a given task is executed at most once, during a Gradle invocation.

Previously, an included build could be discarded and its state recreated when tasks from that build were required at both configuration time and execution time of some other builds (possibly different builds for each). This was in order to avoid breaking changes to some public hooks, such as `taskGraph.whenReady()`. However this behaviour just adds too much complexity to justify. Instead, we'll look at replacements and possibly some minor breakages for these hooks.

This change fixes a number of edge cases in mixing plugin and production dependencies on included builds. There are a number of issues with the implementation which will be fixed in later commits.

    • -14
    • +16
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
  1. … 4 more files in changeset.
Some composite build int test tweaks.

    • -10
    • +14
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
  1. … 1 more file in changeset.
Ensure plugin bootstrapping in composites works without workarounds

When a plugin is built inside a composite build and that plugin uses

and older version of itself to build itself, it should not be substituted

into its own `buildscript {}` classpath. This only used to work with some

workarounds, making composites unnecessarily hard to use in that case.

Since Gradle 4.9 this works out of the box. This test change just makes

sure we don't regress again like we did in Gradle 4.1.

    • -4
    • +1
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
Do not attempt to compile a build script when its classpath cannot be built due to a task failure in an included build that contributes to the classpath.

Also restructure the lifecycling of the included build task graphs when building a classpath so that it uses the same methods as the lifecycling for the main build.

    • -1
    • +30
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
  1. … 7 more files in changeset.
Add integration test to demonstrate issue #5234

    • -0
    • +39
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
Removed `BuildIdentifier.isCurrentBuild()`, as this represents _state_ about a build that depends on where the build is being observed from and which prevents a `BuildIdentifier` instance being used as an _identifier_ for the build.

    • -1
    • +0
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
  1. … 7 more files in changeset.
Purge some old TODOs

    • -1
    • +0
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
  1. … 8 more files in changeset.
Removed flaky check for configuration count

Fixes gradle/gradle-private#964

    • -4
    • +1
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
Add integration test for plugin development with composite builds

    • -26
    • +56
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
Test includedBuild that provides buildscript and compile artifact

    • -0
    • +20
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
Test command-line composites with plugins block

    • -2
    • +17
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
Add integTest coverage for composite builds with plugins block

    • -1
    • +66
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
More tests for plugin development with a composite build

- Test transitive plugin dependency that is sourced from an included build

- Test transitive plugin dependency when plugin build is not included

    • -1
    • +57
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
  1. … 1 more file in changeset.
Temporarily ignore test for dependency cycles in composite

The dependendency cycle check in composite builds is not resilient

to parallel execution (for included builds that provide buildscript

dependencies). Temporarily ignoring this test until this issue is

addressed.

    • -0
    • +4
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
Use unique names in attempt to track down flaky test

    • -22
    • +22
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
  1. … 1 more file in changeset.
Fix build events and operations for composite builds

- Add common 'Load build' operation for init and settings of every build

- Fire correct build events for unused included builds

- Fire correct build events for included build executed on-demand for

buildscript classpath

    • -46
    • +0
    ./CompositeBuildPluginDevelopmentIntegrationTest.groovy
  1. … 7 more files in changeset.