DefaultCppComponentTest.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Use public services in native plugins to construct `FileCollection` instances, rather than using internal `FileOperations`.

  1. … 32 more files in changeset.
Use public services in native plugins to construct `FileCollection` instances, rather than using internal `FileOperations`.

  1. … 32 more files in changeset.
Remove unused references to TargetMachineFactory

  1. … 15 more files in changeset.
Move `TargetMachineFactory#host()` to internal API

  1. … 24 more files in changeset.
Isolate native service and class within `platformNative` project

  1. … 55 more files in changeset.
Move TargetMachineFactory up to a project service

  1. … 52 more files in changeset.
Add support for declaring target machines

  1. … 35 more files in changeset.
Added a display name for each native component implementation.

Added a convenience to `Describables` to format a display name for an object with a type and a name.

  1. … 16 more files in changeset.
Added methods to the various native component types to allow implementation and API dependencies to be declared on the component instance instead of on the project's `dependencies` block, for consistency with the binaries.

    • -14
    • +16
    ./DefaultCppComponentTest.groovy
  1. … 32 more files in changeset.
Added an (internal for now) `names` property to each C++ and Swift binary, which code that needs to construct names for the binary can use instead of reverse engineering this from the name of the binary. This allows for different binaries to use different schemes (which they already do but communicate this through special names).

  1. … 21 more files in changeset.
Introduced an abstraction for a native component that has a development binary, and use this for libraries and applications, but not test suites. Removed the `developmentBinary` property from the test suite types.

  1. … 19 more files in changeset.
Add support for building static c++ libraries

  1. … 41 more files in changeset.
Make DefaultCppComponent recognize files ending in cc

This is a common extension for C++ files, so it should be acceptable

for source files for a `DefaultCppComponent`.

  1. … 1 more file in changeset.
Added `ObjectFactory.property(Class)` as a replacement for `ProviderFactory.property(Class)`. Changed all usages to use the new method.

  1. … 40 more files in changeset.
Native plugins use configurations.maybeCreate(name) instead of .create()

So that their application don't fail the build at configuration time

if a configuration with the same name happen to already exist.

  1. … 13 more files in changeset.
Added a couple of query methods to the C++ model, to remove some assumptions from various plugins.

  1. … 15 more files in changeset.
Changed the C++ plugins so that `Configuration` instances are created and wired up as the convention plugins register components and binaries, rather than assuming that exactly one variant of exactly one component is produced by a project.

This change doesn't add any public mechanism for registering components or binaries, it simply removes some assumptions from the various plugins.

    • -23
    • +17
    ./DefaultCppComponentTest.groovy
  1. … 17 more files in changeset.
Changed the `SwiftComponent` and `CppComponent` implementations to use their name to calculate their default source directories and removed special setup from the XCTest plugin.

  1. … 6 more files in changeset.
Changed each of the C++ and Swift plugins to register a component in the project's components container to represent the application/library/test suite that the plugin adds to the project.

  1. … 17 more files in changeset.
Allow the base name for a C++ component to be specified on the `library` or `executable` extension. This is used to calculate the output file names. It defaults to the project name.

  1. … 10 more files in changeset.
Added some query methods to the `CppComponent` extension added by the C++ plugins, to allow build logic to query things such as the compile include path or the header files of the component. Changed the Xcode plugin to use these query methods instead of making assumptions.

  1. … 8 more files in changeset.
Changed the C++ executable and library plugins to allow the private header directories of the component to be specified.

  1. … 10 more files in changeset.
Changed the C++ library plugin to allow configuration of the directories containing the public headers of the library.

  1. … 12 more files in changeset.
Changed the C++ executable plugin to allow the source files of the executable to be declared and queried. Adds an `executable` extension to the project that build logic can use to declare the source files.

Also change the behaviour so that the convention location is only used if no source locations are defined, similar to how the Swift plugins behave.

    • -0
    • +70
    ./DefaultCppComponentTest.groovy
  1. … 11 more files in changeset.