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<[email protected]
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 | [email protected]
LUCIAD - high performance visualization
Wetenschapspark Arenberg | Gaston Geenslaan 9
3001 Leuven | Belgium | www.luciad.com