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. I feel like this is going to break a lot of code, is it usefull ?
Before really coding , I would like to be confident that this feature is really helpful , Do you share your integration repository and production ? Xavier Hanin wrote: > > On Jan 10, 2008 12:41 AM, kermitt <[EMAIL PROTECTED]> 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: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > > -- > 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]