Yes, this is the exact situation why I had the force option added to the 
filesystem resolver.  All of my resolving happens with a chain resolver which 
first references a local resolver with force="true" which stores modules in a 
local directory of the user's choice.  The second resolver in the chain is my 
main resolver that goes out to our netapp filer on the network where the 
official nightly builds are stored.  Then I have created an ANT target called 
publish.local that uses the local resolver for publishing.  It works 
beautifully and I thank Xavier for implementing it for me.  Here is an excerpt 
from my settings file:

        <resolvers>
                <filesystem name="published.local" force="true" 
cache="published.local.cache">
                        <ivy 
pattern="${env.PUBLISH_LOCAL_ROOT}/[module]/[branch]/[revision]/[type]/[artifact](.[ext])"/>
                        <artifact 
pattern="${env.PUBLISH_LOCAL_ROOT}/[module]/[branch]/[revision]/[type]/([home]/)([homeType]/)([path]/)[artifact](.[ext])"/>
                </filesystem>
                <filesystem name="published.repository" 
force="${published.force}">
                        <ivy 
pattern="${ivy.published.root}/${published.repository.type}/${env.RELEASE_NAME}/[module]/[branch]/[revision]/[type]/[artifact](.[ext])"/>
                        <artifact 
pattern="${ivy.published.root}/daily/${env.RELEASE_NAME}/[module]/[branch]/[revision]/[type]/([home]/)([homeType]/)([path]/)[artifact](.[ext])"/>
                </filesystem>
                <chain name="published.repository.chain">
                        <resolver ref="published.local"/>
                        <resolver ref="published.repository"/>
                </chain>
        </resolvers>

---
Shawn Castrianni

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Aaron Siri
Sent: Thursday, February 12, 2009 11:11 AM
To: [email protected]
Subject: Reused local revision?

We have a set of interdependent projects using ivy.  Some of these projects
produce artifacts to be used by other projects.  On a developer's machine
we'd like to be able to build and do a local publish of an artifact using a
reused "revision" (something like "local") that, when published locally,
will be picked up by the other projects using latest.integration.  We want
to do this so we don't litter the local repo with many "versioned" builds
when all the developer really cares about is the most recent local build if
there is one.


Is there a good strategy for this situation?


-Aaron

----------------------------------------------------------------------
This e-mail, including any attached files, may contain confidential and 
privileged information for the sole use of the intended recipient.  Any review, 
use, distribution, or disclosure by others is strictly prohibited.  If you are 
not the intended recipient (or authorized to receive information for the 
intended recipient), please contact the sender by reply e-mail and delete all 
copies of this message.

Reply via email to