I'm using a maven-style local repository and I'd like to keep it using
pom files and not ivy.xml files.
In other words if I have an artifact in my repository, I'd like it to
be identified by a pom-style xml file not an ivy-style xml file.
So here's an example from my repository:
[EMAIL PROTECTED] repository]$ cd joda-time/joda-time/
[EMAIL PROTECTED] joda-time]$ ls
1.5
[EMAIL PROTECTED] joda-time]$ cd 1.5/
[EMAIL PROTECTED] 1.5]$ ls
joda-time-1.5.jar joda-time-1.5.pom
[EMAIL PROTECTED] 1.5]$ cat joda-time-1.5.pom
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>1.5</version>
</project>
Here's what I've done. Before I publish my artifact to the repository
I do the following
<ivy:makepom ivyfile="${basedir}/ivy.xml" pomfile="${basedir}/
module.pom">
<mapping conf="default" scope="server"/>
</ivy:makepom>
<ivy:publish artifactspattern="@{jar-dir}/[artifact].[ext]"
resolver="local"
status="integration"
forcedeliver="true"
overwrite="true"/>
But during my publish I always see:
[ivy:publish] published ivy to /home/maven/repository/twc/mas-coredn-
ondemand/5.1/mas-coredn-ondemand-5.1.pom
This is confusing because in my resolver configurations my ivy pattern
is set to look for poms
<ivysettings>
<settings defaultResolver="chained" checkUpToDate="true" />
<resolvers>
<chain name="chained">
<filesystem name="local" changingPattern="none"
latest="latest-time">
<ivy pattern="${ivy.settings.dir}/repository/[organisation]/
[module]/[revision]/[module]-[revision].pom"/>
<artifact pattern="${ivy.settings.dir}/repository/
[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
</filesystem>
<ssh name="shared" user="maven" userPassword="maven"
host="10.143.8.95" changingPattern="none" latest="latest-time">
<ivy pattern="/home/maven/repository/[organisation]/[module]/
[revision]/[module]-[revision].pom"/>
<artifact pattern="/home/maven/repository/[organisation]/
[module]/[revision]/[artifact]-[revision].[ext]"/>
</ssh>
</chain>
</resolvers>
</ivysettings>
Why would the publish task be smart enough to realize that if the
extension is .pom then when a ivy-publish happens use the generated
pom instead of pushing the ivy.xml file?
Thanks,
Neil