buildobr

[since 2.3]

From a set of jar artifacts, this task generates an OBR (OSGi Bundle Repository) descriptor. It could be then used by the obr resolver.

The set of jars which will be described by OBR can be defined in 4 mutually exclusive ways:

  • via an Ivy resolver: every jar listed by the resolver will be taken into account

  • by defining a root directory: every jar found recursively in that folder will be taken into account

  • via the name of an Ivy cache: every artifact contained in the cache will be taken into account

  • (since 2.4) via a resolve: this task is a post resolve task (with all the behaviour and attributes common to all post resolve tasks), thus every artifact which has been resolved will be taken into account; it is especially useful for building a target platform

NB: among every listed file or artifact, only the actually OSGi bundles will be described by the OBR descriptor; the other files are ignored.

Attributes

[since 2.4]

This is a post resolve task, with all the behaviour and attributes common to all post resolve tasks.

Attribute Description Required

out

the location of the descriptor file to generate

Yes

resolverName

the name of the resolver from which the jars should be to gathered

No

cacheName

the name of the cache from which the jars should be to gathered

No

baseDir

the folder into which the jars should be gathered recursively

No

sourceType

if used as a post resolve task, sourceType defines the type of artifacts which should be considered as source artifacts

No. Defaults to source,sources,src

encoding

The encoding of the resulting XML file

No. Defaults to UTF-8

indent

Specify if the XML result file should be indented

No. Defaults to true

quiet

Log the rejected jars that are ill-formed as debug rather than warning

No. Defaults to false

Examples

    <ivy:buildobr baseDir="${eclipse.home}" out="${basedir}/target/repo-eclipse.xml" indent="true"/>

Builds an indented OBR descriptor from an Eclipse install, with their path relative to the Eclipse install.


    <ivy:configure file="ivysettings.xml"/>
    <ivy:buildobr resolverName="my-file-resolver" out="${basedir}/target/repo-eclipse.xml"/>

Configures Ivy settings and builds an OBR descriptor from jars resolved by the defined resolver.


    <ivy:configure file="ivysettings.xml"/>
    <ivy:buildobr cacheName="my-cache" out="${basedir}/target/repo-eclipse.xml"/>

Configures Ivy settings and builds an OBR descriptor from jars contained in the defined cache.


    <ivy:configure file="ivysettings.xml"/>
    <ivy:resolve file="ivy.xml"/>
    <ivy:buildobr out="${basedir}/target-platform-obr.xml"/>

Launches a resolve and then builds an obr.xml describing the resolved artifacts.