Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Introduced an abstraction for a native component that has a development binary, and use this for libraries and applications, but not test suites. Removed the `developmentBinary` property from the test suite types.

  1. … 19 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.
Add support for building static c++ libraries

  1. … 41 more files in changeset.
Fixing tests

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

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

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

  1. … 35 more files in changeset.
Fix unit tests with new CppBinary properties

  1. … 1 more file in changeset.
Make DefaultCppComponent recognize files ending in cc

This is a common extension for C++ files, so it should be acceptable

for source files for a `DefaultCppComponent`.

  1. … 1 more file in changeset.
Added `ObjectFactory.property(Class)` as a replacement for `ProviderFactory.property(Class)`. Changed all usages to use the new method.

  1. … 38 more files in changeset.
Native plugins use configurations.maybeCreate(name) instead of .create()

So that their application don't fail the build at configuration time

if a configuration with the same name happen to already exist.

  1. … 12 more files in changeset.
Changed C++ plugins to handle linking against a library from a Maven repository on Windows.

  1. … 8 more files in changeset.
Changed the C++ plugins to make the link files for C++ libraries from a Maven repository visible to consumers at link time via dependency resolution.

The implementation is intentionally dumb and has plenty of edge cases. This implementation will get simpler and more robust as more metadata about each library is made available in the Maven repository and as the dependency resolution engine is able to consume this. In this change, the implementation works only when building on MacOs.

  1. … 2 more files in changeset.
Changed the C++ plugins to make the header files for C++ libraries from a Maven repository visible to consumers at compile time via dependency resolution.

The implementation is intentionally dumb and has plenty of performance and other issues. This implementation will get simpler and more robust as more metadata about each library is made available in the Maven repository and as the dependency resolution engine is able to consume this.

  1. … 6 more files in changeset.
Publish only the public header files of a C++ library, rather than all of the header files.

  1. … 6 more files in changeset.
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.
Added a couple of query methods to the C++ model, to remove some assumptions from various plugins.

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

This change doesn't add any public mechanism for registering components or binaries, it simply removes some assumptions from the various plugins.

    • -0
    • +51
    ./DefaultCppBinaryTest.groovy
    • -23
    • +17
    ./DefaultCppComponentTest.groovy
  1. … 14 more files in changeset.
Added some initial modelling of the debug and release variants of a C++ application and library.

    • -0
    • +31
    ./DefaultCppApplicationTest.groovy
  1. … 12 more files in changeset.
Changed the `SwiftComponent` and `CppComponent` implementations to use their name to calculate their default source directories and removed special setup from the XCTest plugin.

  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.

  1. … 16 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. … 9 more files in changeset.
Added some query methods to the `CppComponent` extension added by the C++ plugins, to allow build logic to query things such as the compile include path or the header files of the component. Changed the Xcode plugin to use these query methods instead of making assumptions.

  1. … 7 more files in changeset.
Changed the C++ executable and library plugins to allow the private header directories of the component to be specified.

  1. … 9 more files in changeset.
Changed the C++ library plugin to allow configuration of the directories containing the public headers of the library.

    • -0
    • +44
    ./DefaultCppLibraryTest.groovy
  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.

    • -0
    • +70
    ./DefaultCppComponentTest.groovy
  1. … 11 more files in changeset.
Removed concept of 'parent' for an `AbstractLanguageSourceSet`, this information is now carried in the id for the source set.

  1. … 20 more files in changeset.
Fixed broken unit test.

Introduced a factory to create `SourceDirectorySet` instances, to avoid exposing the dependencies of `DefaultSourceDirectorySet` to all the places that need to create a `SourceDirectorySet`.

  1. … 37 more files in changeset.
Polishing changes to use PatternSpecFactory +review REVIEW-5627

  1. … 15 more files in changeset.
Manage creation of most PatternSet instances

- use managed CachingPatternSpecFactory instance for

these PatternSet instances

+review REVIEW-5627

  1. … 37 more files in changeset.