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')
Constants inherited from BaseDependencyResolver
Bee::Task::BaseDependencyResolver::DEFAULT_SCOPE
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.
214 215 216 217 |
# File 'lib/dependency_resolver.rb', line 214 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.
263 264 265 266 267 268 269 270 271 272 273 274 |
# File 'lib/dependency_resolver.rb', line 263 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.
223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 |
# File 'lib/dependency_resolver.rb', line 223 def parse_dependencies(source) dependencies = YAML::load(source) new_dependencies = [] for dependency in dependencies if dependency['group'] 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 return new_dependencies end |
#parse_repositories ⇒ Object
Extract repository list from file. Return: repository list.
246 247 248 249 250 251 252 253 254 255 256 257 |
# File 'lib/dependency_resolver.rb', line 246 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 |