Class: Bee::Task::BeeDependencyResolver
- Inherits:
-
BaseDependencyResolver
- Object
- BaseDependencyResolver
- Bee::Task::BeeDependencyResolver
- Defined in:
- lib/dependency_resolver.rb
Overview
Bee dependency resolver.
Constant Summary collapse
- DEFAULT_REPOSITORY =
Default repository address.
'http://repo1.maven.org/maven2'- DEFAULT_CACHE =
Default cache location.
File.('~/.java/dependencies')
Instance Method Summary collapse
-
#build_path(root, dependency) ⇒ Object
Build a Maven path.
-
#initialize(file, scope, verbose = false) ⇒ BeeDependencyResolver
constructor
Constructor: - file: dependency file (should be maven.xml).
-
#parse_dependencies(source) ⇒ Object
Extract dependencies from a file.
-
#parse_repositories ⇒ Object
Extract repository list from file.
Methods inherited from BaseDependencyResolver
Constructor Details
#initialize(file, scope, verbose = false) ⇒ BeeDependencyResolver
Constructor:
-
file: dependency file (should be maven.xml).
-
scope: the scope for dependencies (compile, runtime or test).
-
verbose: tells if we should be verbose.
237 238 239 240 |
# File 'lib/dependency_resolver.rb', line 237 def initialize(file, scope, verbose=false) super(file, scope, verbose) @cache = DEFAULT_CACHE end |
Instance Method Details
#build_path(root, dependency) ⇒ Object
Build a Maven path.
-
root: the path root (root directory for repository or cache).
-
dependency: dependency as a map.
Return: path as a string.
288 289 290 291 292 293 294 295 296 297 298 299 |
# File 'lib/dependency_resolver.rb', line 288 def build_path(root, dependency) groupid = dependency[:groupid].split('.').join('/') artifactid = dependency[:artifactid] version = dependency[:version] type = dependency[:type] || 'jar' classifier = dependency[:classifier] if classifier return "#{root}/#{groupid}/#{artifactid}/#{version}/#{artifactid}-#{version}-#{classifier}.#{type}" else return "#{root}/#{groupid}/#{artifactid}/#{version}/#{artifactid}-#{version}.#{type}" end end |
#parse_dependencies(source) ⇒ Object
Extract dependencies from a file.
-
source: file source.
Return: dependencies as a list of maps with keys groupid, artifactid, version, type, optional.
246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 |
# File 'lib/dependency_resolver.rb', line 246 def parse_dependencies(source) dependencies = YAML::load(source) new_dependencies = [] for dependency in dependencies if dependency['group'] if Array(dependency['scope']).include?(@scope) or !dependency['scope'] new_dependency = {} for key in dependency.keys if key != 'group' and key != 'artifact' new_dependency[key.to_sym] = dependency[key] elsif key == 'group' new_dependency[:groupid] = dependency['group'] elsif key == 'artifact' new_dependency[:artifactid] = dependency['artifact'] end end new_dependencies << new_dependency end end end return new_dependencies end |
#parse_repositories ⇒ Object
Extract repository list from file. Return: repository list.
271 272 273 274 275 276 277 278 279 280 281 282 |
# File 'lib/dependency_resolver.rb', line 271 def parse_repositories repositories = YAML::load(File.read(@file)) new_repositories = [] for repository in repositories if repository['repository'] new_repositories << repository['repository'] elsif repository['repositories'] new_repositories = new_repositories + repository['repositories'] end end return new_repositories end |