CppLibraryPluginTest.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Fixes for previous commit.

  1. … 5 more files in changeset.
Fixes for previous commit.

  1. … 5 more files in changeset.
Fail rather than emitting a deprecation warning when the value of a `Property` typed task property is changed after the task starts execution.

Also include the property display name, if attached, in the 'cannot change the value' error messages.

  1. … 25 more files in changeset.
Fail rather than emitting a deprecation warning when the value of a `Property` typed task property is changed after the task starts execution.

Also include the property display name, if attached, in the 'cannot change the value' error messages.

  1. … 25 more files in changeset.
Fail rather than emitting a deprecation warning when the value of a `Property` typed task property is changed after the task starts execution.

Also include the property display name, if attached, in the 'cannot change the value' error messages.

  1. … 25 more files in changeset.
Add `HasMultipleValue.finalizeValue()` method to allow the value of a collection property to be made final. Attempts to change the property value after this method is called will fail.

Use this in the native plugins and remove the internal `LockableCollectionProperty` implementation as it is no longer needed.

  1. … 19 more files in changeset.
Decorate instances of RealizableTaskCollection

  1. … 5 more files in changeset.
Fix bad rebase

  1. … 4 more files in changeset.
Introduce Buildable and Publishable components to mark variants that can be published

  1. … 19 more files in changeset.
Align C++ and Swift library plugin test

  1. … 1 more file in changeset.
Fix test failures

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

  1. … 41 more files in changeset.
Fix CI failures

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

Fixing tests

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

  1. … 31 more files in changeset.
Add support for debuggable release variant for Cpp projects

  1. … 26 more files in changeset.
Fix some tests

  1. … 11 more files in changeset.
Implement static library and statically linked executable

  1. … 37 more files in changeset.
Changed the C++ library plugin to publish both the link time binary and runtime binary for a shared library, if these files are different for the target tool chain.

  1. … 11 more files in changeset.
Changed the C++ library plugin to publish the C++ headers as a zip file.

  1. … 8 more files in changeset.
Changed the C++ library to allow the debug and release binaries of the library to be published to a Maven repository, when the `maven-publish` plugin is used.

The headers and dependencies of the library are not yet included in the publications.

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

  1. … 22 more files in changeset.
Changed the C++ 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.

  1. … 17 more files in changeset.
Added some initial modelling of the debug and release variants of a C++ application and library.

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