Class: LockJar::Resolver
- Inherits:
-
Object
- Object
- LockJar::Resolver
- Defined in:
- lib/lock_jar/resolver.rb
Instance Attribute Summary collapse
-
#config ⇒ Object
readonly
Returns the value of attribute config.
-
#naether ⇒ Object
readonly
Returns the value of attribute naether.
-
#opts ⇒ Object
readonly
Returns the value of attribute opts.
Instance Method Summary collapse
- #add_remote_repository(repo) ⇒ Object
- #clear_remote_repositories ⇒ Object
- #dependencies_graph ⇒ Object
- #download(dependencies) ⇒ Object
-
#initialize(config, opts = {}) ⇒ Resolver
constructor
A new instance of Resolver.
- #load_to_classpath(artifacts) ⇒ Object
- #remote_repositories ⇒ Object
- #resolve(dependencies, download_artifacts = true) ⇒ Object
- #to_local_paths(notations) ⇒ Object
Constructor Details
#initialize(config, opts = {}) ⇒ Resolver
Returns a new instance of Resolver.
26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/lock_jar/resolver.rb', line 26 def initialize(config, opts = {}) @config = config || LockJar::Config.new({}) @opts = opts local_repo = opts[:local_repo] || Naether::Bootstrap.default_local_repo # Bootstrap Naether Naether::Bootstrap.bootstrap_local_repo(local_repo, opts) # Bootstrapping naether will create an instance from downloaded jars. @naether = Naether.create @naether.local_repo_path = local_repo if local_repo @naether.clear_remote_repositories if opts[:offline] end |
Instance Attribute Details
#config ⇒ Object (readonly)
Returns the value of attribute config.
24 25 26 |
# File 'lib/lock_jar/resolver.rb', line 24 def config @config end |
#naether ⇒ Object (readonly)
Returns the value of attribute naether.
24 25 26 |
# File 'lib/lock_jar/resolver.rb', line 24 def naether @naether end |
#opts ⇒ Object (readonly)
Returns the value of attribute opts.
24 25 26 |
# File 'lib/lock_jar/resolver.rb', line 24 def opts @opts end |
Instance Method Details
#add_remote_repository(repo) ⇒ Object
48 49 50 51 52 53 |
# File 'lib/lock_jar/resolver.rb', line 48 def add_remote_repository(repo) repo_config = config.repositories[repo] || {} username = repo_config['username'] password = repo_config['password'] @naether.add_remote_repository(repo, username, password) end |
#clear_remote_repositories ⇒ Object
44 45 46 |
# File 'lib/lock_jar/resolver.rb', line 44 def clear_remote_repositories @naether.clear_remote_repositories end |
#dependencies_graph ⇒ Object
61 62 63 |
# File 'lib/lock_jar/resolver.rb', line 61 def dependencies_graph @naether.dependencies_graph end |
#download(dependencies) ⇒ Object
65 66 67 |
# File 'lib/lock_jar/resolver.rb', line 65 def download(dependencies) @naether.download_artifacts(dependencies) end |
#load_to_classpath(artifacts) ⇒ Object
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/lock_jar/resolver.rb', line 82 def load_to_classpath(artifacts) paths = [] notations = [] artifacts.each do |art| if File.exist?(art) paths << art else notations << art end end paths += @naether.to_local_paths(notations) Naether::Java.load_paths(paths) paths end |
#remote_repositories ⇒ Object
40 41 42 |
# File 'lib/lock_jar/resolver.rb', line 40 def remote_repositories @naether.remote_repository_urls end |
#resolve(dependencies, download_artifacts = true) ⇒ Object
55 56 57 58 59 |
# File 'lib/lock_jar/resolver.rb', line 55 def resolve(dependencies, download_artifacts = true) @naether.dependencies = dependencies @naether.resolve_dependencies(download_artifacts) @naether.dependencies_notation end |
#to_local_paths(notations) ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/lock_jar/resolver.rb', line 69 def to_local_paths(notations) paths = [] notations.each do |notation| if File.exist?(notation) paths << notation else paths += @naether.to_local_paths([notation]) end end paths end |