Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Moved responsibility for creating and wiring up the 'create' task for a static library to `NativeBasePlugin` from the language specific base plugins.

Introduced abstractions to represent a component that produces outputs for a native platform and a component that produces object files.

  1. … 13 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.
Moved responsibility for creating the 'assemble' task for each variant of the main component into the `NativeBasePlugin`.

Added an abstraction to represent a component with output files.

  1. … 24 more files in changeset.
Renamed `BinaryContainer` to `BinaryCollection`

  1. … 11 more files in changeset.
Moved and renamed some classes so that `org.gradle.language` contains only those types that are domain and language agnostic. Moved types that are native domain specific to `org.gradle.language.nativeplatform`.

  1. … 27 more files in changeset.
Changed construction of the binaries of a native component to avoid leaking the services used by the binary implementations into the components.

  1. … 13 more files in changeset.
Model the linkages of a C++ library as a `Set` rather than a `List`.

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

    • -0
    • +55
    ./DefaultCppStaticLibrary.java
  1. … 33 more files in changeset.
Introduce specific platform type per language

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

    • -0
    • +26
    ./DefaultCppPlatform.java
  1. … 24 more files in changeset.
Move tool chain selection to library and application plugins

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

  1. … 16 more files in changeset.
Remove Runnable from GenerateMapFile as its no longer needed

  1. … 2 more files in changeset.
Cache module map files so that they are only generated once

  1. … 10 more files in changeset.
Move module map generation to the consumer side

  1. … 24 more files in changeset.
Add support for Swift/C++ interoperability

  1. … 10 more files in changeset.
Ensure source dependencies are built before Xcode project are generated

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

  1. … 8 more files in changeset.
Publish dependency constraints to Gradle module metadata

  1. … 12 more files in changeset.
Changed the C++ library plugin to consider files that end with `.hpp` to be C++ header files when publishing the library.

Add support for debuggable release variant for Cpp projects

  1. … 22 more files in changeset.
Add new cpp-unit-test plugin and base types

  1. … 12 more files in changeset.
Remove some APIs from the public interface

  1. … 6 more files in changeset.
Minor tweak to the variant names for published C++ components.

  1. … 2 more files in changeset.
Moved responsibility for generating the correct module metadata for a component that is published across multiple modules into the publish plugins, instead of hacking this together in the C++ plugin. The implementation is arguably still hackey but is now in a better home, where it can be reused by other plugins.

The module metadata generated for published C++ executables now includes the correct references to the debug and release variants, which are published to separate modules.

  1. … 7 more files in changeset.
Include all attributes of each variant of a C++ component in the generated module metadata files published to Maven repositories. Previously only the usage attribute was included.

Added support for attributes with boolean and String values in the generated module metadata file. Previously only `Usage` was supported.

Include the release variants of a published C++ library in the module metadata of the main Maven module. Previously only the API and debug variants were included (because the debuggable attribute could not be expressed in the metadata).

This change means that the correct debug/release variant of a C++ library resolved from a Maven repository will be selected for linking.

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

    • -0
    • +44
    ./DefaultCppStaticLibrary.java
  1. … 32 more files in changeset.
Add installDirectory to CppExecutable

  1. … 3 more files in changeset.
Reduce visibility of setters for CppBinary properties

  1. … 4 more files in changeset.
Add objects property for CppBinary

  1. … 2 more files in changeset.
Add executableFile to CppExecutable

  1. … 3 more files in changeset.
Add properties to CppSharedLibrary for link/runtime files

  1. … 3 more files in changeset.
Derive test components include path from component under test

  1. … 7 more files in changeset.