Mitch Gitman wrote:
David, forgive me beforehand for answering your question (A) with another
question and then (B) by sidestepping it.
Could you clarify what you mean by "local repository"? I think in the usual
Ivy parlance, this means local to an individual developer's machine. Do you
mean local to your machine or do you mean a shared/enterprise repository?
I mean local to my mahine, and I am not using a continuous integration
server (yet).
Now, if you're talking an Ivy repository that is local to your machine, then
you already have control over which Ant targets you're calling. So whenever
you need to do a build for your own sake, you just avoid calling the target
that does ivy:publish, up until you need to publish to your local
repository.
Yes, true. But I just added a use of Ant's <uptodate> task that allows
me to re-call with publish and have it
do nothing with no changes, i.e., like javac, it does nothing if its
dependencies are up to date.
Thank you for your detailed response!
On Tue, Jan 20, 2009 at 2:31 PM, David Goblirsch <
dgoblir...@interactivebrokers.com> wrote:
If I have no changes to my source code or ivy.xml, my build will do nothing
EXCEPT that the "publish" task still wants to push them to the local
repository.
In order to get the build to not fail, I have to set overwrite to "true".
My guess is I am missing something here. My "publish" task depends on the
"jar" task since I want
to publish to my local repository any newly updated jar. But with no
changes, "compile" does nothing,
"jar" does nothing, but "publish" does anyway. How do you get the publish
task to
do nothing if the artifact and the ivy file have not changed??
Thanks.