buildr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pepijn Van Eeckhoudt <pepijn.vaneeckho...@luciad.com>
Subject Re: PackageGemTask methods not called
Date Wed, 10 Feb 2010 19:04:05 GMT
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
View raw message