plugins.gradle

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Remove commons-cli

  1. … 3 more files in changeset.
Fix dependencies to the new snapshots project

  1. … 5 more files in changeset.
Convert `plugins` build script to Kotlin

  1. … 3 more files in changeset.
Remove commons-collections and commons-cli

  1. … 11 more files in changeset.
Model test fixtures as a propert artifact

Previously they were modeled as just a file collection,

which confused the IDEA importer. They now use the more

canonical way of defining an additional artifact.

In a next step they should be reimplemented using variant

aware dependency resolution, so that we don't need a special

DSL to declare these dependencies.

  1. … 14 more files in changeset.
Depend on groovy-all

  1. … 11 more files in changeset.
Upgrade to Groovy 2.5.2 and make compilation work

  1. … 8 more files in changeset.
Converted many Groovy script to Kotlin and improved the Kotlin DSL usage in some existing Kotlin scripts.

  1. … 95 more files in changeset.
Convert all remaining task creation to lazy configuration

  1. … 25 more files in changeset.
Move cleanup plugin into cleanup subproject

- Add integration test using TestKit

- Rewrite EmptyDirectoryCheck to use Provider API

  1. … 26 more files in changeset.
Introduced the property moduleType to derive source compatibility settings

  1. … 80 more files in changeset.
Extracted test file cleanup from root build into plugin

- Moved configuration of test file clean into extension

- Added TestFileCleanUpPlugin

- Moved CiReporting and Classycle plugin into codequality module

  1. … 23 more files in changeset.
"coordinate" -> "coordinates"

  1. … 60 more files in changeset.
Move dependency constraints into a separate project

  1. … 69 more files in changeset.
Extract idiomatic test-fixtures plugin to buildSrc

Plugin is applied to all "groovy projects", see `groovyProject.gradle`.

The plugin configures the Project as a test fixtures producer if

`src/testFixtures` is a directory.

The plugin configures the Project as a test fixtures consumer according

to the `testFixtures` extension configuration.

No more Groovy Closure with optional parameters as a Project extra

property.

Test-fixtures configuration rely on a Groovy DSL only feature that

allows to pass a collection of dependency notations when declaring

dependencies. The Kotlin DSL lacks this feature, see

https://github.com/gradle/kotlin-dsl/issues/639

A workaround has been put in place in `build-extensions.kt` in order to

move forward until this is properly fixed in the Kotlin DSL.

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

  1. … 70 more files in changeset.
Make `ScalaCompile` and `ScalaDoc` cacheable (#2399)

This adds test coverage with respect to caching and incremental builds for `ScalaCompile` and `ScalaDoc` and makes both tasks cacheable.

Issue: #1956

Based on PR: #1958

  1. … 23 more files in changeset.
Tidy up some TODOs

  1. … 3 more files in changeset.
Use common source for tested Groovy versions

+review REVIEW-6505

  1. … 5 more files in changeset.
Ensure that composite build services are available

The gradle runtime requires the composite build services to be registered.

Adding this runtime dependency from the `:plugins` module is a bit of a hacky

way to ensure that these services are registered for all integration testing.

Detangle ivy module descriptor parser

This commit removes the Ivy module descriptor parser as a service, because it unfortunately introduced

a lot of tangling between projects, making it necessary to introduce `project(':ivy')` as a dependency

to almost all projects.

This commit removes the parser as a service and creates it on demand. It should not have a big impact

on performance since there should be only one instance in global scope, through `IvyResolver`.

  1. … 19 more files in changeset.
Fix missing test dependency

Remove our custom provided configuration in favor of compileOnly

- Remove FindBugsExecuterTest since it relies on a FindBugs type and doesn't add much value

- Move static constants from ZincScalaCompilerFactory into ZincScalaCompilerUtil so tests don't rely on Zinc/Scala internals

- Replace uses of 'provided' with 'compileOnly'

- Move FindBugs and Zinc dependencies into gradle/dependencies.gradle

  1. … 9 more files in changeset.
Fixes to ensure correct results when using annotation processors for Java source compilation. The fixes apply to Java compilation in both incremental and non-incremental modes.

Added `CompileOptions.annotationProcessorPath` to allow an annotation processor path to be explicitly declared for a compile task. When declared, this path is used to locate annotation processors, instead of searching the compile classpath for processors.

Added `JavaCompile.effectiveAnnotationProcessorPath` which returns the actual annotation processor path to use for compilation. This is marked with `@Classpath` so that source is recompiled when an annotation processor implementation or runtime dependency changes in some way that affects runtime execution.

The effective annotation processor path is calculated as follows:

- When explicitly set on the compile options, use this value. Can be empty.

- When an annotation processor is present in the compile classpath, use the compile classpath.

- When no annotation processors are present in the compile classspath, use an empty path.

Changed the incremental Java compile to fall back to full compile when the annotation processor path is not empty. This is an intentionally dumb strategy that can be made better later.

Made some simplifications to the generation of javac compiler args.

Added a bunch of test coverage for incremental builds in the presence of annotation processors.

  1. … 23 more files in changeset.
Move workers into their own subproject

  1. … 122 more files in changeset.
Extract build receipt into own jar

Instead of including the build receipt into

the core jar we add it to an own jar - version-info.

The build receipt often contains a timestamp and therefore

we want to use it as little as possible.

By doing this we keep the classpath constant between

builds and therefore allow for more caching.

We also have to add the version-info to the Gradle Worker process.

This makes it possible to evaluate the `GradleVersion`

in those, too. If one wants to log deprecation messages

from there this is necessary. For example`JULRedirectorIntegrationTest.defaultLoggingConfigNoFineLevelWhenDisabled`

fails without this.

PR #805

  1. … 10 more files in changeset.
Don't use the same output directory

Both `:plugins:wrapperJar` and `:plugins:classpathManifest` were writing to the same directory. Now they don't.

+review REVIEW-6328

Changed default Java version for our projects to Java 7. Changed build scripts for those projects that still require Java 6.

  1. … 14 more files in changeset.
Update subprojects for verifying test file cleanup

  1. … 28 more files in changeset.
Start migrating test classes to the most appropriate subproject

Story: gradle/langos#103

Item: refactor-plugins

  1. … 124 more files in changeset.
Introduce `testing-base` module

This commit introduces a new `testing-base` module aimed at detangling the `plugins` module, by extracting 2 things:

* classes that are used independently of a testing framework or the JVM (`TestDescriptor`, ...)

* classes which are specific to JVM testing (`Test`, `TestReport`, `TestWorker`, ...)

The first category are extracted in the `testing-base` module. The second category have been migrated to the `testing-jvm` module, which now includes TestNG specific classes too.

* The `testing-jvm` module no longer depends on `plugins`, but on `testing-base` instead.

* The `plugins` module now depends on `testing-jvm` (so we have effectively inverted the dependency).

It's worth noting that while main classes have been shuffled around, test classes have not been moved, and some quality checks had to be disabled. For example, strict compilation and classcycle cannot be used anymore in the `testing-jvm` module without introducing breaking changes.

Two classes (`JUnitOptions` and `TestNGOptions`) have been migrated from Groovy to Java.

At this point, building Gradle is broken. Subsequent commits will fix that.

Story: gradle/langos#103

Item: refactor-plugins

  1. … 278 more files in changeset.