Hey Alex,

Thanks, that is what I needed. I found a bunch more self inflicted problems that I cleaned up and everything seems to be working now. Just need to write up some docs on how to use it, package the gem, and it is ready to resolve dependencies for all.

https://github.com/mguymon/lock_jar

thanks,
Michael

On 04/13/2012 12:40 PM, Alex Boisvert wrote:
Hi Michael,

Just make your lock_jar an instance methods instead of class method.  The
buildfile object (self) includes all instance methods from the Buildr
module during bootstrapping.

alex


module Buildr

   class<<  self #<--- Remove this
     attr_reader :global_lockjar_dsl
     def lock_jar(&blk )
         @global_lockjar_dsl = LockJar::DSL.evaluate(&blk)
     end
   end


On Fri, Apr 13, 2012 at 7:40 AM, Michael Guymon<michael.guy...@gmail.com>wrote:

Hello Buildrians,

I am slowly working my on dependency resolution addon and am stuck on how
to tweak the buildr buildfile dsl. I want to add a lock_jar block to define
repositories and artifacts at a root level and per project. The root level
lock_jar definition will be merged into the lock_jar calls in the projects.
These lock_jar definitions will get resolved and locked into a file,
similar to how bundler works, when the task<project>:lock_jar:lock is run.
Then when compile is called on a project, the lock file is loaded to the
classpath. This is an example what I am trying to do with the buildfile:

   require 'lock_jar'
   lock_jar do
        repository = 'http://repo1.maven.org/maven2**'

        scope 'test' do
          jar 'junit:junit:jar:4.10'
        end
   end

   define 'app' do

      def 'project1' do
        lock_jar do
          jar "org.apache.mina:mina-core:**jar:2.0.4"
        end
      end

      def 'project2' do
         lock_jar do
           pom 'pom.xml'
         end
      end

   end


The problem I have is setting the root 'lock_jar' method for the
buildfile. The non working version I have now: https://github.com/mguymon/
**lock_jar/blob/master/lib/lock_**jar/buildr.rb<https://github.com/mguymon/lock_jar/blob/master/lib/lock_jar/buildr.rb>which
 complains of a NoMethodError : undefined method `lock_jar' for
main:Object

Any help is greatly appreciated.

thanks,
Michael


Reply via email to