DefaultSwiftComponentTest.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Specialize getBinaries from XCTest components

  1. … 7 more files in changeset.
Specialize getBinaries from XCTest components

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

    • -12
    • +10
    ./DefaultSwiftComponentTest.groovy
  1. … 32 more files in changeset.
Use public services in native plugins to construct `FileCollection` instances, rather than using internal `FileOperations`.

    • -12
    • +10
    ./DefaultSwiftComponentTest.groovy
  1. … 32 more files in changeset.
Fix unit test

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.
Rename SwiftSourceCompatibility to SwiftVersion

  1. … 14 more files in changeset.
Rename source compatibility property and fix CI failures

Signed-off-by: Daniel Lacasse <daniel@gradle.com>

  1. … 19 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
    ./DefaultSwiftComponentTest.groovy
  1. … 32 more files in changeset.
Add unit test coverage for the Swift language version

Signed-off-by: Daniel Lacasse <daniel@gradle.com>

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.
Migrate `developmentBinary` to a `Provider`

Signed-off-by: Daniel Lacasse <daniel@gradle.com>

  1. … 18 more files 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.
Changed the Swift 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 and that the project has exactly one variant of exactly one test suite.

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

  1. … 19 more files in changeset.
Added some query methods to the Swift model, to remove some assumptions from various plugins.

  1. … 15 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 Swift module name for a component to be specified on the `library` or `executable` extension. Also changed the default module name to be the capitalized project name (it was the project name previously).

  1. … 11 more files in changeset.
Changed the behaviour of the Swift plugins so that the convention for where to find the source files is applied only if no source files or directories are specified by the build logic. Previously, it was applied _in addition to_ the locations explicitly specified.

  1. … 9 more files in changeset.
Added a public method to allow the Swift source files of a Swift component to be queried by a plugin, use this in the Xcode plugin instead of probing the compile task.

    • -0
    • +55
    ./DefaultSwiftComponentTest.groovy
  1. … 6 more files in changeset.