lock_jar 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +4 -1
- data/VERSION +1 -1
- data/lib/lock_jar/runtime.rb +38 -3
- data/lib/lock_jar.rb +4 -4
- data/lock_jar.gemspec +1 -1
- metadata +3 -3
    
        data/README.rdoc
    CHANGED
    
    | @@ -102,6 +102,8 @@ or directly load all Jars into the classpath | |
| 102 102 | 
             
              require 'lock_jars'
         | 
| 103 103 |  | 
| 104 104 | 
             
              jars = LockJar.load  
         | 
| 105 | 
            +
             | 
| 106 | 
            +
            Do not forget, if you change your Jarfile, you have to re-generate the Jarfile.lock.
         | 
| 105 107 |  | 
| 106 108 |  | 
| 107 109 | 
             
            === Buildr Integration
         | 
| @@ -119,7 +121,8 @@ and a task per project to generate the lockfile for a single project | |
| 119 121 |  | 
| 120 122 | 
             
              buildr <app>:<project>:lock_jar:lock
         | 
| 121 123 |  | 
| 122 | 
            -
            The resolved dependencies are automatically added to the classpath for compiling and testing. 
         | 
| 124 | 
            +
            The resolved dependencies are automatically added to the classpath for compiling and testing. Do not forget, if you change the lock_jar
         | 
| 125 | 
            +
            definitions, you have to rerun the lock_jar:lock task.
         | 
| 123 126 |  | 
| 124 127 |  | 
| 125 128 | 
             
            ==== Example
         | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            0.0. | 
| 1 | 
            +
            0.0.3
         | 
    
        data/lib/lock_jar/runtime.rb
    CHANGED
    
    | @@ -79,18 +79,53 @@ module LockJar | |
| 79 79 | 
             
                    dependencies
         | 
| 80 80 | 
             
                  end
         | 
| 81 81 |  | 
| 82 | 
            -
                  def load( jarfile_lock = "Jarfile.lock", scopes = ['compile', 'runtime'] )
         | 
| 82 | 
            +
                  def load( jarfile_lock = "Jarfile.lock", scopes = ['compile', 'runtime'], &blk )
         | 
| 83 | 
            +
                    dependencies = []
         | 
| 84 | 
            +
                    
         | 
| 85 | 
            +
                    if jarfile_lock
         | 
| 86 | 
            +
                      if File.exists?(jarfile_lock)
         | 
| 87 | 
            +
                        dependencies += read_jarfile( jarfile_lock, scopes )
         | 
| 88 | 
            +
                      else
         | 
| 89 | 
            +
                        warn( "LockJar jarfile_lock not found: #{jarfile_lock}" )
         | 
| 90 | 
            +
                      end
         | 
| 91 | 
            +
                    end
         | 
| 92 | 
            +
                            
         | 
| 93 | 
            +
                    if blk
         | 
| 94 | 
            +
                      dsl = LockJar::Dsl.evaluate(&blk)
         | 
| 95 | 
            +
                      dependencies += read_dsl( dsl, scopes )
         | 
| 96 | 
            +
                    end
         | 
| 97 | 
            +
                    
         | 
| 98 | 
            +
                    dependencies.uniq!
         | 
| 99 | 
            +
                    
         | 
| 100 | 
            +
                    @resolver.load_jars_to_classpath( dependencies )
         | 
| 101 | 
            +
                  end
         | 
| 102 | 
            +
                  
         | 
| 103 | 
            +
                  private
         | 
| 104 | 
            +
                  def read_jarfile( jarfile_lock, scopes )
         | 
| 83 105 | 
             
                    lock_data = YAML.load_file( jarfile_lock )
         | 
| 84 106 |  | 
| 85 107 | 
             
                    dependencies = []
         | 
| 86 | 
            -
             | 
| 108 | 
            +
                     
         | 
| 87 109 | 
             
                    scopes.each do |scope|
         | 
| 88 110 | 
             
                      if lock_data['scopes'][scope]
         | 
| 89 111 | 
             
                        dependencies += lock_data['scopes'][scope]['resolved_dependencies']
         | 
| 90 112 | 
             
                      end
         | 
| 91 113 | 
             
                    end
         | 
| 92 114 |  | 
| 93 | 
            -
                     | 
| 115 | 
            +
                    dependencies
         | 
| 116 | 
            +
                  end
         | 
| 117 | 
            +
                  
         | 
| 118 | 
            +
                  def read_dsl( dsl, scopes )
         | 
| 119 | 
            +
                    
         | 
| 120 | 
            +
                    dependencies = []
         | 
| 121 | 
            +
                     
         | 
| 122 | 
            +
                    dsl.notations.each do |scope,notations|
         | 
| 123 | 
            +
                      if notations && notations.size > 0
         | 
| 124 | 
            +
                        dependencies += notations
         | 
| 125 | 
            +
                      end
         | 
| 126 | 
            +
                    end
         | 
| 127 | 
            +
                    
         | 
| 128 | 
            +
                    @resolver.resolve( dependencies )
         | 
| 94 129 | 
             
                  end
         | 
| 95 130 | 
             
              end
         | 
| 96 131 | 
             
            end
         | 
    
        data/lib/lock_jar.rb
    CHANGED
    
    | @@ -31,15 +31,15 @@ module LockJar | |
| 31 31 | 
             
              # List jars for an array of scope in a lockfile
         | 
| 32 32 | 
             
              #
         | 
| 33 33 | 
             
              # Accepts path to the lockfile, array of scopes, and hash of options to configure LockJar
         | 
| 34 | 
            -
              def self.list( lockfile = 'Jarfile.lock', scopes = ['compile', 'runtime'], opts = {} )
         | 
| 34 | 
            +
              def self.list( lockfile = 'Jarfile.lock', scopes = ['compile', 'runtime'], opts = {}, &blk )
         | 
| 35 35 | 
             
                  Runtime.new( opts ).list( lockfile, scopes )
         | 
| 36 36 | 
             
              end
         | 
| 37 37 |  | 
| 38 38 | 
             
              # Load jars for an array of scopes in a lockfile
         | 
| 39 39 | 
             
              #
         | 
| 40 40 | 
             
              # Accepts a path to the lockfile, array scopes, and hash of optiosn to configure LockJar
         | 
| 41 | 
            -
              def self.load( lockfile = 'Jarfile.lock', scopes = ['compile', 'runtime'], opts = {} )
         | 
| 42 | 
            -
                  Runtime.new( opts ).load( lockfile, scopes )
         | 
| 41 | 
            +
              def self.load( lockfile = 'Jarfile.lock', scopes = ['compile', 'runtime'], opts = {}, &blk )
         | 
| 42 | 
            +
                  Runtime.new( opts ).load( lockfile, scopes, &blk )
         | 
| 43 43 | 
             
              end
         | 
| 44 | 
            -
             | 
| 44 | 
            +
             
         | 
| 45 45 | 
             
            end
         | 
    
        data/lock_jar.gemspec
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: lock_jar
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              hash:  | 
| 4 | 
            +
              hash: 25
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 0
         | 
| 8 8 | 
             
              - 0
         | 
| 9 | 
            -
              -  | 
| 10 | 
            -
              version: 0.0. | 
| 9 | 
            +
              - 3
         | 
| 10 | 
            +
              version: 0.0.3
         | 
| 11 11 | 
             
            platform: ruby
         | 
| 12 12 | 
             
            authors: 
         | 
| 13 13 | 
             
            - Michael Guymon
         |