Gradle

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Some quick workarounds to address issues running Gradle on the modular Java 9 JVM:

- `FilteringClassLoader` can use the public `ClassLoader.getDefinedPackages()` method on Java 9, rather than using reflection to use a protected method on `ClassLoader`.

- Fixes to dynamic class generation to use a different strategy for injecting generated classes.

This is just a hack to get something working so that other problems can be discovered.

Reworked integration test to avoid using libraries from maven central or using the Java plugin (to avoid a cyclic dependency).

Renamed a few parameters and lvars for clarity.

Use @InputFile/@Internal for example in release notes

+review REVIEW-6365

    • -5
    • +5
    /subprojects/docs/src/docs/release/notes.md
Bump Gradle version

    • -2
    • +2
    /gradle/wrapper/gradle-wrapper.properties
Optimise somewhat for the common case of a single artifact attached to a graph node.

Moved application of artifact transforms from `DefaultConfiguration` down to `DefaultLenientConfiguration` so that they are applied for all file/artifact query methods.

Merge branch 'release'

Update Gradle wrapper to 3.2

    • -2
    • +2
    /gradle/wrapper/gradle-wrapper.properties
Add build time measurement to detailed stats

    • -0
    • +8
    /gradle/taskCacheDetailedStatsInit.gradle
Fix typo

    • -1
    • +1
    /gradle/taskCacheDetailedStatsInit.gradle
Avoid hash collisions

Avoid hash collisions by prepending the length

before adding the content for each value to hash.

+review REVIEW-6369

Use timestamped version always (#754)

The motivation behind this is that we want to be able to cache of the

Gradle build - even when we use a timestamped version when the build receipt

includes a timestamp.

The strategy is that we use a different build receipt which doesn't

include a timestamp or commitId.

When building the intTestImage we replace the version info included

in the distribution by the one used for tests, since the Gradle version

for the test needs to be the same as for the distribution under test.

We also create a binary distribution used for tests only.

We changed the names of the distributions in `build/distributions` to

only contain the base versions - therefore we will also need to change

the promotion jobs.

As part of this we changed that:

- create a tooling api shaded jar with the test version inside for

tests

- Publish only the tooling api shaded jar with the test version to the local repo - only this jar is

used from the repo from tests

- Use base version in distribution zip name - this makes is much easier

to access the zip from tests

- Pass version of bin distribution to integration tests in

distributions - these are still testing the docs having a timestamp in

it

- for IDEA integration we need to have the build receipt on the classpath

when running integration tests. Looks like we currently

need to modify the idea model manually to achieve this.

    • -0
    • +3
    /gradle/taskCacheBuildScanUserData.gradle
  1. … 14 more files in changeset.
Use `ResolvedArtifactSet` abstraction rather than sets of stuff in a few more places during artifact/file calculation.

  1. … 3 more files in changeset.
Added an abstraction to take care of some of the differences between files/artifacts contributed by file dependencies and file/artifacts contributed by other dependencies, when calculating the file or artifacts of a configuration.

Merged a few types related to collecting the artifacts for a configuration

when visiting the files/artifacts of a configuration, lookup the files for a file dependency using the `long` id for the graph node rather than the `ResolvedConfigurationIdentifier` for the node. This is a little more efficient, means that a node does not need to have a `ResolvedConfigurationIdentifier`, and is closer to how other artifacts are attached to the nodes.

Added some more test coverage for `ResolvedConfiguration` and `LenientConfiguration` APIs.

Javadocs.

Added more coverage for the various methods of `ResolvedConfiguration` and `LenientConfiguration`. Fixed a regression in `LenientConfiguration.files` introduced in some earlier refactoring.

Also added some convenience overloads for the various filtered methods on these types.

Introduced an internal type to represent the nodes of the resolved dependency graph, used when calculating the files/artifacts of a configuration, instead of `ResolvedDependency`.

This will allow the data required to calculate this result to be efficiently exposed without requiring changes to the public contracts. It's not yet, as `DefaultResolvedDependency` simply implements this interface as well, backed by the data it already has.

Added `@Nullable` and `@Incubating` to new method.

Expect a few more jars in the distribution, as the updated native-platform version contains a few more platform-specific jars.

Updated to a new version of native-platform library.

Fix typo in javadoc for TaskOutputCache

Add TC build name to build scan tags

Remove mention of 3.2 Jansi issue

    • -8
    • +0
    /subprojects/docs/src/docs/release/notes.md
Add release notes for change in annotation behavior on task properties

+review REVIEW-6365

    • -28
    • +28
    /subprojects/docs/src/docs/release/notes.md
Add input property override integration test

+review REVIEW-6365

Fix typo