Interface Bundling

All Superinterfaces:
Named

public interface Bundling extends Named
This attribute describes how dependencies of a component are found. There are currently 3 supported modes:
  • external, the default, where dependencies, if any, are found transitively
  • embedded, where dependencies are found inside the component, but using the same namespace as the original dependencies
  • shadowed, where dependencies are found inside the component, but within a different namespace to avoid name clashes

As a practical example, let's consider the Java ecosystem:

  • Jar component:
    • external indicates that transitive dependencies are themselves component jars
    • embedded indicates that transitive dependencies have been included inside the component jar, without modifying their packages
    • shadowed indicates that transitive dependencies have been included inside the component jar, under different packages to prevent conflicts
  • Sources component:
    • external indicates that the source of transitive dependencies are themselves source jars
    • embedded indicates that the source of transitive dependencies have been included inside the component source jar, without modifying their packages
    • shadowed indicates that the source of transitive dependencies have been included inside the component source jar, under different packages
Since:
5.3
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.gradle.api.Named

    Named.Namer
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final Attribute<Bundling>
     
    static final String
    Dependencies are packaged within the main component artifact.
    static final String
    The most common case: dependencies are provided as individual components.
    static final String
    Dependencies are packaged within the main component artifact but also in a different namespace to prevent conflicts.
  • Method Summary

    Methods inherited from interface org.gradle.api.Named

    getName
  • Field Details

    • BUNDLING_ATTRIBUTE

      static final Attribute<Bundling> BUNDLING_ATTRIBUTE
    • EXTERNAL

      static final String EXTERNAL
      The most common case: dependencies are provided as individual components.
      See Also:
    • EMBEDDED

      static final String EMBEDDED
      Dependencies are packaged within the main component artifact.
      See Also:
    • SHADOWED

      static final String SHADOWED
      Dependencies are packaged within the main component artifact but also in a different namespace to prevent conflicts.
      See Also: