Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Operating system family property to SwiftPlatform and CppPlatform

  1. … 5 more files in changeset.
Rename `CapabilitiesDescriptor` to `Capabilities`

... and `getCapababilitiesMetadata()` to `getCapabilities()` for consistency.

  1. … 36 more files in changeset.
Wire operatingSystem into Swift binary types

  1. … 7 more files in changeset.
Publish capabilities to Ivy/Maven repositories

This commit makes sure that capabilities can be published to Maven or Ivy repositories.

By published, we only mean using Gradle metadata: capabilities are a Gradle-only feature,

so there's no equivalent to be published in a `pom.xml` or `ivy.xml` file.

  1. … 15 more files in changeset.
Propagate includePath dependencies for CppBinary

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

  1. … 7 more files in changeset.
Fix some of the NPEs

  1. … 3 more files in changeset.
Remove lightweight usage context

  1. … 4 more files in changeset.
Delete unused class

Refactor to detangle NativeVariantIdentity and Cpp binaries

  1. … 4 more files in changeset.
Make NativeVariantIdentity private for CppExecutable and libraries

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

  1. … 17 more files in changeset.
Fix `DefaultCppBinaryTest` by adding operating system family to identity

  1. … 3 more files in changeset.
Fix illegal import statements

Reference producer attributes from identity

  1. … 5 more files in changeset.
Use identity for debuggable and optimized properties

  1. … 5 more files in changeset.
Prevent operating system configuration duplication

  1. … 4 more files in changeset.
Simplify naming

  1. … 4 more files in changeset.
Somewhat working

    • -0
    • +68
    ./LightweightUsageContext.java
    • -0
    • +58
    ./NativeVariantIdentity.java
  1. … 5 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 `operatingSystems` DSL

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

  1. … 5 more files in changeset.
Separate Dependency Constraint and Dependency declarations (#4255)

The interfaces for declaring these two different things were

coupled in the initial implementation - to reuse all functionality

based on the Dependency interface directly. This interface is used

internally to pass dependency declarations through the resolution

process. However, this is only due to remembering the first

level dependencies for the "old" results API

(Configuration.resolvedConfiguration()).

These implementation specifics should not bleed into the API.

A dependency declaration defines a *requirement*:

I require module/project X

A dependency constraint defines a *constraint*:

If I must use X, I can only work with versions matching the constraint

Only if we look at external dependencies, constraints and external dependencies

share the ability to declare a *version constraint*. Therefore, both now

extend ModuleVersionSelector.

Now, dependency constraints are removed as "first level dependencies"

from the result. This is fine as the dependency itself is still in the

result graph - when there is a constraint, there is always at least one other

edge.

  1. … 33 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. … 15 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.

  1. … 29 more files in changeset.
Added methods to `SwiftBinary` to allow implementation dependencies to be declared for the binary.

  1. … 9 more files in changeset.
Added methods to `CppBinary` to allow implementation dependencies to be declared for the specific binary.

  1. … 10 more files in changeset.
Fixed names for C++ publications and variants in publications.

  1. … 5 more files in changeset.
Changed toolchain selection for the native plugins to attempt to find the x86 tools when building for Windows x64 and none of the x64 tools are available.

This means that when building C++ on a Windows x64 and only cygwin32 or an older Visual studio is installed, the 32 bit binaries will be built and tested, rather than complaining that no tools are available. This fallback could possibly happen on other platforms, but is either pointless (macOS) or is likely to fail (Linux).

The fallback would not happen when the target architecture is explicitly specified, but that isn't possible yet.

  1. … 21 more files in changeset.