ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xavier Hanin" <xavier.ha...@gmail.com>
Subject Re: ivy:install
Date Thu, 10 Jan 2008 20:28:32 GMT
On Jan 10, 2008 8:36 PM, kermitt <herve.bourzeix@genesys.com> wrote:

>
> well, backward compatibility requires to keep the current  Resolver
> behaviour, overwrite = false make your build stop if a file already
> exists.
> So the API need to change to allow user to tell that he want
> synchronization.

Indeed, I was only speaking about the change of Exception raised when the
file is present.


> I feel like this is going to break a lot of code,

Mostly code in Ivy only, which is already in deep API change currently for
2.0

> is it
> usefull ?

I don't know, I've never had this use case before, but it sounds like it may
be useful.


>
>
> Before really coding , I would like to be confident that this feature is
> really helpful ,
>
> Do you share your integration repository and production ?

What do you mean?

Xavier


>
>
>
> Xavier Hanin wrote:
> >
> > On Jan 10, 2008 12:41 AM, kermitt <herve.bourzeix@genesys.com> wrote:
> >
> >>
> >> I attached my previous post from user mailling. I take a moment tonight
> >> to
> >> figure out the error.
> >>
> >> In my mind, I wanted to synchronize two repositories which is not
> >> possible
> >> regarding the code. As if overwrite is set to false an IOException is
> >> thrown
> >> as soon as an existing artifact is found.
> >>
> >> I feel like synchronization would be a good feature, what do you think
> >> of?
> >>
> >> There is different way to handle the feature but it would requires API
> >> change somehow. We need distingate the case of an exception of Input
> >> Output
> >> and the "file already exist" case.
> >>
> >> Some suggestions:
> >>
> >> void publish(Artifact artifact, File src, boolean overwrite) throws
> >> IOException, ExistingArtifactUncheckedException;
> >>
> >> => Would unify error message regarding duplicate as IOException is
> filled
> >> with various message according the resolver.
> >>
> >> void publish(Artifact artifact, File src, boolean overwrite,boolean
> >> skipExistingFile) throws IOException;
> >
> >
> > If we make ExistingArtifactException extends IOException we keep the
> same
> > API and we still have finer grain information as you want.
> >
> > Feel free to open an issue, and maybe attach a patch since you seem to
> > already have a pretty clear idea of what you want (don't forget unit
> test
> > to
> > increase chance to get included).
> >
> > Xavier
> >
> >>
> >>
> >> ....
> >>
> >>
> >>
> >>
> >> Trace confuse me a bit , I am using SFTP and I would suggest to add to
> >> SFTPRepository.java line 137:
> >>            if (!overwrite && checkExistence(destination, c)) {
> >>                throw new IOException("destination file " + destination
> +
> >> "
> >> exists and overwrite == true");
> >>            }
> >>
> >> regards,
> >>
> >>
> >> Hello,
> >>
> >> I have two repo : local , integration
> >>
> >> I tried to use ivy:install to migrate my modules between them.
> >>
> >> After publishing in local, i start a new task to migrate new
> dependencies
> >> I
> >> could have added to my local repo during my developpement:
> >>
> >> <ivy:install organisation="${ivy.organisation}" module="${ivy.module}"
> >> revision="${ivy.revision}" from="local" to="integration"
> >> transitive="true"
> >> />
> >>
> >>
> >> [ivy:install] :: installing com.foo.test#Basic;1.53 ::
> >> [ivy:install] :: resolving dependencies ::
> >> [ivy:install]   found com.foo.test#Basic;1.53 in fs-local
> >> [ivy:install]   found foo#AntCommon;1.39D in remote-private
> >> [ivy:install]   found junit#junit;3.8.1 in remote-private
> >> [ivy:install] :: downloading artifacts to cache ::
> >> [ivy:install] downloading
> >> d:\javadev\local-repository\com.foo.test\Basic\jars\Basic-1.53.jar ...
> >> [ivy:install] .. (1kB)
> >> [ivy:install] .. (0kB)
> >> [ivy:install]   [SUCCESSFUL ] com.foo.test#Basic;1.53!Basic.jar (20ms)
> >> [ivy:install] :: installing in remote ::
> >> [ivy:install]   published Basic to
> >> ./repository/private/com.foo.test/Basic/jars/Basic-1.53.jar
> >> [ivy:install]   published ivy to
> >> ./repository/private/com.foo.test/Basic/ivy-1.53.xml
> >> [ivy:install] missing artifact foo#AntCommon;1.39D!AntCommon.zip:
> >> [ivy:install]
> >> d:\javadev\repository\.ivy-cache\foo\AntCommon\zips\AntCommon-
> 1.39D.zipfile
> >> does not exist
> >>
> >> BUILD FAILED
> >> C:\javadev\src\AntCommon\src\build-common.xml:321: impossible to
> install
> >> com.foo.test#Basic;1.53: java.io.IOException: destination file exists
> and
> >> overwrite == true
> >>
> >> Total time: 1 minute 1 second
> >>
> >>
> >>
> >> I tried with ivy 1.4.1 and ivy 2.0 beta 1 same error, if I put
> transitive
> >> to
> >> false I don't get this error. I guess there is an issue with the
> artifact
> >> being reprocessed one more time when transitive.
> >> I don't really want to put overwrite="true" because I have so many
> >> artifact
> >> it would take too long ...
> >>
> >>
> >> --
> >> View this message in context:
> >> http://www.nabble.com/ivy%3Ainstall-tp14724560p14724560.html
> >> Sent from the Ant - Dev mailing list archive at Nabble.com.
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> >> For additional commands, e-mail: dev-help@ant.apache.org
> >>
> >>
> >
> >
> > --
> > Xavier Hanin - Independent Java Consultant
> > http://xhab.blogspot.com/
> > http://ant.apache.org/ivy/
> > http://www.xoocode.org/
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/ivy%3Ainstall-tp14724560p14741900.html
> Sent from the Ant - Dev mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
>
>


-- 
Xavier Hanin - Independent Java Consultant
http://xhab.blogspot.com/
http://ant.apache.org/ivy/
http://www.xoocode.org/

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message