Table of Contents
| API Documentation: | ArtifactHandler |
|---|
This class is for defining artifacts to be published and adding them to configurations. Creating publish artifacts does not mean to create an archive. What is created is a domain object which represents a file to be published and information on how it should be published (e.g. the name).
To create an publish artifact and assign it to a configuration you can use the following syntax:
<configurationName> <artifact-notation>, <artifact-notation> ...
or
<configurationName> <artifact-notation> { ... some code to configure the artifact }
The notation can be one of the following types:
PublishArtifact.AbstractArchiveTask. The information for publishing the artifact is extracted from the archive task (e.g. name, extension, ...). The task will be executed if the artifact is required.- A
RegularFileorDirectory. - A
ProviderofFile,RegularFileorDirectory. The information for publishing the artifact is extracted from the file or directory name. When the provider represents an output of a particular task, that task will be executed if the artifact is required. File. The information for publishing the artifact is extracted from the file name.Map. The map should contain a 'file' key. This is converted to an artifact as described above. You can also specify other properties of the artifact using entries in the map.
In each case, a ConfigurablePublishArtifact instance is created for the artifact, to allow artifact properties to be configured. You can also override the default values for artifact properties by using a closure to configure the properties of the artifact instance
An example showing how to associate an archive task with a configuration via the artifact handler. This way the archive can be published or referred in other projects via the configuration.
configurations {
//declaring new configuration that will be used to associate with artifacts
schema
}
task schemaJar(type: Jar) {
//some imaginary task that creates a jar artifact with some schema
}
//associating the task that produces the artifact with the configuration
artifacts {
//configuration name and the task:
schema schemaJar
}
| Method | Description |
add(configurationName, artifactNotation) | Adds an artifact to the given configuration. |
add(configurationName, artifactNotation, configureClosure) | Adds an artifact to the given configuration. |
add(configurationName, artifactNotation, configureAction) | Adds an artifact to the given configuration. |
Adds an artifact to the given configuration.
PublishArtifact add(String configurationName, Object artifactNotation, Closure configureClosure)
Adds an artifact to the given configuration.
PublishArtifact add(String configurationName, Object artifactNotation, Action<? super ConfigurablePublishArtifact> configureAction)
Action<? super ConfigurablePublishArtifact>Adds an artifact to the given configuration.