distributions.gradle

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Dogfood native test fixtures

This commit replaces our custom test fixtures with the native "Java test fixtures".

The `TestFixturesPlugin` of our build has been simplified to leverage the native

test fixtures capabilities. Some noticeable changes:

- the `testFixtures` extension has been replaced with regular dependency declaration

- dependencies on test fixtures are now declared using the `testFixtures` keyword

- test fixtures properly declare an API and an implementation, meaning that the

implementation dependencies of test fixtures no longer leak into the compile

classpath of consumers (in particular tests)

  1. … 84 more files in changeset.
Dogfood native test fixtures

This commit replaces our custom test fixtures with the native "Java test fixtures".

The `TestFixturesPlugin` of our build has been simplified to leverage the native

test fixtures capabilities. Some noticeable changes:

- the `testFixtures` extension has been replaced with regular dependency declaration

- dependencies on test fixtures are now declared using the `testFixtures` keyword

- test fixtures properly declare an API and an implementation, meaning that the

implementation dependencies of test fixtures no longer leak into the compile

classpath of consumers (in particular tests)

  1. … 84 more files in changeset.
Dogfood native test fixtures

This commit replaces our custom test fixtures with the native "Java test fixtures".

The `TestFixturesPlugin` of our build has been simplified to leverage the native

test fixtures capabilities. Some noticeable changes:

- the `testFixtures` extension has been replaced with regular dependency declaration

- dependencies on test fixtures are now declared using the `testFixtures` keyword

- test fixtures properly declare an API and an implementation, meaning that the

implementation dependencies of test fixtures no longer leak into the compile

classpath of consumers (in particular tests)

  1. … 84 more files in changeset.
Dogfood native test fixtures

This commit replaces our custom test fixtures with the native "Java test fixtures".

The `TestFixturesPlugin` of our build has been simplified to leverage the native

test fixtures capabilities. Some noticeable changes:

- the `testFixtures` extension has been replaced with regular dependency declaration

- dependencies on test fixtures are now declared using the `testFixtures` keyword

- test fixtures properly declare an API and an implementation, meaning that the

implementation dependencies of test fixtures no longer leak into the compile

classpath of consumers (in particular tests)

  1. … 88 more files in changeset.
Dogfood native test fixtures

This commit replaces our custom test fixtures with the native "Java test fixtures".

The `TestFixturesPlugin` of our build has been simplified to leverage the native

test fixtures capabilities. Some noticeable changes:

- the `testFixtures` extension has been replaced with regular dependency declaration

- dependencies on test fixtures are now declared using the `testFixtures` keyword

- test fixtures properly declare an API and an implementation, meaning that the

implementation dependencies of test fixtures no longer leak into the compile

classpath of consumers (in particular tests)

  1. … 84 more files in changeset.
WIP: Dogfood native test fixtures

This commit replaces our custom test fixtures with the native "Java test fixtures".

  1. … 84 more files in changeset.
Dogfood native test fixtures

This commit replaces our custom test fixtures with the native "Java test fixtures".

The `TestFixturesPlugin` of our build has been simplified to leverage the native

test fixtures capabilities. Some noticeable changes:

- the `testFixtures` extension has been replaced with regular dependency declaration

- dependencies on test fixtures are now declared using the `testFixtures` keyword

- test fixtures properly declare an API and an implementation, meaning that the

implementation dependencies of test fixtures no longer leak into the compile

classpath of consumers (in particular tests)

  1. … 84 more files in changeset.
Dogfood native test fixtures

This commit replaces our custom test fixtures with the native "Java test fixtures".

The `TestFixturesPlugin` of our build has been simplified to leverage the native

test fixtures capabilities. Some noticeable changes:

- the `testFixtures` extension has been replaced with regular dependency declaration

- dependencies on test fixtures are now declared using the `testFixtures` keyword

- test fixtures properly declare an API and an implementation, meaning that the

implementation dependencies of test fixtures no longer leak into the compile

classpath of consumers (in particular tests)

  1. … 84 more files in changeset.
Simple build structure visualization

  1. … 1 more file in changeset.
Change all subprojects to use 'implementation' dependencies

This includes:

- All projects now explicitly declare all dependencies to other

subprojects. This makes issues more visible, guards for accidental

addition of new dependencies, and leaks much less transitive

dependencies on the compile classpathes.

- All usages of 'runtime' to declare dependencies have been replaced

with 'runtimeOnly'

- All projects are now `java-library` (and declare this explicitly)

- Most remaining Groovy scripts are translated to Kotlin

- The old 'compile' and 'runtime' configurations are not

configured/created anymore for the 'testFixture' and 'integTest'

source sets.

- Some obsolete dependencies (see previous commits) are removed

- 'api' is used scarcely on purpose as the current project structure is

not well designed for this. The projects contain code for several

concerns of the build tool and thus putting complete projects on the

API of others exposes too much. They should be split up along

functional concerns first.

  1. … 112 more files in changeset.
Use 'implementation' dependencies everywhere

  1. … 286 more files in changeset.
Use 'implementation' dependencies everywhere

  1. … 283 more files in changeset.
Use 'implementation' dependencies everywhere

  1. … 286 more files in changeset.
Use 'implementation' dependencies everywhere

  1. … 284 more files in changeset.
Use 'implementation' dependencies everywhere

  1. … 285 more files in changeset.
Use 'implementation' dependencies everywhere

  1. … 285 more files in changeset.
More tweaks to the native launcher

  1. … 3 more files in changeset.
Add simple launcher bash script

This fixes the hardcoded path to Gradle home directory.

  1. … 4 more files in changeset.
Exclude `distributionsTest` from check

  1. … 5 more files in changeset.
Exclude `distributionsTest` from check

  1. … 4 more files in changeset.
Change `PropertyValidationAccess` so that it discovers annotation handlers in the same way as the build process, rather than hard-coding a fixed set of handlers.

  1. … 6 more files in changeset.
Change `PropertyValidationAccess` so that it discovers annotation handlers in the same way as the build process, rather than hard-coding a fixed set of handlers.

  1. … 6 more files in changeset.
Fix deprecation warnings in build

  1. … 5 more files in changeset.
Rework intTestImage and distributions and docs to use variants

  1. … 7 more files in changeset.
Polish

Revert "Distribution build task must run after clean task"

This reverts commit 07b406b

The `mustRunAfter` condition is now added for every task.

Distribution build task must run after clean task

Simplify :apiMetadata

by not creating a separate Jar task

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

  1. … 6 more files in changeset.
Make the API metadata jar into a subproject

To avoid the cycle between the root project script

and the distributions project script.

  1. … 3 more files in changeset.
Add Gradle API metadata jar to the `testRuntime`