internal

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Expose deprecation warning messages and stacktraces via build operations (#5881)

Expose deprecation warnings as operation progress events

- introduce split of message, warning and advice

- make deprecation progress events immutable

- rework deprecation handling/messages to support more a richer model

- update build operation progress model

- tweak existing deprecation warnings to match new model

- Add performance test + make stacktrace calculation for build ops lazy

- Always include a trace with FeatureUsage now that its always required

  1. … 65 more files in changeset.
Require distribution in less integration tests

No distribution is required in any of the tests changed here.

Requiring a distribution has several drawbacks:

- you need to run intTestImage before testing any change

- the test can't run in the embedded executer, making it slow

- the test is harder to debug, as it's not run in the embedded executer

There are probably more tests that don't really needs this,

but just changing these few should improve turnarounds a bit.

    • -3
    • +0
    ./tasks/SnapshotTaskInputsOperationIntegrationTest.groovy
  1. … 6 more files in changeset.
Add assertRawErrorOutput method to execution result fixtures

    • -3
    • +3
    ./buildevents/AbstractBuildResultLoggerFunctionalTest.groovy
  1. … 5 more files in changeset.
Add test coverage for console attached to stderr but not stdout

    • -2
    • +2
    ./buildevents/AbstractBuildResultLoggerFunctionalTest.groovy
  1. … 9 more files in changeset.
Simplify ConsoleAttachment so that it always carries the console metadata with it

    • -0
    • +1
    ./buildevents/AbstractBuildResultLoggerFunctionalTest.groovy
    • -1
    • +0
    ./buildevents/RichConsoleBuildResultLoggerFunctionalTest.groovy
    • -1
    • +0
    ./buildevents/VerboseConsoleBuildResultLoggerFunctionalTest.groovy
  1. … 8 more files in changeset.
Make rich/verbose consoles behave similar to plain when streams are not attached

    • -2
    • +2
    ./buildevents/AbstractBuildResultLoggerFunctionalTest.groovy
    • -2
    • +2
    ./buildevents/RichConsoleBuildResultLoggerFunctionalTest.groovy
    • -2
    • +2
    ./buildevents/VerboseConsoleBuildResultLoggerFunctionalTest.groovy
  1. … 22 more files in changeset.
Fix BuildResultLogger tests when using rich/verbose consoles

    • -1
    • +2
    ./buildevents/RichConsoleBuildResultLoggerFunctionalTest.groovy
    • -1
    • +2
    ./buildevents/VerboseConsoleBuildResultLoggerFunctionalTest.groovy
Introduce a test runner for the various console configurations

    • -29
    • +0
    ./buildevents/PlainConsoleAttachedToStdoutBuildResultLoggerFunctionalTest.groovy
    • -4
    • +0
    ./buildevents/PlainConsoleBuildResultLoggerFunctionalTest.groovy
    • -29
    • +0
    ./buildevents/PlainConsoleNotAttachedBuildResultLoggerFunctionalTest.groovy
    • -29
    • +0
    ./buildevents/RichConsoleAttachedToStdoutBuildResultLoggerFunctionalTest.groovy
    • -4
    • +0
    ./buildevents/RichConsoleBuildResultLoggerFunctionalTest.groovy
    • -29
    • +0
    ./buildevents/VerboseConsoleAttachedToStdoutBuildResultLoggerFunctionalTest.groovy
    • -4
    • +0
    ./buildevents/VerboseConsoleBuildResultLoggerFunctionalTest.groovy
  1. … 58 more files in changeset.
Fix BuildResult logging tests

    • -7
    • +11
    ./buildevents/AbstractBuildResultLoggerFunctionalTest.groovy
    • -0
    • +29
    ./buildevents/PlainConsoleAttachedToStdoutBuildResultLoggerFunctionalTest.groovy
    • -2
    • +6
    ./buildevents/PlainConsoleBuildResultLoggerFunctionalTest.groovy
    • -0
    • +29
    ./buildevents/PlainConsoleNotAttachedBuildResultLoggerFunctionalTest.groovy
    • -0
    • +29
    ./buildevents/RichConsoleAttachedToStdoutBuildResultLoggerFunctionalTest.groovy
    • -5
    • +7
    ./buildevents/RichConsoleBuildResultLoggerFunctionalTest.groovy
    • -0
    • +29
    ./buildevents/VerboseConsoleAttachedToStdoutBuildResultLoggerFunctionalTest.groovy
    • -1
    • +7
    ./buildevents/VerboseConsoleBuildResultLoggerFunctionalTest.groovy
  1. … 5 more files in changeset.
Dogfood ImmutableFileCollection on production code (#4988)

This reverts commit 13eaebc2b1244511dcbff4c59cd41253e3b69642.

    • -0
    • +33
    ./file/collections/SimpleFileCollectionIntegrationTest.groovy
    • -1
    • +1
    ./tasks/TaskCacheabilityReasonIntegrationTest.groovy
  1. … 87 more files in changeset.
Revert "Dogfood ImmutableFileCollection on production code (#4988)"

This reverts commit 834632674ca29b6fd190857947338b2b54a9bb62.

The commit caused a bug in incremental compilation, causing changes

to go undetected.

    • -33
    • +0
    ./file/collections/SimpleFileCollectionIntegrationTest.groovy
    • -1
    • +1
    ./tasks/TaskCacheabilityReasonIntegrationTest.groovy
  1. … 87 more files in changeset.
Dogfood ImmutableFileCollection on production code (#4988)

Use ImmutableFileCollection in production code

    • -0
    • +33
    ./file/collections/SimpleFileCollectionIntegrationTest.groovy
    • -1
    • +1
    ./tasks/TaskCacheabilityReasonIntegrationTest.groovy
  1. … 87 more files in changeset.
Remove model rules from java-base plugin

The java-base plugin has a bridging layer that

makes SourceSets available as binaries in the

software model. Using the software model for

JVM projects was never fully implemented and is

now discouraged.

The plugin now only creates those bridged binaries

if another plugin or build script uses the software

model.

    • -6
    • +0
    ./plugins/ApplyPluginBuildOperationIntegrationTest.groovy
  1. … 4 more files in changeset.
Split CodeNarc configuration for integration tests

Now that there are rules specific to integration tests, we have a dedicated

configuration file. This should avoid some accidental noise, and removes

the need to check for `Integration` in the test name, which helped discover

a few more problems.

    • -0
    • +1
    ./buildevents/AbstractBuildResultLoggerFunctionalTest.groovy
    • -2
    • +2
    ./changedetection/state/UpToDateIntegTest.groovy
  1. … 6 more files in changeset.
Add new test coverage

    • -0
    • +194
    ./changedetection/state/AbstractBrokenSymbolicLinkUpToDateIntegrationTest.groovy
    • -0
    • +63
    ./changedetection/state/InputDirectoryContainingDanglingBrokenSymbolicLinkUpToDateIntegrationTest.groovy
    • -0
    • +61
    ./changedetection/state/OutputDirectoryContainingDanglingBrokenSymbolicLinkUpToDateIntegrationTest.groovy
  1. … 2 more files in changeset.
Ensure console tests run with plain, rich and verbose modes

    • -0
    • +69
    ./buildevents/AbstractBuildResultLoggerFunctionalTest.groovy
    • -64
    • +0
    ./buildevents/BuildResultLoggerFunctionalSpec.groovy
    • -0
    • +25
    ./buildevents/PlainConsoleBuildResultLoggerFunctionalTest.groovy
    • -0
    • +27
    ./buildevents/RichConsoleBuildResultLoggerFunctionalTest.groovy
    • -0
    • +23
    ./buildevents/VerboseConsoleBuildResultLoggerFunctionalTest.groovy
  1. … 15 more files in changeset.
Change int tests to use relevant fixture methods to express their expectations about the build log output.

    • -2
    • +2
    ./tasks/TaskCacheabilityReasonIntegrationTest.groovy
  1. … 28 more files in changeset.
Remove the assumption that all console tests are rich console tests

    • -2
    • +5
    ./buildevents/BuildResultLoggerFunctionalSpec.groovy
  1. … 15 more files in changeset.
Stabilize memory leak avoidance test

It seems that the leak was too fast and the JVM

sometimes gave up even though it could have

collected more garbage. The test now uses a

much slower leak and more iterations. Since

that makes the test a lot slower, it is now

classified as a soak test.

    • -57
    • +0
    ./initialization/loadercache/ClassLoaderLeakAvoidanceIntegrationTest.groovy
  1. … 1 more file in changeset.
Track implementation without trailing `.class`

    • -7
    • +7
    ./project/taskfactory/TaskPropertyNamingIntegrationTest.groovy
  1. … 8 more files in changeset.
Wait between iterations of memory leak test

IBM JVMs sometimes falsely report being out of

heap space. Let's see if a small grace period

helps.

    • -0
    • +1
    ./initialization/loadercache/ClassLoaderLeakAvoidanceIntegrationTest.groovy
Fix convention mapping class loader leak

The reflection cache keeps a set of property names for each class.

This set was provided by calling keySet() on a map which contains

class values. The keyset would thus keep a strong reference back

to its map and all of its values, leading to a classloader leak.

We now do a defensive copy of they keyset to avoid surprises for

callers of this method.

    • -0
    • +56
    ./initialization/loadercache/ClassLoaderLeakAvoidanceIntegrationTest.groovy
  1. … 1 more file in changeset.
Fix convention mapping class loader leak

The reflection cache keeps a set of property names for each class.

This set was provided by calling keySet() on a map which contains

class values. The keyset would thus keep a strong reference back

to its map and all of its values, leading to a classloader leak.

We now do a defensive copy of they keyset to avoid surprises for

callers of this method.

    • -0
    • +56
    ./initialization/loadercache/ClassLoaderLeakAvoidanceIntegrationTest.groovy
  1. … 1 more file in changeset.
Do not restart unnamed property counter

When unnamed properties are assigned a name like etc., we now keep track

of the last number assigned, and if more unnamed properties are registered,

we don't restart counting from , resulting in property name collisions.

    • -0
    • +79
    ./project/taskfactory/TaskPropertyNamingIntegrationTest.groovy
  1. … 9 more files in changeset.
Allow enabling build cache in all integration tests

Signed-off-by: Lóránt Pintér <lorant@gradle.com>

    • -48
    • +48
    ./changedetection/rules/OverlappingOutputsIntegrationTest.groovy
    • -14
    • +14
    ./tasks/TaskCacheabilityReasonIntegrationTest.groovy
  1. … 26 more files in changeset.
Start nested iterable naming from zero

Signed-off-by: Stefan Wolf <wolf@gradle.com>

    • -3
    • +3
    ./project/taskfactory/TaskPropertyNamingIntegrationTest.groovy
  1. … 3 more files in changeset.
Make unknown nested inputs available to build scan plugin (#3958)

The build scan plugin should be aware when a task is not cached or not

up-to-date if nested inputs have been loaded by a classloader not

managed by Gradle.

    • -3
    • +42
    ./tasks/SnapshotTaskInputsOperationIntegrationTest.groovy
  1. … 4 more files in changeset.
Use `.class` instead of `.$$implementation` for nested property implementation (#3965)

Instead of introducing a new generated property for nested beans we

should re-use the `.class` property which is already present.

    • -4
    • +2
    ./project/taskfactory/TaskPropertyNamingIntegrationTest.groovy
  1. … 8 more files in changeset.
Allow rich Java compiler arguments (#3858)

This allows adding richer compiler arguments to JavaCompile.

    • -16
    • +57
    ./project/taskfactory/TaskPropertyNamingIntegrationTest.groovy
  1. … 30 more files in changeset.
Allow `ListProperty<T>` and `SetProperty<T>` properties to be set using any `Iterable<T>` or `Provider<Iterable<T>`, including through the Groovy DSL.

`ListProperty` and `SetProperty` no longer extend `Property`, as this type requires the same type to be used to set and query the property value.

Also added an (internal for now) lockable `SetProperty` implementation.

    • -0
    • +131
    ./provider/ListPropertyIntegrationTest.groovy
    • -125
    • +0
    ./provider/ListPropertyTaskIntegrationTest.groovy
  1. … 24 more files in changeset.