Class: OSGi::DependenciesTask

Inherits:
Rake::Task
  • Object
show all
Includes:
BundleCollector
Defined in:
lib/buildr4osgi/osgi/project_extension.rb

Overview

:nodoc:

Instance Attribute Summary collapse

Attributes included from BundleCollector

#bundles, #project_dependencies, #projects

Instance Method Summary collapse

Methods included from BundleCollector

#_collect, #collect

Constructor Details

#initialize(*args) ⇒ DependenciesTask

:nodoc:



70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# File 'lib/buildr4osgi/osgi/project_extension.rb', line 70

def initialize(*args) #:nodoc:
  super

  enhance do |task|
    _dependencies = {}
    _projects = {}
    project.projects.each do |subp|
      collect(subp)
      _projects[subp.name] = projects.collect {|p| p.name}.uniq.sort
      _dependencies[subp.name] = bundles.collect {|b| b.to_s }.uniq.sort 
    end
    
    collect(project)
    _dependencies[project.name] = bundles.collect {|b| b.to_s }.uniq.sort 
    _projects[project.name] = projects.collect {|p| p.name}.uniq.sort
    
    dependencies = ::OSGi::Dependencies.new(project)
    dependencies.write(_projects.keys) {|hash, p|
      hash[p]["dependencies"] |= _dependencies[p]
      hash[p]["projects"] |= _projects[p]
    }
  end
end

Instance Attribute Details

#projectObject

Returns the value of attribute project.



68
69
70
# File 'lib/buildr4osgi/osgi/project_extension.rb', line 68

def project
  @project
end