- Documentation (2.5.1-local-20221102182706)
- Release Notes
- Tutorials
- Reference
- Introduction
- Settings Files
- Ivy Files
- Ant Tasks
- artifactproperty
- artifactreport
- buildlist
- buildnumber
- buildobr
- cachefileset
- cachepath
- checkdepsupdate
- cleancache
- configure
- convertmanifest
- convertpom
- deliver
- dependencytree
- findrevision
- fixdeps
- info
- install
- listmodules
- makepom
- post resolve tasks
- publish
- report
- repreport
- resolve
- resources
- retrieve
- settings
- var
- Using standalone
- OSGi
- Developer doc
artifact
Tag: artifact Parent: publications
Declares an artifact published by this module. This is especially useful for other modules depending on this one. They thus get all published artifacts belonging to the configurations asked. Indeed, each published artifact declares in which public configuration it is published. Thus a module depending on this module only get artifacts marked with the asked configurations, taking into account configurations extension (see configuration declaration).
The configurations in which an artifact is published can be configured in two ways:
-
conf
attribute on anartifact
element -
conf
subelement
The two are equivalent, it is only a matter of preference. However, do not mix both for one artifact.
[since 1.4]
The artifact element has default values for all its attributes, so if you want to declare a default artifact you can just declare it like that:
<artifact/>
If this is the only artifact declared, then it’s equivalent to having no publication section at all.
It is possible to give an url
at which artifacts can be found. This is not mandatory, and even not recommended. This is only a convenient way to deal with an existing repository with a bad layout, but should not be avoided in an enterprise repository.
This tag supports extra attributes.
(since 2.4) This tag supports the 'packaging' attributes; complete documentation can be found in the concept page.
Attributes
Attribute | Description | Required |
---|---|---|
name |
the name of the published artifact. This name must not include revision. |
No, defaults to the name of the module |
type |
the type of the published artifact. It’s usually its extension, but not necessarily. For instance, Ivy files are of type |
No, defaults to |
ext |
the extension of the published artifact |
No, defaults to the value of |
conf |
comma separated list of public configurations in which this artifact is published.
|
No, defaults to |
url |
an URL at which this artifact can be found if it isn’t located at the standard location in the repository (since 1.4) |
No, defaults to no URL |
packaging |
a comma separated list of packaging types (since 2.4) |
No, defaults to no packaging |
Child elements
Element | Description | Cardinality |
---|---|---|
indicates a public configuration in which this artifact is published |
0..n |
Examples
<artifact/>
Declares an artifact with the name of the module as name, type and ext jar, and published in all configurations.
<artifact name="foo-src" type="source" ext="zip" conf="src"/>
Declares an artifact foo-src
, of type source
with extension zip
, and published in the src
configuration.
<artifact name="foo" url="http://www.acme.com/repository/barbaz/foo-1.2-bar.jar"/>
Declares an artifact foo
, of type and extension jar'
located at the URL http://www.acme.com/repository/barbaz/foo-1.2-bar.jar
. This URL will only be used if the artifact cannot be found at its standard location.