Clone Tools
  • last updated a few seconds ago
Constraints: committers
Constraints: files
Constraints: dates
Only set install name on Windows and Linux

Replace Callable, Transformer, Action in NativeBasePlugin with lambdas

Remove use of providers.provider in several places in native base plugin

Use linker task target platform instead

Remove TODO

Set `installName` for linux target

Change the C++ tooling model builder so that it does not attempt to resolve task dependencies to infer how to build the various C++ binaries, Instead add properties to the C++ project model to allow the builder to query these tasks and build logic to explicitly define what they should be.

  1. … 15 more files in changeset.
Use new task API in native plugins

  1. … 3 more files in changeset.
Make most of C++ plugin tasks lazily created

  1. … 6 more files in changeset.
Allow native publications with custom coordinates

The `afterEvaluate {}` block in the native base plugin

was overwriting any user-specified logic.

Replacing it with the Provider API fixes this issue and

also allows late changes to the defaults.

  1. … 19 more files in changeset.
Deprecate DeferredConfigurable

Remove it from the publishing plugins, as they no longer require it.

  1. … 12 more files in changeset.
Move buildable and publishable component types to core-api

  1. … 9 more files in changeset.
Merge pull request #4411 from gradle/gh/stable-native/vs-new-model

Visual Studio support for new native plugins

  1. … 1 more file in changeset.
refactor NativeBasePlugin into multiple methods

Introduce Buildable and Publishable components to mark variants that can be published

  1. … 19 more files in changeset.
Change executable debuggable file to be the installed executable

  1. … 2 more files in changeset.
Use identity name for publication name

Reference producer attributes from identity

  1. … 8 more files in changeset.
Simplify naming

  1. … 5 more files in changeset.
Somewhat working

  1. … 11 more files in changeset.
Convert operating system attribute into extensible family name attribute

  1. … 9 more files in changeset.
Some more work

  1. … 6 more files in changeset.
Add binary operating system as attribute for Swift and C++

  1. … 5 more files in changeset.
Fix test failures

  1. … 23 more files in changeset.
Retain boolean getters for Property<Boolean> properties for now

  1. … 4 more files in changeset.
Migrate all link task properties to Provider API

  1. … 17 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 an interface out of public API, as it wasn't supposed to be there.

  1. … 5 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. … 17 more files in changeset.
Moved definition of the outgoing link and runtime configurations for each binary to the native base plugin from the various language specific plugins.

The shared and static variants of a library are made available for consumption by another local project, with a `linkage` attribute to disambiguate between them. The shared linkage is preferred over the static linkage.

  1. … 27 more files in changeset.