Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Look for SwiftApplication, not CppApplication

Fix checkstyle

Make Swift plugins use new lazy APIs

    • -53
    • +103
    ./XCTestConventionPlugin.java
  1. … 2 more files in changeset.
Expose the variant name and header directories for each C++ binary in the C++ tooling model.

Rework construction of the native binary models so that the binary names are not formatted and parsed a bunch of times during construction and so do not lose information.

  1. … 36 more files in changeset.
Make xctest plugin lazy

except for a compile task

    • -62
    • +102
    ./XCTestConventionPlugin.java
  1. … 5 more files in changeset.
Add support for C++ applications to the `cpp-unit-test` plugin, by relocating the `main` symbol from the object files of the application under test. Change the `UnexportMainSymbol` to be more idiomatic and the `runTest` task to be incremental.

Move some test coverage so that it is applied to both the XCtest and C++ unit test plugins.

  1. … 17 more files in changeset.
Fix the `cpp-unit-test` plugin so that it makes implementation dependencies of the main component visible to the test suite. Reworked the dependency between the test binary and the binary under test for the `cpp-unit-test` and the `xctest` plugins, so that it is implemented consistently (for later extraction into a base plugin) and is wired in via the various configurations.

  1. … 10 more files in changeset.
Use new OperatingSystemFamily query method

  1. … 6 more files in changeset.
Rename OperatingSystemFamily.MAC_OS to MACOS

  1. … 4 more files in changeset.
Add missing operatingSystems to SwiftComponent

  1. … 4 more files in changeset.
Fix test failure due to missing API export from application

  1. … 1 more file in changeset.
Fix tests and share code between C++ and Swift

  1. … 15 more files in changeset.
A minor simplification.

Changed the XCTest plugin so that it does not add `-g` to the compiler args. This is already taken care of by the plugin adding a debuggable binary.

Moved a couple of services from `testingNative` down to `platformNative`

  1. … 11 more files in changeset.
Retain boolean getters for Property<Boolean> properties for now

  1. … 4 more files in changeset.
Migrate all link task properties to Provider API

  1. … 17 more files in changeset.
Propagate source compatibility from tested component to test component

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

  1. … 5 more files in changeset.
Added methods to `CppBinary` to allow implementation dependencies to be declared for the specific binary.

  1. … 10 more files in changeset.
Defer creation of the tasks and configurations for a native binary until the binary is realized, rather than when the binary is created.

Changed the `BinaryCollection` implementation to defer firing the 'when known' event for a binary until just before the binary is configured. Restructured parts of various plugins to react to binaries becoming known rather than making assumptions about the things that exist when the binary is created.

  1. … 10 more files in changeset.
Move common Swift configuration code to `SwiftBasePlugin`

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

  1. … 17 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.
Add support for configuring Swift language support of a component

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

  1. … 32 more files in changeset.
Moved responsibility for defining the Maven publications for a native component down to the `NativeBasePlugin` and out of the various C++ plugins.

Also publish the static variant of a C++ library if it is defined.

  1. … 17 more files in changeset.
Added a comment.

Changed the XCTest plugin to reuse the logic from the native base plugin to configure the test executable to add build and install tasks, rather than reproduce all of this in a slightly different way.

The XCTest plugin still takes care of building a bundle of macOS, even though this should be done in a way that can be reused outside of the XCTest plugin.

  1. … 6 more files in changeset.
Added 'bundle' and 'executable' subtypes of `SwiftXCTestBinary` to allow specialization based on which kind of test suite is being built.

  1. … 8 more files in changeset.
Added abstractions for native static and shared library that are independent of implementation language, and added a `baseName` property to `SwiftBinary` (which defaults to the module name) so that it presents the same interface as `CppBinary`.

  1. … 15 more files in changeset.
Changed `xctest` plugin to defer creation of the test execution task until the test binary object is created.

  1. … 1 more file in changeset.
Include the project name in the default base name of the C++ unit test executable.

Changed construction of test binaries to use a similar pattern as production binaries.

  1. … 7 more files in changeset.