buildr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Antoine Toulme <anto...@lunar-ocean.com>
Subject Re: PackageGemTask methods not called
Date Wed, 10 Feb 2010 22:02:55 GMT
Thanks Pepjin, sorry for the confusion. I'll try following up on the bug -
I'm not a Buildr committer but I can probably find a fix.

On Wed, Feb 10, 2010 at 11:34, Pepijn Van Eeckhoudt <
pepijn.vaneeckhoudt@luciad.com> wrote:

>
> On 10 Feb 2010, at 20:11, Antoine Toulme wrote:
>
> > Apologies. So we're talking existing Buildr code with a bug. I thought
> your
> > extension was doing this.
> No worries. I understand your response better now.
>
> > Can you please file a bug ? I don't have much free time but I can try
> > creating a spec that reproduces the problem.
> Will do. I mainly asked the question because I was curious how this should
> be fixed. It seemed that the intention was to support different
> implementations of install/uninstall per package type, but this did not work
> in practice.
>
> The reproduction case is as simple as the build script I posted. I'll add
> that to the bug report.
>
> Pepijn
>
> >
> > On Wed, Feb 10, 2010 at 11:04, Pepijn Van Eeckhoudt <
> > pepijn.vaneeckhoudt@luciad.com> wrote:
> >
> >> It's not me that's pushing the limits. This gem support is part of
> Buildr
> >> 1.3.5 (see gems.rb).
> >>
> >> Could you do something like super.install if super.respond_to? :install
> >> Or does that not make any sense?
> >>
> >> Pepijn
> >>
> >> Op 10-feb-2010 om 18:45 heeft Antoine Toulme <antoine@lunar-ocean.com>
> het
> >> volgende geschreven:\
> >>
> >>
> >> I see, it makes sense.
> >>>
> >>> Well, obviously you are trying to push Buildr a bit by trying to use it
> >>> for
> >>> non-Maven repository uses.
> >>>
> >>> Here are the options I can think of:
> >>> -use a different task name to push gems
> >>> -extend the upload/install tasks by enhancing them - the gem will still
> be
> >>> deployed in the maven repo, plus where you want to push it.
> >>> -maybe create a module like ActAsArtifact and extend the task in a
> >>> after_define block ? That might work.
> >>>
> >>> On Wed, Feb 10, 2010 at 09:35, Pepijn Van Eeckhoudt <
> >>> pepijn.vaneeckhoudt@luciad.com> wrote:
> >>>
> >>> Hi Antoine,
> >>>>
> >>>> Rereadig my mail, I realize that I should have provided a bit more
> >>>> context
> >>>> (and sorry for the double message BTW).
> >>>>
> >>>> My buildfile essentially contains something like this:
> >>>>
> >>>> define 'my-extension' do
> >>>> package(:gem)
> >>>> end
> >>>>
> >>>> package will call pacakge_as_gem which in turn will create a
> >>>> PackageGemTask. PackageGemTask has it's own install/uninstall/upload
> >>>> implementations. package then takes the PackageGemTask instance and
> >>>> extends
> >>>> it with ActsAsArtifact which overrides install/uninstall/upload from
> >>>> PackageGemTask. The net effect of this is that PackageGemTask#install
> is
> >>>> never called.
> >>>>
> >>>> Given that observation I was wondering how to fix this and if it is
> >>>> possible in the first place. In other words, it is possible for a
> package
> >>>> to
> >>>> provide it's own versions of the methods defined in ActsAsArtifact.
> >>>>
> >>>> Regards,
> >>>>
> >>>> Pepijn
> >>>>
> >>>>
> >>>> On 10/2/2010 18:15, Antoine Toulme wrote:
> >>>>
> >>>> Hi Pepjin,
> >>>>>
> >>>>> to package a buildr extension you typically don't need to use Buildr
> >>>>> itself.
> >>>>> You can create a .gemspec file, then do:
> >>>>>
> >>>>> gem build gem.gemspec
> >>>>> gem push gem-1.0.gem
> >>>>>
> >>>>> I might be missing something, but really the line you point at is
not
> >>>>> related to gem building and is very important in Buildr - it helps
> >>>>> Buildr
> >>>>> know how to handle packages as artifacts, so where to upload them
for
> >>>>> example.
> >>>>>
> >>>>> Thanks,
> >>>>>
> >>>>> Antoine
> >>>>>
> >>>>>
> >>>>> On Wed, Feb 10, 2010 at 01:54, Pepijn Van Eeckhoudt<
> >>>>> pepijn@vaneeckhoudt.net
> >>>>>
> >>>>> wrote:
> >>>>>>
> >>>>>>
> >>>>> Hi,
> >>>>>
> >>>>>>
> >>>>>> I'm trying to package a buildr extension as a gem so I can
> distribute
> >>>>>> it
> >>>>>> more easily. It seems the PackageGemTask#install method is never
> called
> >>>>>> though.
> >>>>>>
> >>>>>> I'm kind of new to Ruby so I'm not 100% sure what's going on,
but I
> >>>>>> think
> >>>>>> line 173 in buildr/packaging/package.rb ('package.extend
> >>>>>> ActsAsArtifact')
> >>>>>> is
> >>>>>> to blame. By extending the package object with ActsAsArtifact,
the
> >>>>>> install,
> >>>>>> uninstall and upload methods get overridden and so the Gem specific
> >>>>>> variants
> >>>>>> are never invoked.
> >>>>>>
> >>>>>> I would like to patch this, but I'm not sure what would be the
best
> way
> >>>>>> would be to resolve this? Is there some Ruby idiom that would
allow
> >>>>>> this?
> >>>>>>
> >>>>>> Regards,
> >>>>>>
> >>>>>> Pepijn Van Eeckhoudt
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>> --
> >>>> Pepijn Van Eeckhoudt - Project Leader
> >>>> T +32 16 23 95 91
> >>>> F +32 16 29 34 22 | pepijn.vaneeckhoudt@luciad.com
> >>>>
> >>>> LUCIAD - high performance visualization
> >>>> Wetenschapspark Arenberg | Gaston Geenslaan 9
> >>>> 3001 Leuven | Belgium | www.luciad.com
> >>>>
> >>>>
> >>>>
>
>

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