Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
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.
Add test coverage for `xctest` component

    • -4
    • +27
    ./xctest/internal/DefaultSwiftXCTestSuiteTest.groovy
    • -3
    • +3
    ./xctest/plugins/XCTestConventionPluginTest.groovy
  1. … 11 more files in changeset.
Added some query methods to the Swift model, to remove some assumptions from various plugins.

    • -0
    • +32
    ./xctest/internal/DefaultSwiftXCTestSuiteTest.groovy
  1. … 15 more files in changeset.
Changed the XCTest plugin so that it registers a component that represents the test suite.

    • -1
    • +2
    ./xctest/plugins/XCTestConventionPluginTest.groovy
  1. … 5 more files in changeset.
Changed the Swift library and executable plugins to produce debug and release variants of the library or executable.

Currently, both variants share the same dependencies, which means that the debug variant of a library is always selected regardless of which variant of the consuming component is being built.

Also added some modelling of XCTest suites.

    • -4
    • +4
    ./xctest/plugins/XCTestConventionPluginTest.groovy
  1. … 22 more files in changeset.
Moved creation of Swift compile task up to `SwiftBasePlugin`, triggered when a `SwiftComponent` is added to the project's components. Removes some duplication from the Swift executable and library and XCTest plugins.

    • -0
    • +27
    ./xctest/plugins/XCTestConventionPluginTest.groovy
  1. … 5 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.

    • -0
    • +52
    ./xctest/plugins/XCTestConventionPluginTest.groovy
  1. … 17 more files in changeset.
Revert "Flag a bunch of tests that @LeaksFileHandlers"

Now that the NativeServices initialization is fixed, these tests should

no longer leak file handles on Windows. Let's see.

This reverts commit af9d437b589adbe6688c2c7ec82eb3ba31fa5336.

    • -2
    • +0
    ./internal/DefaultNativeTestSuiteBinarySpecTest.groovy
    • -2
    • +0
    ./plugins/NativeBinariesTestPluginTest.groovy
  1. … 12 more files in changeset.
Flag a bunch of tests that @LeaksFileHandlers

- Now that we're correctly registering the cleanup rules, these

leaks are causing build failures on windows.

    • -0
    • +2
    ./internal/DefaultNativeTestSuiteBinarySpecTest.groovy
    • -0
    • +2
    ./plugins/NativeBinariesTestPluginTest.groovy
  1. … 12 more files in changeset.
Cleanup unit test outputs

- 'language-java'

- 'platform-base'

- 'platform-native'

- 'platform-play'

- 'testing-native'

    • -3
    • +9
    ./internal/DefaultNativeTestSuiteBinarySpecTest.groovy
  1. … 9 more files in changeset.
Use `@Each` instead of iterating `ModelMap` in rule

Fixed test that should have never worked. The test was avoiding the

execution of some of the rules applied to `binaries`, and hence didn’t

run into missing properties. With `@Each` the rules are applied to each

binary individually, and thus they now run, and bump into a series of

NPEs. Should be fixed now.

    • -1
    • +26
    ./plugins/NativeBinariesTestPluginTest.groovy
  1. … 1 more file in changeset.
Deprecated classes in `org.gradle.platform.base.test` in favor of the same classes in 'org.gradle.testing.base'

Story: gradle/langos#113

  1. … 20 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
    • +68
    ./internal/DefaultNativeTestSuiteBinarySpecTest.groovy
  1. … 44 more files in changeset.
Extract `cunit-test-suite` and `google-test-test-suite` plugins and add `cunit` and `google-test` plugins on top of them to apply conventions

Story: gradle/langos#113

  1. … 14 more files in changeset.
Align behavior of the native software model with the Java software model for creation of test suites

Story: gradle/langos#113

  1. … 12 more files in changeset.
Changed `NativeBinariesTestPlugin` so that it registers `NativeTestSuiteBinarySpec`.

    • -0
    • +35
    ./plugins/NativeBinariesTestPluginTest.groovy
  1. … 3 more files in changeset.
Introduce convenience methods on ModelRegistry

+review REVIEW-5685

  1. … 23 more files in changeset.
Introduced `ComponentSpec.getSources()` in place of `getSource()`

+review REVIEW-5541

  1. … 26 more files in changeset.
Apply language registrations to all ComponentSpec instances, including those in the `testSuites` container. Removed the language registrations from CUnit and Google test plugins.

  1. … 5 more files in changeset.
Fixed @ComponentType so that it can be used to declare TestSuiteSpec subtypes, and use this in the CUnit and Google test plugins.

Extracted out a shared ComponentSpec type registry that is shared by all ComponentSpec containers.

  1. … 10 more files in changeset.
Move type token factory for model maps to ModelTypes.

  1. … 10 more files in changeset.
Inline AbstractModelMap into DefaultModelMap, and rename to NodeBackedModelMap.

  1. … 16 more files in changeset.
Change the return type of BinarySpec.getBinaries() to ModelMap<BinarySpec>.

+review REVIEW-5498

  1. … 18 more files in changeset.
Introduce ModelMap extends CollectionBuilder and allow to use them interchangeably in rules

+review REVIEW-5491

  1. … 116 more files in changeset.
Use CollectionBuilder<TestSuiteSpec> in CUnitPlugin and GoogleTestTest

TODO:

- get rid of Path("testSuites")

- probably add helper method for shared logic creating CollectionBuilders in NativeBinariesTestPlugin and ComponentBasePlugin

  1. … 3 more files in changeset.
Liberate some model registry test support from DefaultModelRegistryTest.

Includes some new/renamed API on ModelRegistry.

+review REVIEW-5350

  1. … 20 more files in changeset.
Revert selective task closing work.

Too much breakage.

+review REVIEW-5350

  1. … 66 more files in changeset.
Wire the model registry into the “task selector”, effectively enabling configure-on-demand for rule based task declarations.

Rather than eagerly “realize” the whole task container and its contents, we now only realize the container itself.

This means that we know of all the tasks that will exist without actually creating them.

If a task (declared by rules) is not needed for a build (i.e. not selected, not depended on) it will not be created.

However, our rule based plugins at this time contain coarse rules that don't allow this feature to be leveraged.

Benefits will only be seen right now for contrived domains.

  1. … 62 more files in changeset.
Renamed ‘cunit’ project to ‘testing-native’

    • -0
    • +44
    ./cunit/CUnitTest.groovy
    • -0
    • +44
    ./googletest/GoogleTestTest.groovy
  1. … 64 more files in changeset.