org.gradle.api.artifacts.maven
Interface Conf2ScopeMappingContainer


public interface Conf2ScopeMappingContainer

Defines a set of rules for how to map the Gradle dependendencies to a pom. This mapping is based on the configuration the dependencies belong to.


Field Summary
static String COMPILE
           
static String PROVIDED
           
static String RUNTIME
           
static String TEST
           
 
Method Summary
 Conf2ScopeMappingContainer addMapping(int priority, Configuration configuration, String scope)
          Specifies that dependencies of a certain configuration should be mapped against a certain Maven scope.
 Conf2ScopeMapping getMapping(Collection<Configuration> configurations)
          Returns a scope that corresponds to the given configurations.
 Map<Configuration,Conf2ScopeMapping> getMappings()
          Returns a map with all the configuration to scope mappings.
 boolean isSkipUnmappedConfs()
          Returns whether unmapped configuration should be skipped or not.
 void setSkipUnmappedConfs(boolean skipDependenciesWithUnmappedConfiguration)
          Sets, whether unmapped configuration should be skipped or not.
 

Field Detail

PROVIDED

static final String PROVIDED
See Also:
Constant Field Values

COMPILE

static final String COMPILE
See Also:
Constant Field Values

RUNTIME

static final String RUNTIME
See Also:
Constant Field Values

TEST

static final String TEST
See Also:
Constant Field Values
Method Detail

addMapping

Conf2ScopeMappingContainer addMapping(int priority,
                                      Configuration configuration,
                                      String scope)

Specifies that dependencies of a certain configuration should be mapped against a certain Maven scope. A configuration can be mapped to one and only one scope. If this method is called more than once for a particular configuration, the last call wins.

See getMapping(java.util.Collection) for the rules how a scope is choosen from a set of mappings.

Parameters:
priority - a number that is used for comparison with the priority of other scopes.
configuration - a Gradle configuration name (must not be null).
scope - A Maven scope name (must not be null)
Returns:
this
See Also:
getMapping(java.util.Collection)

getMapping

Conf2ScopeMapping getMapping(Collection<Configuration> configurations)
Returns a scope that corresponds to the given configurations. Dependencies of different configurations can be equal. But only one of those equals dependencies (which might differ in content) can be mapped to a pom (due to the the nature of a Maven pom).

Which scope is returned depends on the existing mappings. See addMapping(int, Configuration, String). If only one configuration is mapped, this mapping is used to choose the scope. If more than one configuration of a dependency is mapped, and those mappings all map to the same scope, this scope is used. If more than one configuration is mapped and the mappings map to different scopes, the mapping with the highest priority is used. If there is more than one mapping with the highest priority and those mappings map to different scopes, an exception is thrown.

Parameters:
configurations - The configuration
Returns:
The scope corresponding to the given configurations. Returns null if no such scope can be found.
See Also:
addMapping(int, Configuration, String)

getMappings

Map<Configuration,Conf2ScopeMapping> getMappings()
Returns a map with all the configuration to scope mappings. If no such mapping has been defined, an empty map is returned.

See Also:
addMapping(int, Configuration, String)

isSkipUnmappedConfs

boolean isSkipUnmappedConfs()
Returns whether unmapped configuration should be skipped or not. Defaults to true.

See Also:
setSkipUnmappedConfs(boolean)

setSkipUnmappedConfs

void setSkipUnmappedConfs(boolean skipDependenciesWithUnmappedConfiguration)
Sets, whether unmapped configuration should be skipped or not. If this is set to false, dependencies belonging to unmapped configurations will be added to the Maven pom with no scope specified. This means they belong to the Maven default scope, which is 'compile'.