All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.gradle.apiConfigurationPublications Maven / Gradle / Ivy

There is a newer version: 8.6
Show newest version
/*
 * Copyright 2016 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.gradle.api.artifacts;

import org.gradle.api.Action;
import org.gradle.api.Incubating;
import org.gradle.api.NamedDomainObjectContainer;
import org.gradle.api.attributes.HasConfigurableAttributes;
import org.gradle.api.capabilities.Capability;

import java.util.Collection;

/**
 * Represents the outgoing artifacts associated with a configuration. These artifacts are used when the configuration is referenced during dependency resolution.
 *
 * 

You can use this interface associate artifacts with a configuration using the {@link #artifact(Object)} methods. You can also define several variants of the configuration's artifacts. Each variant represents a set of artifacts that form some mutually exclusive usage of the component.

* *

An implicit variant is defined for a configuration whenever any artifacts are attached directly to this object or inherited from another configuration.

* * @since 3.3 */ public interface ConfigurationPublications extends HasConfigurableAttributes { /** * Returns the artifacts associated with this configuration. When an artifact is added to this set, an implicit variant is defined for the configuration. These artifacts are also inherited by all configurations that extend this configuration. */ PublishArtifactSet getArtifacts(); /** * Adds an outgoing artifact to this configuration. This artifact is included in all variants. * *

See {@link org.gradle.api.artifacts.dsl.ArtifactHandler} for details of the supported notations. */ void artifact(Object notation); /** * Adds an outgoing artifact to this configuration, configuring it using the given action. This artifact is included in all variants. * *

See {@link org.gradle.api.artifacts.dsl.ArtifactHandler} for details of the supported notations. */ void artifact(Object notation, Action configureAction); /** * Returns the variants of this configuration, if any. */ NamedDomainObjectContainer getVariants(); /** * Configures the variants of this configuration. */ void variants(Action> configureAction); /** * Declares a capability for this configuration. * * @param notation the notation * * Valid notations are a group:name:version string (e.g: org.test:capability:1.0, or a map * with keys group, name and version. * * @since 4.7. */ @Incubating void capability(Object notation); /** * Returns the capabilities declared for this configuration. * * @return the capabilities for this variant * * @since 4.7 */ @Incubating Collection getCapabilities(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy