Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Change x64() to x86_64()

  1. … 9 more files in changeset.
Move TargetMachineFactory up to a project service

  1. … 50 more files in changeset.
Add support for declaring target machines

  1. … 33 more files in changeset.
Replace all usages of the property factory methods on `ProjectLayout` and `DefaultTask` with the factory methods on `ObjectFactory`.

  1. … 44 more files in changeset.
Replace internal `SourceDirectorySetFactory` with a method on public `ObjectFactory` service, to allow plugins to create instances of this type without resorting to using internal types.

  1. … 44 more files in changeset.
Expose the variant name and header directories for each C++ binary in the C++ tooling model.

Rework construction of the native binary models so that the binary names are not formatted and parsed a bunch of times during construction and so do not lose information.

  1. … 36 more files in changeset.
Use immutable file collections whenever possible (#5797)

- Stop DefaultProject implementing FileOperations/ProcessOperations

- Stop BasicScript implementing FileOperations/ProcessOperations

- FileResovler.resolveUri() is not nullable

  1. … 37 more files in changeset.
Use native variant identity for name suffix

  1. … 7 more files in changeset.
Align Swift and C++ library implementation test

  1. … 1 more file in changeset.
Fix `DefaultCppApplicationTest`

Fix `DefaultCppLibraryTest`

Fix `DefaultCppBinaryTest` by adding operating system family to identity

  1. … 4 more files in changeset.
Added a display name for each native component implementation.

Added a convenience to `Describables` to format a display name for an object with a type and a name.

  1. … 14 more files in changeset.
Added methods to the various native component types to allow implementation and API dependencies to be declared on the component instance instead of on the project's `dependencies` block, for consistency with the binaries.

    • -14
    • +16
    ./DefaultCppComponentTest.groovy
  1. … 29 more files in changeset.
Added an (internal for now) `names` property to each C++ and Swift binary, which code that needs to construct names for the binary can use instead of reverse engineering this from the name of the binary. This allows for different binaries to use different schemes (which they already do but communicate this through special names).

  1. … 21 more files in changeset.
Moved responsibility for defining the Maven publications for a native component down to the `NativeBasePlugin` and out of the various C++ plugins.

Also publish the static variant of a C++ library if it is defined.

  1. … 16 more files in changeset.
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.