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 17:45:26 GMT
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