Interface IvyArtifactRepository
-
- All Superinterfaces:
ArtifactRepository
,AuthenticationSupported
public interface IvyArtifactRepository extends ArtifactRepository, AuthenticationSupported
An artifact repository which uses an Ivy format to store artifacts and meta-data.When used to resolve metadata and artifact files, all available patterns will be searched.
When used to upload metadata and artifact files, only a single, primary pattern will be used:
- If a URL is specified via
setUrl(Object)
then that URL will be used for upload, combined with the appliedlayout(String)
. - If no URL has been specified but additional patterns have been added via
artifactPattern(java.lang.String)
orivyPattern(java.lang.String)
, then the first defined pattern will be used.
Repositories of this type are created by the
RepositoryHandler.ivy(org.gradle.api.Action)
group of methods.
-
-
Field Summary
Fields Modifier and Type Field Description static String
GRADLE_ARTIFACT_PATTERN
static String
GRADLE_IVY_PATTERN
static String
IVY_ARTIFACT_PATTERN
static String
MAVEN_ARTIFACT_PATTERN
static String
MAVEN_IVY_PATTERN
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
artifactPattern(String pattern)
Adds an independent pattern that will be used to locate artifact files in this repository.IvyArtifactRepositoryMetaDataProvider
getResolve()
Returns the meta-data provider used when resolving artifacts from this repository.URI
getUrl()
The base URL of this repository.void
ivyPattern(String pattern)
Adds an independent pattern that will be used to locate ivy files in this repository.void
layout(String layoutName)
Specifies the layout to use with this repository, based on the root url.void
layout(String layoutName, Closure config)
Specifies how the items of the repository are organized.void
layout(String layoutName, Action<? extends RepositoryLayout> config)
Specifies how the items of the repository are organized.void
setMetadataSupplier(Class<? extends ComponentMetadataSupplier> rule)
Sets a custom metadata rule, which is capable of supplying the metadata of a component (status, status scheme, changing flag) whenever a dynamic version is requested.void
setMetadataSupplier(Class<? extends ComponentMetadataSupplier> rule, Action<? super ActionConfiguration> configureAction)
Sets a custom metadata rule, possibly configuring the rule.void
setUrl(Object url)
Sets the base URL of this repository.void
setUrl(URI url)
Sets the base URL of this repository.-
Methods inherited from interface org.gradle.api.artifacts.repositories.ArtifactRepository
getName, setName
-
Methods inherited from interface org.gradle.api.artifacts.repositories.AuthenticationSupported
authentication, credentials, credentials, getAuthentication, getCredentials, getCredentials
-
-
-
-
Field Detail
-
IVY_ARTIFACT_PATTERN
static final String IVY_ARTIFACT_PATTERN
- See Also:
- Constant Field Values
-
GRADLE_ARTIFACT_PATTERN
static final String GRADLE_ARTIFACT_PATTERN
- See Also:
- Constant Field Values
-
GRADLE_IVY_PATTERN
static final String GRADLE_IVY_PATTERN
- See Also:
- Constant Field Values
-
MAVEN_ARTIFACT_PATTERN
static final String MAVEN_ARTIFACT_PATTERN
- See Also:
- Constant Field Values
-
MAVEN_IVY_PATTERN
static final String MAVEN_IVY_PATTERN
- See Also:
- Constant Field Values
-
-
Method Detail
-
getUrl
URI getUrl()
The base URL of this repository.- Returns:
- The URL.
-
setUrl
void setUrl(URI url)
Sets the base URL of this repository.- Parameters:
url
- The base URL.- Since:
- 4.0
-
setUrl
void setUrl(Object url)
Sets the base URL of this repository. The provided value is evaluated as perProject.uri(Object)
. This means, for example, you can pass in a File object or a relative path which is evaluated relative to the project directory. File are resolved based on the supplied URL and the configuredlayout(String, Closure)
for this repository.- Parameters:
url
- The base URL.
-
artifactPattern
void artifactPattern(String pattern)
Adds an independent pattern that will be used to locate artifact files in this repository. This pattern will be used to locate ivy files as well, unless a specific ivy pattern is supplied viaivyPattern(String)
. If this pattern is not a fully-qualified URL, it will be interpreted as a file relative to the project directory. It is not interpreted relative the URL specified insetUrl(Object)
. Patterns added in this way will be in addition to any layout-based patterns added viasetUrl(Object)
.- Parameters:
pattern
- The artifact pattern.
-
ivyPattern
void ivyPattern(String pattern)
Adds an independent pattern that will be used to locate ivy files in this repository. If this pattern is not a fully-qualified URL, it will be interpreted as a file relative to the project directory. It is not interpreted relative the URL specified insetUrl(Object)
. Patterns added in this way will be in addition to any layout-based patterns added viasetUrl(Object)
.- Parameters:
pattern
- The ivy pattern.
-
layout
void layout(String layoutName)
Specifies the layout to use with this repository, based on the root url. Seelayout(String, Closure)
.- Parameters:
layoutName
- The name of the layout to use.
-
layout
void layout(String layoutName, Action<? extends RepositoryLayout> config)
Specifies how the items of the repository are organized.The layout is configured with the supplied closure.
Recognised values are as follows:
'gradle'
A Repository Layout that applies the following patterns:
- Artifacts:
$baseUri/"[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier])(.[ext])"
- Ivy:
$baseUri/"[organisation]/[module]/[revision]/ivy-[revision].xml"
'maven'
A Repository Layout that applies the following patterns:
- Artifacts:
$baseUri/"[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier])(.[ext])"
- Ivy:
$baseUri/"[organisation]/[module]/[revision]/ivy-[revision].xml"
Following the Maven convention, the 'organisation' value is further processed by replacing '.' with '/'.
'ivy'
A Repository Layout that applies the following patterns:
- Artifacts:
$baseUri/"[organisation]/[module]/[revision]/[type]s/[artifact](.[ext])"
- Ivy:
$baseUri/"[organisation]/[module]/[revision]/[type]s/[artifact](.[ext])"
Note: this pattern is currently
incubating
.'pattern'
A repository layout that allows custom patterns to be defined. eg:
repositories { ivy { layout 'pattern' , { artifact '[module]/[revision]/[artifact](.[ext])' ivy '[module]/[revision]/ivy.xml' } } }
The available pattern tokens are listed as part of Ivy's Main Concepts documentation.
- Parameters:
layoutName
- The name of the layout to use.config
- The action used to configure the layout.- Since:
- 2.3 (feature was already present in Groovy DSL, this particular method introduced in 2.3)
- Artifacts:
-
layout
void layout(String layoutName, Closure config)
Specifies how the items of the repository are organized. Seelayout(String, org.gradle.api.Action)
- Parameters:
layoutName
- The name of the layout to use.config
- The closure used to configure the layout. An instance ofRepositoryLayout
is passed as a parameter to the closure.
-
getResolve
@Incubating IvyArtifactRepositoryMetaDataProvider getResolve()
Returns the meta-data provider used when resolving artifacts from this repository. The provider is responsible for locating and interpreting the meta-data for the modules and artifacts contained in this repository. Using this provider, you can fine tune how this resolution happens.- Returns:
- The meta-data provider for this repository.
-
setMetadataSupplier
@Incubating void setMetadataSupplier(Class<? extends ComponentMetadataSupplier> rule)
Sets a custom metadata rule, which is capable of supplying the metadata of a component (status, status scheme, changing flag) whenever a dynamic version is requested. It can be used to provide metadata directly, instead of having to parse the Ivy descriptor.- Parameters:
rule
- the class of the rule. Gradle will instantiate a new rule for each dependency which requires metadata.- Since:
- 4.0
-
setMetadataSupplier
@Incubating void setMetadataSupplier(Class<? extends ComponentMetadataSupplier> rule, Action<? super ActionConfiguration> configureAction)
Sets a custom metadata rule, possibly configuring the rule.- Parameters:
rule
- the class of the rule. Gradle will instantiate a new rule for each dependency which requires metadata.configureAction
- the action to use to configure the rule.- Since:
- 4.0
-
-