CacheProjectIntegrationTest.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>

  1. … 872 more files in changeset.
Annotate integ tests failing with instant execution in various projects

after first round of CI feedback

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

  1. … 58 more files in changeset.
Annotate integ tests failing with instant execution in various projects

after first round of CI feedback

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

  1. … 58 more files in changeset.
Remove dependency on HashCode in HashUtil

  1. … 5 more files in changeset.
Remove dependency on HashCode in HashUtil

  1. … 5 more files in changeset.
Remove dependency on HashCode in HashUtil

  1. … 5 more files in changeset.
Make script source hashing faster

Do not calcualte the hash for the same script multiple times.

The hash is now stored in the text resource itself so we don't need

an externall managed cache. The UriTextResource implementation has

been thoroughly optimized for local file URIs. Previously reading

those in was a major bottleneck due to copying every byte into 4(!)

different buffers.

Adding the HashCode to the TextResource made me aware of the fact

that the tooling API depended on these interfaces, although it should

never be reading scripts. It turns out that the script was attached to

the BuildLayout, where it didn't really belong. It is now only created

once the build is running and we are actually trying to load the settings

file. There were a few changes to types marked with @UsedByScanPlugin.

These were all checked against the scan plugin code base to ensure they

are safe. The reported data is now more accurate as it returns a `null`

value for a non-existing settings file instead of reporting a dummy path.

  1. … 24 more files in changeset.
Reuse cached content when hashing scripts

This ensures that the hash and the compiled script are taken from

the same source code and neither picks up any changes that the user

does during the build.

Fixes #7992

  1. … 2 more files in changeset.
Reuse cached content when hashing scripts

This ensures that the hash and the compiled script are taken from

the same source code and neither picks up any changes that the user

does during the build.

Fixes #7992

  1. … 2 more files in changeset.
Rename cache

  1. … 2 more files in changeset.
Remove --recompile-scripts option

The corresponding `StartParameter` property is now deprecated.

Resolves #6306.

    • -19
    • +0
    ./CacheProjectIntegrationTest.groovy
  1. … 23 more files in changeset.
Remove --recompile-scripts option

The corresponding `StartParameter` property is now deprecated.

Resolves #6306.

    • -19
    • +0
    ./CacheProjectIntegrationTest.groovy
  1. … 23 more files in changeset.
Remove unused code

ContentHasherFactory has no real use, so let's decrease complexity.

  1. … 11 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.

  1. … 6 more files in changeset.
Deprecate --recompile-scripts (#2894)

Deprecate --recompile-scripts #1425

  1. … 4 more files in changeset.
Use our own hashing architecture, take 2 (#2817)

This replaces Guava's hashing. We need this for two reasons:

- it allows the addition of custom hash functions, like BLAKE2b which would not be possible with Guava's closed design

- it fixes a few performance issues that Guava only fixes in version 20 (which we can't upgrade to right now, because we still need to support Java 5 in places)

  1. … 159 more files in changeset.
Move FileHasher to base-services

+review REVIEW-6562

  1. … 74 more files in changeset.
Hash script sources separately

+review REVIEW-6562

  1. … 22 more files in changeset.
Fixed test for changes to task history cache name.

    • -17
    • +1
    ./CacheProjectIntegrationTest.groovy
Rename method to better reflect its purpose

See gradle/gradle-script-kotlin#31

+review REVIEW-6356

  1. … 3 more files in changeset.
Merge Hasher and FileSnapshotter into FileHasher

We were using these only to get to the hash of files and stuff anyway. This simplifies the code somewhat, especially tests, because they can now use DefaultFileHasher instead of having to mock several methods.

+review REVIEW-6303

  1. … 32 more files in changeset.
Use Thread.sleep instead of DGM.sleep

- DGM.sleep implementation might not behave nicely when time leaps

because of clock adjustment

  1. … 1 more file in changeset.
Attempt to fix test failure

- make sure file modification times change between builds

+review REVIEW-6258

    • -0
    • +16
    ./CacheProjectIntegrationTest.groovy
Make CodeNarc happy

+review REVIEW-6127

Fix failing test

+review REVIEW-6141

  1. … 1 more file in changeset.
Use old API methods for task inputs and outputs

Will revert deprecation in next commit.

+review REVIEW-6038

  1. … 38 more files in changeset.
Revert "Temporarily reverting everything since 810f052813ea0835dc7e9d3eb87bca005815db64 for 3.0-milestone-1 release"

This reverts commit 506f8ce9d6dc1a81e8ff10575c512778ca2f382a.

  1. … 199 more files in changeset.
Temporarily reverting everything since 810f052813ea0835dc7e9d3eb87bca005815db64 for 3.0-milestone-1 release

  1. … 199 more files in changeset.
Bind task output files to properties

This change introduces a binding between task properties and output files. Output annotations automatically register property values to the corresponding property name.

The `TaskOutputs` API gained new methods with an `include` prefix that allow more flexible configuration of output properties, including specifying the property name to bind the files to. The old methods have been deprecated.

Properties that were not assigned a property name will be bound to a sequence of pseudo names like `$1`, `$2` etc.

+review REVIEW-6038

  1. … 41 more files in changeset.
Fix computation of hash for script classloader cache key

- Implement `equals`/`hashCode` for `MutableURLClassLoader`

- Do not include the parent classloader in the hashcode of a `FilteringClassLoader` or `MutableURLClassLoader`

- Use a visitor for computing the key cache

  1. … 4 more files in changeset.