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 Ma...@amis.com on 2007/09/24 18:02:48 UTC
Publish Event Trigger?
Hi All,
I am looking at the documentation on triggers and I have also browsed the
source and it appears to my new-to-Ivy eyes that there is no way to hook
up a trigger to the delivery or publishing of an artifact. Is this, in
fact, the case? What I am trying to do is trigger a rebuild of any
modules that depend on a given artifact, whenever a new version of that
artifact has been published.
If Ivy doesn't support this - has anyone else done something like this?
The only other way I can see to do it would be to actually monitor the
filesystem where the artifact repository is kept.
Thanks,
Mark.
AMI Semiconductor - "Silicon Solutions for the Real World"
NOTICE:
This electronic message contains information that may be confidential or privileged. The information is intended for the use of the individual or entity named above. If you are not the intended recipient, please be aware that any disclosure, copying, distribution or use of the contents of this information is prohibited. If you received this electronic message in error, please notify the sender and delete the copy you received.
Re: Publish Event Trigger?
Posted by Ma...@amis.com.
"Xavier Hanin" <xa...@gmail.com> wrote on 09/25/2007 01:54:23 AM:
> On 9/24/07, Mark_Melvin@amis.com <Ma...@amis.com> wrote:
> >
> > "Xavier Hanin" <xa...@gmail.com> wrote on 09/24/2007 12:22:12
PM:
> >
> > > On 9/24/07, Mark_Melvin@amis.com <Ma...@amis.com> wrote:
> > > >
> > > > Hi All,
> > > >
> > > > I am looking at the documentation on triggers and I have also
browsed the
> > > > source and it appears to my new-to-Ivy eyes that there is no way
to hook
> > > > up a trigger to the delivery or publishing of an artifact. Is
this, in
> > > > fact, the case? What I am trying to do is trigger a rebuild of
any
> > > > modules that depend on a given artifact, whenever a new version of
that
> > > > artifact has been published.
> > >
> > > Indeed, there is no such trigger, but to publish a module you need
to call
> > > explicitly the publish action, so you can pretty easily call
something else
> > > after the publish. If you are thinking about something like a
repository
> > > event, Ivy is a client side tool, and thus do not provide repository
events.
> > > BTW, to get all modules depending on one module, you can use the
build list
> > > task with the leaf attribute.
> > >
> >
> > Yes - I was thinking about this over lunch and came to this
realization.
> > It is more something I can just call/broadcast as part of my build
script.
> > Although, it isn't such a far-fetched idea is it? It can still be a
> > client thing couldn't it as ultimately it is Ivy that is still doing
the
> > publishing. It would be a lot simpler to hook up a generic trigger to
all
> > "post-publish" events than it would be to call it after every publish
from
> > every build script.
>
>
> You can still define your own publish task using ant macrodef for
example,
> then call this one, and you'll be sure your post publish stuff is always
> called as long as you use this task. It doesn't work when you use Ivy
from
> the command line though, nor with the API. So if you really consider we
> should add a post publish event for the triggers, feel free to add a
JIRA
> issue.
>
> Xavier
>
I guess I'll see how my build scripts turn out when I get that far. If
nobody else has run into this before it must not be a big deal. ;)
Thanks for the help,
Mark.
AMI Semiconductor - "Silicon Solutions for the Real World"
NOTICE:
This electronic message contains information that may be confidential or privileged. The information is intended for the use of the individual or entity named above. If you are not the intended recipient, please be aware that any disclosure, copying, distribution or use of the contents of this information is prohibited. If you received this electronic message in error, please notify the sender and delete the copy you received.
Re: Publish Event Trigger?
Posted by Xavier Hanin <xa...@gmail.com>.
On 9/24/07, Mark_Melvin@amis.com <Ma...@amis.com> wrote:
>
> "Xavier Hanin" <xa...@gmail.com> wrote on 09/24/2007 12:22:12 PM:
>
> > On 9/24/07, Mark_Melvin@amis.com <Ma...@amis.com> wrote:
> > >
> > > Hi All,
> > >
> > > I am looking at the documentation on triggers and I have also browsed
> the
> > > source and it appears to my new-to-Ivy eyes that there is no way to
> hook
> > > up a trigger to the delivery or publishing of an artifact. Is this,
> in
> > > fact, the case? What I am trying to do is trigger a rebuild of any
> > > modules that depend on a given artifact, whenever a new version of
> that
> > > artifact has been published.
> >
> >
> > Indeed, there is no such trigger, but to publish a module you need to
> call
> > explicitly the publish action, so you can pretty easily call something
> else
> > after the publish. If you are thinking about something like a repository
> > event, Ivy is a client side tool, and thus do not provide repository
> events.
> > BTW, to get all modules depending on one module, you can use the build
> list
> > task with the leaf attribute.
> >
>
> Yes - I was thinking about this over lunch and came to this realization.
> It is more something I can just call/broadcast as part of my build script.
> Although, it isn't such a far-fetched idea is it? It can still be a
> client thing couldn't it as ultimately it is Ivy that is still doing the
> publishing. It would be a lot simpler to hook up a generic trigger to all
> "post-publish" events than it would be to call it after every publish from
> every build script.
You can still define your own publish task using ant macrodef for example,
then call this one, and you'll be sure your post publish stuff is always
called as long as you use this task. It doesn't work when you use Ivy from
the command line though, nor with the API. So if you really consider we
should add a post publish event for the triggers, feel free to add a JIRA
issue.
Xavier
Thanks for the reminder on ivy:buildlist as well.
>
>
> > If Ivy doesn't support this - has anyone else done something like this?
> > > The only other way I can see to do it would be to actually monitor the
> > > filesystem where the artifact repository is kept.
> >
> >
> > What can be done is use a CI server which is Ivy aware like xooctory
> [1],
> > but I guess you already know about that :-)
> >
> > Xavier
> > [1] http://xooctory.xoocode.org/
>
>
> Yup. I can't wait. ;)
>
> M.
> AMI Semiconductor - "Silicon Solutions for the Real World"
> NOTICE:
> This electronic message contains information that may be confidential or
> privileged. The information is intended for the use of the individual or
> entity named above. If you are not the intended recipient, please be aware
> that any disclosure, copying, distribution or use of the contents of this
> information is prohibited. If you received this electronic message in error,
> please notify the sender and delete the copy you received.
>
--
Xavier Hanin - Independent Java Consultant
http://xhab.blogspot.com/
http://incubator.apache.org/ivy/
http://www.xoocode.org/
Re: Publish Event Trigger?
Posted by Ma...@amis.com.
"Xavier Hanin" <xa...@gmail.com> wrote on 09/24/2007 12:22:12 PM:
> On 9/24/07, Mark_Melvin@amis.com <Ma...@amis.com> wrote:
> >
> > Hi All,
> >
> > I am looking at the documentation on triggers and I have also browsed
the
> > source and it appears to my new-to-Ivy eyes that there is no way to
hook
> > up a trigger to the delivery or publishing of an artifact. Is this,
in
> > fact, the case? What I am trying to do is trigger a rebuild of any
> > modules that depend on a given artifact, whenever a new version of
that
> > artifact has been published.
>
>
> Indeed, there is no such trigger, but to publish a module you need to
call
> explicitly the publish action, so you can pretty easily call something
else
> after the publish. If you are thinking about something like a repository
> event, Ivy is a client side tool, and thus do not provide repository
events.
> BTW, to get all modules depending on one module, you can use the build
list
> task with the leaf attribute.
>
Yes - I was thinking about this over lunch and came to this realization.
It is more something I can just call/broadcast as part of my build script.
Although, it isn't such a far-fetched idea is it? It can still be a
client thing couldn't it as ultimately it is Ivy that is still doing the
publishing. It would be a lot simpler to hook up a generic trigger to all
"post-publish" events than it would be to call it after every publish from
every build script.
Thanks for the reminder on ivy:buildlist as well.
> If Ivy doesn't support this - has anyone else done something like this?
> > The only other way I can see to do it would be to actually monitor the
> > filesystem where the artifact repository is kept.
>
>
> What can be done is use a CI server which is Ivy aware like xooctory
[1],
> but I guess you already know about that :-)
>
> Xavier
> [1] http://xooctory.xoocode.org/
Yup. I can't wait. ;)
M.
AMI Semiconductor - "Silicon Solutions for the Real World"
NOTICE:
This electronic message contains information that may be confidential or privileged. The information is intended for the use of the individual or entity named above. If you are not the intended recipient, please be aware that any disclosure, copying, distribution or use of the contents of this information is prohibited. If you received this electronic message in error, please notify the sender and delete the copy you received.
Re: Publish Event Trigger?
Posted by Xavier Hanin <xa...@gmail.com>.
On 9/24/07, Mark_Melvin@amis.com <Ma...@amis.com> wrote:
>
> Hi All,
>
> I am looking at the documentation on triggers and I have also browsed the
> source and it appears to my new-to-Ivy eyes that there is no way to hook
> up a trigger to the delivery or publishing of an artifact. Is this, in
> fact, the case? What I am trying to do is trigger a rebuild of any
> modules that depend on a given artifact, whenever a new version of that
> artifact has been published.
Indeed, there is no such trigger, but to publish a module you need to call
explicitly the publish action, so you can pretty easily call something else
after the publish. If you are thinking about something like a repository
event, Ivy is a client side tool, and thus do not provide repository events.
BTW, to get all modules depending on one module, you can use the build list
task with the leaf attribute.
If Ivy doesn't support this - has anyone else done something like this?
> The only other way I can see to do it would be to actually monitor the
> filesystem where the artifact repository is kept.
What can be done is use a CI server which is Ivy aware like xooctory [1],
but I guess you already know about that :-)
Xavier
[1] http://xooctory.xoocode.org/
Thanks,
> Mark.
>
> AMI Semiconductor - "Silicon Solutions for the Real World"
> NOTICE:
> This electronic message contains information that may be confidential or
> privileged. The information is intended for the use of the individual or
> entity named above. If you are not the intended recipient, please be aware
> that any disclosure, copying, distribution or use of the contents of this
> information is prohibited. If you received this electronic message in error,
> please notify the sender and delete the copy you received.
>
--
Xavier Hanin - Independent Java Consultant
http://xhab.blogspot.com/
http://incubator.apache.org/ivy/
http://www.xoocode.org/