I\'m trying to use ivy:publish to publish a jar that I\'ve built to the .ivy repository, but I\'m getting an error. I\'m pretty sure I\'m not using it corre
You've forgotten a publications section in your ivy file.
<ivy-module version="2.0">
<info organisation="someorganisation" module="commonlib"/>
<publications>
<artifact name="commonlib" type="jar"/>
</publications>
<dependencies>
<dependency org="com.thoughtworks.xstream" name="xstream" rev="1.3.1" transitive="false"/>
<dependency org="org.slf4j" name="slf4j-api" rev="1.6.1" transitive="false"/>
<dependency org="org.slf4j" name="slf4j-jdk14" rev="1.6.1" transitive="false"/>
<dependency org="joda-time" name="joda-time" rev="1.6.2" transitive="false"/>
</dependencies>
</ivy-module>
The status and revision (pubrevision) fields can be specified by the publish task as follows:
<ivy:publish resolver="${publish.resolver}" pubrevision="${publish.revision}" status="${publish.status}">
<artifacts pattern="${build.dir}/[organisation]-[artifact].[ext]"/>
</ivy:publish>
Note 1:
It would be simpler to generate the jar file without the revision number in the name. Just let ivy's artifact pattern pick up the jar file.
Note 2:
You will require an ivy resolve at some stage in your build, otherwise the ivy file doesn't get processed.