language-jvm.gradle

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Convert `language-jvm` build script to Kotlin

  1. … 2 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.
Converted many Groovy script to Kotlin and improved the Kotlin DSL usage in some existing Kotlin scripts.

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

  1. … 80 more files in changeset.
Added gradlebuild namespace to plugins and more modularization in buildSrc

- Added to all plugins in buildSrc "gradlebuild." to their id

- Shortened plugin names

- Added ide and docs as additional modules

- Applied java-library plugin to Kotlin projects to model dependencies

  1. … 86 more files in changeset.
Extract idiomatic strict-compile plugin to buildSrc

Sub projects request the plugin if needed.

The plugin configures the Java and Groovy compilation tasks according

to the `strictCompile` extension configuration.

No more Groovy Closures as a Project extra properties.

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

  1. … 30 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 the Classycle configuration more idiomatic

by replacing the configuration function useClassycle() as extra project

property with a plugins {} block plugin request and a project extension.

The classycle extension has two properties, one for the excludes defined

per project, the other one to reference the report resources zip.

This change will make configuring classycle from Kotlin DSL scripts

nicer.

Introduce kotlin-dsl-upstream.kt in buildSrc org.gradle.kotlin.dsl

package for members missing from the Gradle Kotlin DSL intended to be

pulled upstream into the next Gradle Kotlin DSL release.

A sole extension added: reified ObjectFactory.listProperty()

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

  1. … 54 more files in changeset.
Changed a couple more projects to use `java-library` plugin. Also inject Groovy as a test compile dependency for all projects, and removed the declaration from various project's build files.

  1. … 34 more files in changeset.
Add direct dependency on `core`

Most projects do this anyway, and this way we can run task validation on "every project that depends on `:core`".

+review REVIEW-5932

  1. … 3 more files in changeset.
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.
Refactoring compiler reuse integration tests

+review REVIEW-5582

  1. … 6 more files in changeset.
share common logic for testing incremental jvm language plugins

+review REVIEW-5273

  1. … 16 more files in changeset.
Don't need groovy at compile time.

Enable strictCompile and classycle for ‘language-jvm’

Move Javadoc task related classes to language-java

+review REVIEW-5165

  1. … 110 more files in changeset.
Post merge fixes

  1. … 4 more files in changeset.
Merge branch 'release'

Conflicts:

gradle/classycle.gradle

gradle/wrapper/gradle-wrapper.properties

subprojects/docs/src/docs/release/notes.md

subprojects/ear/src/integTest/groovy/org/gradle/plugins/ear/EarPluginIntegrationTest.groovy

subprojects/language-jvm/language-jvm.gradle

subprojects/language-jvm/src/main/groovy/org/gradle/language/jvm/internal/JvmPluginServiceRegistry.java

subprojects/plugins/src/main/groovy/org/gradle/api/internal/tasks/CompileServices.java

subprojects/plugins/src/main/groovy/org/gradle/api/plugins/JavaBasePlugin.java

  1. … 8 more files in changeset.
GRADLE-3152 Cannot use Javadoc task without JavaBasePlugin applied

Allow to use Javadoc and JavaCompile tasks without applying JavaBasePlugin

- Inject JavaToolChain directly into the tasks instead of via the plugin

- Move providing DefaultJavaToolChain to JvmPluginServiceRegistry in language-jvm as JavaCompileTest needs that dependency

- Move all javadoc related code from plugins to language-jvm because DefaultJavaToolChain depends on that code

+review REVIEW-5158

  1. … 121 more files in changeset.
Renamed ‘language-base’ project to ‘platform-base’

  1. … 203 more files in changeset.
Extract java and groovy compilation into separate language subprojects

- ‘language-java’ contains JavaCompile task, compiler infrastructure and associated classes

- ‘language-groovy’ contains GroovyCompile task and associated infrastructure

- depends on ‘language-java’

- ‘language-jvm’ contains ProcessResources task and some common JVM language infrastructure

  1. … 321 more files in changeset.
Extract core JVM platform classes into new subproject ‘platform-jvm’

  1. … 89 more files in changeset.
Intrododuce common fixture for unit testing common language plugin behaviour

  1. … 9 more files in changeset.
Allow exclude pattern to be configured for classycle, and use this in language-jvm

  1. … 1 more file in changeset.
Moved JavaCompile and GroovyCompile tasks (and related) into languageJvm project

  1. … 226 more files in changeset.
Added 'jvm-component' plugin that registers support for JvmLibrary type

  1. … 13 more files in changeset.
Switched on package cycle checking for a few projects.

  1. … 3 more files in changeset.
moved language/binary plugins/models into new language-base and language-jvm projects

- refactored and moved some existing code to prevent cyclic dependencies between the plugins project and the new projects

- deprecated ProcessResources task at its former location and moved it to language-jvm project; gave it new package name and made it public

  1. … 65 more files in changeset.