The workaround I found is the following:
configuration fetch
loads jars from maven with ivy:retrieve
other configuration redefines the dependencies
publish task, publishes now the jar, which was downloaded from maven
Is this the way to go?
Best Regards
Sebastian
Sebastian Hennebrueder schrieb:
I still get an error. I post the error message and my configuration.
publish:
No ivy:settings found for the default reference 'ivy.instance'. A
default instance will be used
[null] :: Ivy 2.0.0-beta2 - 20080225093827 ::
http://ant.apache.org/ivy/ ::
[null] :: loading settings :: file =
/home/hennebrueder/workspaces/iworkspace/repositoryinstall/ivysettings.xml
[ivy:resolve] :: resolving dependencies ::
org.hibernate#core;[EMAIL PROTECTED]
[ivy:resolve] confs: [default]
[ivy:resolve] found commons-lang#commons-lang;2.4 in public
[ivy:resolve] :: resolution report :: resolve 78ms :: artifacts dl 3ms
---------------------------------------------------------------------
| | modules ||
artifacts |
| conf | number| search|dwnlded|evicted||
number|dwnlded|
---------------------------------------------------------------------
| default | 1 | 0 | 0 | 0 || 1 |
0 |
---------------------------------------------------------------------
[ivy:publish] :: publishing :: org.hibernate#core
[ivy:publish] missing artifact org.hibernate#core;3.2.5.ga!core.jar:
[ivy:publish]
/home/hennebrueder/workspaces/iworkspace/repositoryinstall/distrib/jars/core-3.2.5.ga.jar
file does not exist
[ivy:publish] published ivy to
/home/hennebrueder/.ivy2/shared/org.hibernate/core/3.2.5.ga/ivys/ivy.xml
BUILD FAILED
/home/hennebrueder/workspaces/iworkspace/repositoryinstall/build.xml:11:
impossible to publish artifacts for org.hibernate#core;[EMAIL PROTECTED]:
missing published artifacts for org.hibernate#core;[EMAIL PROTECTED]:
[org.hibernate#core;3.2.5.ga!core.jar]
Here is my ivy.xml
<ivy-module version="2.0" xmlns:m="http://ant.apache.org/ivy/maven">
<!--xmlns="ivy"-->
<info organisation="org.hibernate"
module="core"/>
<configurations defaultconfmapping="default">
<conf name="default"/>
</configurations>
<publications>
</publications>
<dependencies>
<dependency org="commons-lang" name="commons-lang" rev="2.4"
conf="default->default">
<artifact name="commons-lang" type="jar" ext="jar"/>
</dependency>
</dependencies>
</ivy-module>
ivysettings.xml
<ivysettings>
<settings defaultResolver="public"/>
<property name="ivy.shared.local.root"
value="${ivy.default.ivy.user.dir}/local" override="false"/>
<property name="ivy.shared.default.root"
value="${ivy.default.ivy.user.dir}/shared" override="false"/>
<property name="ivy.default.ivy.pattern"
value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
override="false"/>
<property name="ivy.default.artifact.pattern"
value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
override="false"/>
<resolvers>
<filesystem name="local">
<ivy
pattern="${ivy.shared.local.root}/${ivy.default.ivy.pattern}"/>
<artifact
pattern="${ivy.shared.local.root}/${ivy.default.artifact.pattern}"/>
</filesystem>
<filesystem name="shared">
<ivy
pattern="${ivy.shared.default.root}/${ivy.default.ivy.pattern}"/>
<artifact
pattern="${ivy.shared.default.root}/${ivy.default.artifact.pattern}"/>
</filesystem>
<ibiblio name="public" m2compatible="true" />
<filesystem name="import">
<artifact pattern="/tmp/import/[module]-[revision].[ext]" />
</filesystem>
</resolvers>
</ivysettings>
build.xml
<project xmlns:ivy="antlib:org.apache.ivy.ant" name="org.hibernate"
default="publish">
<property name="revision" value="3.2.5.ga"/>
<target name="publish" description="--> publish this project in the
ivy repository">
<ivy:resolve />
<ivy:publish resolver="shared"
pubrevision="${revision}"
status="release"
overwrite="true"
/>
<echo message="project ${ant.project.name} released with version
${revision}"/>
</target>
</project>
Gilles Scokart schrieb:
If you have no artefact to publish, the ivy file that you want to
publish should have an empty publications tag.
2008/8/18 Sebastian Hennebrueder <[EMAIL PROTECTED]>:
Hello,
I would like to define my own ivy configuration for existing projects
like
Hibernate for example.
I tried to do this with the publish task
<ivy:publish resolver="shared" pubrevision="${revision}"
status="release"
/>
but this task seems to require that I have at least one jar to
publish. I
cannot only publish an ivy file with the defined dependencies. But I
would
like just to rewrite the dependencies.
I read the discussion at
http://www.mail-archive.com/[email protected]/msg00267.html
It states that I should use the install task, but this from my
understanding
does not allow to adjust the dependencies.
Well, I am wondering how to achieve this. Do you have any ideas?
Best Regards
Sebastian Hennebrueder
http://www.laliluna.de