SwiftExecutablePluginTest.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Added `moduleFile` property to `SwiftCompile` task type, to make explicit that the task produces object files and a module file as outputs.

Changed the default location of the Swift module file so that it is not mixed in with the object files.

  1. … 12 more files in changeset.
Changed `SwiftCompile.moduleName` to have a single getter with type `Property<String>`.

  1. … 3 more files in changeset.
Merged `AbstractNativeCompileTask.objectFileDirectory` property into `objectFileDir`, changing its type to `DirectoryVar`. This is a breaking change.

  1. … 18 more files in changeset.
Added `debuggable` flag to `AbstractLinkTask` and changed the C++ and Swift plugins to set this to `true` for the debug variants of each library, executable and test suite.

Changed the Visual C++ toolchain to understand this flag and add the appropriate linker arguments.

  1. … 11 more files in changeset.
Changed the C++ and Swift plugins so that by default debuggable binaries are built for the debug variant, and non-debuggable optimized binaries are built for the release variant.

Added `debuggable` and `optimized` flags to `AbstractNativeCompileTask` and changed the tool chain implementation to generate the relevant compiler options. The C++ and Swift plugins set these flags on the compile tasks.

Also changed `AbstractNativeCompileTask` and `AbstractLinkTask` task types to provide default values for compiler args and macros (both empty) rather than forcing build logic to always set these.

  1. … 17 more files in changeset.
Changed the Swift executable plugin to add an install task for the release variant.

  1. … 4 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.

    • -10
    • +19
    ./SwiftExecutablePluginTest.groovy
  1. … 22 more files in changeset.
Added some initial modelling of the debug and release variants of a Swift application and library.

  1. … 16 more files in changeset.
Renamed `CppExecutable` extension type to `CppApplication` and `SwiftExecutable` to `SwiftApplication`, to better reflect their purpose.

  1. … 15 more files in changeset.
Added some specific types to represent C++ executable, Swift executable and library.

  1. … 14 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.
Moved `SwiftComponent` to o.g.language.swift package.

  1. … 9 more files in changeset.
Use DSL convenience instead of `set()` method to set value of some properties in tests.

  1. … 6 more files in changeset.
Fixed some unit tests for changes to `Directory` and `RegularFile`.

  1. … 3 more files in changeset.
Added a little more unit test coverage for the Swift plugins.

  1. … 1 more file in changeset.
Fixed broken unit tests on Windows.

  1. … 1 more file 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 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.

  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.
Changed the Swift executable and library plugins to add an `executable` or `library` extension to the project to allow the source files of the component to be configured by build logic.

  1. … 8 more files in changeset.
Initial Support for Swift in Current Model (#2284)

Spike Swift compilation for executable and module (shared library) with dependency management and composite build support.

    • -0
    • +42
    ./SwiftExecutablePluginTest.groovy
  1. … 41 more files in changeset.