Package-level declarations

Main package for the Buildless plugin for Gradle. Includes all user-facing interfaces and classes.

Types

Link copied to clipboard

Specifies settings which relate specifically to the Buildless Agent, and are used to configure the agent's cache services with Gradle.

Link copied to clipboard
@Serializable
data class AgentConfig(val pid: Int, val port: Int, val socket: String? = null, val control: AgentConfig.AgentEndpoint? = null)

Describes the structure of a local agent configuration rendezvous file.

Link copied to clipboard
@Serializable
value class ApiKey : Serializable, Comparable<ApiKey>

Describes a checked Buildless API key, which also carries metadata with it about the key. The key itself can be accessed via the key getter.

Link copied to clipboard
abstract class BuildlessExtension @Inject constructor(factory: ObjectFactory) : BuildlessExtensionAPI<Settings, BuildlessSettings>

The extension for the Buildless plugin is used from the settings.gradle.kts script to configure the plugin's behavior and features.

Link copied to clipboard

This interface, along with nested types, defines the public API surface for the Buildless plugin for Gradle. Developers may customize their remote cache use via methods and fields defined herein.

Link copied to clipboard
class BuildlessPlugin @Inject constructor(docRegistry: DocumentationRegistry, sslContextFactory: SslContextFactory, httpClientHelperFactory: HttpClientHelper.Factory, requestCustomizer: HttpBuildCacheRequestCustomizer) : Plugin<Settings> , BuildCacheServiceFactory<BuildlessCache>

Entrypoint for the official Buildless plug-in for Gradle, which adds (1) optimized transport capabilities for caching and artifact downloads, (2) a lightning fast remote build cache, and (3) helpful configuration for the Kotlin DSL.

Link copied to clipboard
interface BuildlessProjectSettings : ConfigAPI<Project>

Defines the interface made available when configuring project-level settings w.r.t. the Buildless plugin. Project level settings mostly deal with logging and ignoring tasks for the cache.

Link copied to clipboard

This service implementation provides a dependency-injected way to access API clients for the Buildless service, from within a Gradle build.

Link copied to clipboard
interface BuildlessSettings : ConfigAPI<Settings>

Describes top-level settings which are available within settings.gradle.kts for a Buildless-enabled Gradle project. These settings apply within the scope of file in question (usually, all projects within a multi-project Gradle build, or a single Gradle project).

Link copied to clipboard

Enumerates the types of transport engines which are available for use when interacting with Buildless. By default, the BUILTIN transport is used, which leverages Gradle's built-in remote build caching over HTTP.

Link copied to clipboard
interface ConfigAPI<Target>

Describes the base interface from which all plugin settings interfaces inherit. Since the Buildless plugin can be configured in both the context of a Gradle Settings (initialization) file, and also a Project, the API needs to be extended into both circumstances; this interface bears the common fields between both.

Link copied to clipboard

Specifies settings which configure Gradle's local build cache; these may be provided in lieu of settings specified directly with Gradle. Local build cache settings specified directly to Gradle take precedence over these. By default, the local build cache is enabled.

Link copied to clipboard

Settings which relate to the Buildless Agent, in mutable form for use in Gradle's settings.gradle.kts file. The plugin configures sensible defaults if not otherwise specified.

Link copied to clipboard

Top-level abstract cache settings for the Buildless Gradle plugin, in mutable form for use in Gradle's settings.gradle.kts file. This is the base type for MutableLocalCacheSettings and MutableRemoteCacheSettings.

Link copied to clipboard

Local cache settings for the Buildless Gradle plugin, in mutable form for use in Gradle's settings.gradle.kts file. The plugin configures sensible defaults if not otherwise specified.

Link copied to clipboard

Remote cache settings for the Buildless Gradle plugin, in mutable form for use in Gradle's settings.gradle.kts file. The plugin configures sensible defaults if not otherwise specified. Remote caching is typically not possible unless an API key is resolvable.

Link copied to clipboard

Specifies settings which configure Gradle's remote build cache; these may be provided in lieu of settings specified directly with Gradle, and are preferred over directly specifying settings. By default, the remote build cache is enabled in all circumstances.