Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Renamed `subprojects/platform-native/src/main/groovy` to `src/main/java`

    • -33
    • +0
    ./AbstractNativeBinaryRenderer.java
    • -107
    • +0
    ./AbstractNativeLibraryBinarySpec.java
    • -83
    • +0
    ./AbstractTargetedNativeComponentSpec.java
    • -43
    • +0
    ./BuildOperationLoggingCompilerDecorator.java
    • -44
    • +0
    ./CompilerOutputFileNamingScheme.java
    • -89
    • +0
    ./DefaultNativeExecutableBinarySpec.java
  1. … 461 more files in changeset.
Cleaned out a bunch of TODOs

    • -1
    • +0
    ./prebuilt/PrebuiltLibraryInitializer.java
  1. … 30 more files in changeset.
Add @Override where missing in production software model sources

Prior to this change, the affected submodules had 2044 occurrences of

the @Override annotation. With this commit, there are now 3492

occurrences. This suggests some divergence in IDE settings, either

across developers, across time, or both. At the moment, it appears that

IDEA (15 CE) is configured correctly to add @Override automatically.

This same refactoring should probably be done globally acrosse the

Gradle codebase, but has been constrained here to software model-related

submodules (a) because it is what the author is responsible for and (b)

because significant refactoring of type hierarchies is underway there

right now--the kind of work most likely to benefit from the compiler

checks that proper use of @Override affords.

Should this same refactoring be applied globally, it would be worth

looking into enforcing consistent use of @Override via checkstyle or

similar at the same time.

    • -0
    • +4
    ./AbstractNativeLibraryBinarySpec.java
    • -1
    • +7
    ./AbstractTargetedNativeComponentSpec.java
    • -0
    • +3
    ./DefaultNativeExecutableBinarySpec.java
    • -0
    • +4
    ./DefaultStaticLibraryArchiverSpec.java
  1. … 405 more files in changeset.
Changed creation of ids for children of various `ComponentSpec` types.

  1. … 2 more files in changeset.
Make `PreCompiledHeader` conform to `AbstractBuildableModelElement`

  1. … 2 more files in changeset.
Prebuilt libraries do not need to implement `BuildableModeleElement`.

    • -2
    • +1
    ./prebuilt/AbstractPrebuiltLibraryBinary.java
Changed a number of usages of `ComponentSpec` to use more specific types.

  1. … 8 more files in changeset.
Tweaked the generated display name for `LanguageSourceSet` subtypes and removed several delegate types.

  1. … 37 more files in changeset.
Fixed Java 6 compile problem.

Replaced `ComponentSpecInternal` with a more specific internal interface that represents a component that is built into some intermediate format before its final outputs are produced.

This new interface is internal as it is essentially just a rename of `ComponentSpecInternal`, and will probably be replaced by something instead based on the target platform(s) of the component.

  1. … 17 more files in changeset.
Fold NativeComponentRules into NativeComponentModelPlugin

+review REVIEW-5808

    • -47
    • +8
    ./configure/NativeComponentRules.java
  1. … 5 more files in changeset.
Use a factory to create `FileCollection` instances in a few more places.

Also tidied up the display names for prebuilt libraries and the various file collections created for native binaries.

    • -5
    • +1
    ./AbstractNativeLibraryBinarySpec.java
    • -0
    • +10
    ./DefaultSharedLibraryBinarySpec.java
    • -13
    • +14
    ./prebuilt/AbstractPrebuiltLibraryBinary.java
    • -5
    • +6
    ./prebuilt/DefaultPrebuiltSharedLibraryBinary.java
    • -6
    • +6
    ./prebuilt/DefaultPrebuiltStaticLibraryBinary.java
    • -10
    • +16
    ./prebuilt/PrebuiltLibraryInitializer.java
    • -6
    • +10
    ./resolve/ApiRequirementNativeDependencyResolver.java
    • -1
    • +1
    ./resolve/NativeDependencyResolverServices.java
  1. … 6 more files in changeset.
Introduce a factory that can be used to create `FileCollection` implementations from various sources.

This isolates those things that need to create `FileCollection` instances from the dependencies of the implementations. Also detangles the public DSL/API types from some logic that calculates a set of files to operate on.

    • -25
    • +28
    ./AbstractNativeLibraryBinarySpec.java
    • -6
    • +14
    ./configure/NativeComponentRules.java
    • -2
    • +3
    ./resolve/NativeDependencyResolverServices.java
    • -20
    • +29
    ./resolve/SourceSetNativeDependencyResolver.java
  1. … 10 more files in changeset.
Attach the test suites to the `check` task consistenly in the native and JVM plugins.

This commit refactors the `platform-native` module to extract the last bits of code that were specific to testing, in order to make it possible to reuse the same infrastructure to attach test suites to the `check` task in both the native and JVM worlds.

Story: gradle/langos#113

    • -0
    • +99
    ./NativeComponents.java
  1. … 43 more files in changeset.
Introduced a factory to create `SourceDirectorySet` instances, to avoid exposing the dependencies of `DefaultSourceDirectorySet` to all the places that need to create a `SourceDirectorySet`.

    • -5
    • +5
    ./prebuilt/DefaultPrebuiltLibraries.java
    • -4
    • +3
    ./prebuilt/DefaultPrebuiltLibrary.java
  1. … 36 more files in changeset.
Added a fallback renderer to use for any native binary spec without a more specific renderer.

    • -0
    • +31
    ./NativeBinaryRenderer.java
Merge branch 'release'

  1. … 1 more file in changeset.
Make production class available to tests

Reworked the API to ask `BinaryNamingScheme` for an output directory.

  1. … 8 more files in changeset.
Moved `namingScheme` property up to `BinarySpecInternal` from the native binaries.

Also changed `DefaultBinaryNamingScheme` to deal with binaries with no parent and a name that was provided by something else.

  1. … 7 more files in changeset.
Changed the naming scheme for output directories for native components, to simplify the paths and reduce their length. Also split up the 'binaries' directory into 'exe' and 'libs'.

    • -1
    • +1
    ./prebuilt/PrebuiltLibraryInitializer.java
  1. … 56 more files in changeset.
Added some convenience methods to `BinaryNamingScheme` for creating output directory names.

    • -11
    • +3
    ./configure/NativeComponentRules.java
  1. … 15 more files in changeset.
Merged `BinaryNamingSchemeBuilder` into `BinaryNamingScheme`.

    • -13
    • +12
    ./configure/NativeComponentRules.java
    • -6
    • +5
    ./prebuilt/PrebuiltLibraryInitializer.java
  1. … 11 more files in changeset.
Specialized getComponent Method in NativeBinarySpec subtypes

+review REVIEW-5695

    • -0
    • +5
    ./AbstractNativeLibraryBinarySpec.java
  1. … 7 more files in changeset.
Introduce node backed protected BaseBinarySpec.getComponentAs(type)

Binaries are owned by a Component. NativeComponentSpec expose it via its

`getComponent` method. This method is then overriden by subtypes to

specialize its return type.

BaseBinarySpec store a direct reference to some ComponentSpecInternal in

its `owner` field and its `getComponent` method basically returns it.

Specialized versions of this method presents in subtypes simply cast

`owner`. This ComponentSpecInternal happens to be the `privateData` of

the backing node which can't be cast to the corresponding managed public

type (eg. CUnitTSS, GoogleTestTSS).

This commit starts in BaseBinarySpec:

- replace the `owner` field by a `componentNode`

- introduce protected getComponentAs(type) with relies on

`node.asImmutable(type)` insted of casting

With theses changes, a `BinarySpec` can be owned by a

`@Managed ComponentSpec`.

BaseBinarySpec creation now use a node instead of a

ComponentSpecInternal to refer to its owner component. This explain the

impact on fixtures and tests.

Removed spurious specialized getComponent() methods in NativeBinarySpec

subtypes along the way.

+review REVIEW-5695

    • -5
    • +1
    ./AbstractNativeLibraryBinarySpec.java
    • -4
    • +5
    ./DefaultNativeExecutableBinarySpec.java
  1. … 18 more files in changeset.
Remove model reuse and node replacement logic

  1. … 28 more files in changeset.
Move PreprocessingTool to live with Tool

Classycle be praised.

+review REVIEW-5706

  1. … 11 more files in changeset.
Move tool getters from NativeBinarySpecInternal to NativeBinarySpec

+review REVIEW-5706

  1. … 1 more file in changeset.
Introduce convenience methods on ModelRegistry

+review REVIEW-5685

    • -3
    • +1
    ./prebuilt/PrebuiltLibraryBinaryLocator.java
    • -3
    • +1
    ./resolve/ProjectLibraryBinaryLocator.java
  1. … 23 more files in changeset.
code gardening

- DRY

- "Functions should do one thing. They should do it well. They should do

it only."

- Make sure statements in a function are at the same level of abstraction.

    • -29
    • +91
    ./configure/NativeBinaryRules.java