Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
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.
Extract core JVM platform classes into new subproject ‘platform-jvm’

    • -38
    • +0
    ./plugins/DefaultJvmComponentExtension.java
    • -23
    • +0
    ./toolchain/JavaToolChainInternal.java
  1. … 82 more files in changeset.
Internalize the mainSources FunctionalSourceSet into ComponentSpec.getSources()

- All LanguageSourceSets added to a component’s main source set are automatically part of the components sources

- Don’t use a rule to accomplish this: it’s part of the core component behaviour

- Once SourceSets are managed by model rules, this mechanism should be simpler

+review REVIEW-5076

  1. … 10 more files in changeset.
- remove internal componentSpecInternal from DefaultLibrarySpec for now - rename LanguageOutputType to TransformationFileType.

+review REVIEW-5076

  1. … 13 more files in changeset.
linking main functionalSourceSet of component to component#sources is business of ComponentModelBasePlugin

+review REVIEW-5076

  1. … 9 more files in changeset.
rename/move LanguageOutputTypes

+review REVIEW-5076

  1. … 16 more files in changeset.
only attach source sets of relevant languages to component

- introduce LanguageOutputType for modelling language output

- keep registering factories for all kinds of provided SourceSet types for _all_ functional sourcesets in project#sources

- just create default languageSourceSet where component inputs (partially) match language output

- update integtests

TODO: handle custom libraries (currently returning empty set of component inputs); handle 3party language output / language plugins / components

+review REVIEW-5076

  1. … 42 more files in changeset.
Inject FunctionalSourceSet into ComponentSpec at creation time

- introduce ComponentSpecInternal to access "mainSourceSet"

+review REVIEW-5076

  1. … 27 more files in changeset.
more renamings

ProjectBinary -> BinarySpec

ProjectBinaryInternal -> BinarySpecInternal

ProjectJarBinary -> JarBinarySpec

ProjectJvmLibraryBinary -> JvmLibraryBinarySpec

ProjectNativeBinaryTest -> NativeBinarySpecTest

+ several default implementations according to their related interfaces

    • -0
    • +114
    ./DefaultJarBinarySpec.java
    • -0
    • +23
    ./JarBinarySpecInternal.java
  1. … 55 more files in changeset.
rename ProjectJvmLibrary to JvmLibrarySpec

    • -0
    • +65
    ./DefaultJvmLibrarySpec.java
    • -5
    • +5
    ./plugins/DefaultJvmComponentExtension.java
  1. … 8 more files in changeset.
Rename: NamedProjectComponentIdentifier -> ComponentSpecIdentifier

- No longer extends ProjectComponentIdentifier, which represents an instance/binary

- Plan is to rename ProjectComponent -> ComponentSpec

  1. … 22 more files in changeset.
Tweak to DefaultProjectJvmLibrary.displayName.

Extracted creation of binary lifecycle task into model rule

- Split functionality with legacy ‘java’ plugins, which still creates tasks eagerly

  1. … 5 more files in changeset.
Replace uses of model rules with rule source classes.

The goal is to get rid of the model rules class to make evolving the model registry easier. Only benefit of this change at this point is the improved error reporting due to the strong rule identity provided by rule sources.

    • -46
    • +0
    ./plugins/CreateTasksForJarBinaries.java
  1. … 33 more files in changeset.
Added JavaToolChain to ProjectJvmLibraryBinary

  1. … 8 more files in changeset.
Moved ProjectNativeComponent.getBinaries() up to ProjectComponent

- Tests for configuring binaries of ProjectJvmLibrary

- Also moved getDisplayName() up

  1. … 6 more files in changeset.
Renamed ProjectJvmBinary -> ProjectJvmLibraryBinary

  1. … 7 more files in changeset.
Hoisted ProjectNativeComponentInternal.getProjectPath() up to ProjectComponent

  1. … 31 more files in changeset.
Use correct destination dir for resources tasks

    • -0
    • +1
    ./plugins/CreateTasksForJarBinaries.java
  1. … 5 more files in changeset.
Renamed ClassDirectoryBinary -> ProjectClassDirectoryBinary

  1. … 15 more files in changeset.
Introduced a separate ProjectJvmLibrary for a library component built by Gradle

    • -0
    • +44
    ./DefaultProjectJvmLibrary.java
    • -5
    • +5
    ./plugins/DefaultJvmComponentExtension.java
  1. … 10 more files in changeset.
A bunch of work on the Jvm binary model

- Renamed JarBinary -> ProjectJarBinary

- need a better naming scheme, but this is consistent

- Introduced ProjectJarBinaryInternal and ClassDirectoryBinaryInternal

- ProjectJvmBinary has classesDir and resourcesDir

- ProjectJarBinary has jarFile

    • -0
    • +103
    ./DefaultProjectJarBinary.java
    • -0
    • +26
    ./ProjectJarBinaryInternal.java
    • -8
    • +6
    ./plugins/CreateTasksForJarBinaries.java
  1. … 18 more files in changeset.
Further detangling of ProjectBinary (built) from Binary (used)

    • -1
    • +1
    ./plugins/CreateTasksForJarBinaries.java
  1. … 5 more files in changeset.
More reworking of native/jvm component models

- Moved ‘extends BuildableModelElement, Named’ from Binary to ProjectBinary

- ‘binaries’ is now a container of ProjectBinary instances

- Dependency resolution converts ProjectBinary to Binary instances

- PrebuiltLibrary has a set of NativeLibraryBinary

    • -0
    • +25
    ./ProjectJvmBinaryInternal.java
    • -3
    • +3
    ./plugins/CreateTasksForJarBinaries.java
  1. … 19 more files in changeset.
Reworking of native/jvm component models

- Replaced BinaryInternal with ProjectBinaryInternal

- ClassDirectoryBinary is now a ProjectBinary

  1. … 11 more files in changeset.
Introduced JarBinary type to JVM component model

    • -0
    • +95
    ./DefaultJarBinary.java
    • -0
    • +47
    ./plugins/CreateTasksForJarBinaries.java
    • -45
    • +0
    ./plugins/CreateTasksForJvmBinaries.java
  1. … 9 more files in changeset.
Instead of moving and aliasing the Jar task, just keep it in the original package

    • -1
    • +1
    ./plugins/CreateTasksForJvmBinaries.java
  1. … 6 more files in changeset.
Better output path for generated jvm library jars

  1. … 2 more files in changeset.
Include resources from all ResourceSets in JvmLibraryBinary jar

- ProjectJvmBinary is a binary built by Gradle for the jvm runtime

- Added JvmBinaryTasks to provide access to all tasks associated with a ProjectJvmBinary

- Added classesDir and jarFile properties that are configured on construction

- Attach a ProcessResources task for each ResourceSet

    • -0
    • +49
    ./DefaultJvmBinaryTasks.java
    • -3
    • +9
    ./plugins/CreateTasksForJvmBinaries.java
  1. … 9 more files in changeset.
Wire sources from JvmLibrary into JvmLibraryBinary

  1. … 2 more files in changeset.