You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-user@ant.apache.org by Sebastian Hennebrueder <us...@laliluna.de> on 2008/08/18 12:44:21 UTC
enterprise repository
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/ivy-user@ant.apache.org/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
Re: enterprise repository
Posted by Sebastian Hennebrueder <us...@laliluna.de>.
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;working@lautlos
> [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;working@lautlos:
> missing published artifacts for org.hibernate#core;working@lautlos:
> [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 <us...@laliluna.de>:
>>
>>> 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/ivy-user@ant.apache.org/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
>>>
>>>
>>>
>>
>>
>>
>>
>
>
Re: enterprise repository
Posted by Sebastian Hennebrueder <us...@laliluna.de>.
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;working@lautlos
[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;working@lautlos:
missing published artifacts for org.hibernate#core;working@lautlos:
[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 <us...@laliluna.de>:
>
>> 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/ivy-user@ant.apache.org/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
>>
>>
>>
>
>
>
>
Re: enterprise repository
Posted by Gilles Scokart <gs...@gmail.com>.
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 <us...@laliluna.de>:
> 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/ivy-user@ant.apache.org/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
>
>
--
Gilles Scokart