buildr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Boisvert <alex.boisv...@gmail.com>
Subject Re: PackageGemTask methods not called
Date Wed, 10 Feb 2010 22:28:00 GMT
I think the absence of tests/spec for package(:gem) is catching up to us.
If Antoine doesn't get to it before, I'll take a look this weekend.

alex


On Wed, Feb 10, 2010 at 2:02 PM, Antoine Toulme <antoine@lunar-ocean.com>wrote:

> 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