Class: GNOME2::Rake::PackageTask

Inherits:
Object
  • Object
show all
Includes:
Rake::DSL
Defined in:
lib/gnome2/rake/package-task.rb

Defined Under Namespace

Classes: DependencyConfiguration

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(spec = nil, root_dir = nil) {|_self| ... } ⇒ PackageTask

Returns a new instance of PackageTask.

Yields:

  • (_self)

Yield Parameters:



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/gnome2/rake/package-task.rb', line 33

def initialize(spec=nil, root_dir=nil)
  @spec = spec
  initialize_variables
  initialize_configurations
  if @spec
    @package = Package.new(@spec.name, root_dir)
  else
    file, line, method = caller[1].scan(/^(.*):(\d+)(?::.*`(.*)')?\Z/).first
    root_dir = File.dirname(file)
    @package = Package.new(File.basename(root_dir), root_dir)
  end
  @packages = FileList["#{@package.root_dir.parent}/*"].map{|f| File.directory?(f) ? File.basename(f) : nil}.compact
  @name = @package.name
  @cross_compiling_hooks = []
  yield(self) if block_given?
end

Instance Attribute Details

#authorObject

Returns the value of attribute author.



31
32
33
# File 'lib/gnome2/rake/package-task.rb', line 31

def author
  @author
end

#descriptionObject

Returns the value of attribute description.



31
32
33
# File 'lib/gnome2/rake/package-task.rb', line 31

def description
  @description
end

#emailObject

Returns the value of attribute email.



31
32
33
# File 'lib/gnome2/rake/package-task.rb', line 31

def email
  @email
end

#homepageObject

Returns the value of attribute homepage.



31
32
33
# File 'lib/gnome2/rake/package-task.rb', line 31

def homepage
  @homepage
end

#nameObject

Returns the value of attribute name.



31
32
33
# File 'lib/gnome2/rake/package-task.rb', line 31

def name
  @name
end

#post_install_messageObject

Returns the value of attribute post_install_message.



31
32
33
# File 'lib/gnome2/rake/package-task.rb', line 31

def post_install_message
  @post_install_message
end

#required_ruby_versionObject

Returns the value of attribute required_ruby_version.



31
32
33
# File 'lib/gnome2/rake/package-task.rb', line 31

def required_ruby_version
  @required_ruby_version
end

#root_dirObject (readonly)

Returns the value of attribute root_dir.



32
33
34
# File 'lib/gnome2/rake/package-task.rb', line 32

def root_dir
  @root_dir
end

#summaryObject

Returns the value of attribute summary.



31
32
33
# File 'lib/gnome2/rake/package-task.rb', line 31

def summary
  @summary
end

Class Method Details

.define(spec, root_dir, &block) ⇒ Object



24
25
26
# File 'lib/gnome2/rake/package-task.rb', line 24

def define(spec, root_dir, &block)
  new(spec, root_dir, &block).define
end

Instance Method Details

#cross_compiling(&block) ⇒ Object



50
51
52
# File 'lib/gnome2/rake/package-task.rb', line 50

def cross_compiling(&block)
  @cross_compiling_hooks << block
end

#defineObject



54
55
56
57
58
59
60
61
# File 'lib/gnome2/rake/package-task.rb', line 54

def define
  task :default => :build
  define_spec
  define_source_tasks
  define_native_tasks
  define_windows_tasks
  define_package_tasks
end

#define_tasksObject

Deprecated. Use #define instead.



64
65
66
# File 'lib/gnome2/rake/package-task.rb', line 64

def define_tasks
  define
end

#dependencyObject



72
73
74
# File 'lib/gnome2/rake/package-task.rb', line 72

def dependency
  @dependency_configuration
end

#external_packagesObject



104
105
106
# File 'lib/gnome2/rake/package-task.rb', line 104

def external_packages
  @package.external_packages
end

#external_packages=(packages) ⇒ Object



108
109
110
# File 'lib/gnome2/rake/package-task.rb', line 108

def external_packages=(packages)
  @package.external_packages = packages
end

#guess_versionObject



92
93
94
95
96
97
98
99
100
101
102
# File 'lib/gnome2/rake/package-task.rb', line 92

def guess_version
  versions = {}
  File.open("#{@package.glib2_root_dir}/ext/glib2/rbglib.h") do |rbglib_h|
    rbglib_h.each_line do |line|
      if /#define\s+RBGLIB_([A-Z]+)_VERSION\s+(\d+)/ =~ line
        versions[$1.downcase] = $2.to_i
      end
    end
  end
  ["major", "minor", "micro"].collect {|type| versions[type]}.compact.join(".")
end

#nativeObject



84
85
86
# File 'lib/gnome2/rake/package-task.rb', line 84

def native
  @package.native
end

#packageObject



76
77
78
# File 'lib/gnome2/rake/package-task.rb', line 76

def package
  @package
end

#ruby_gnome2_package?(name) ⇒ Boolean

Returns:

  • (Boolean)


68
69
70
# File 'lib/gnome2/rake/package-task.rb', line 68

def ruby_gnome2_package?(name)
  @packages.include?(name)
end

#versionObject



88
89
90
# File 'lib/gnome2/rake/package-task.rb', line 88

def version
  ENV["VERSION"] || guess_version
end

#windowsObject



80
81
82
# File 'lib/gnome2/rake/package-task.rb', line 80

def windows
  @package.windows
end

#windows_binary_build_taskObject



112
113
114
# File 'lib/gnome2/rake/package-task.rb', line 112

def windows_binary_build_task
  @windows_binary_build_task ||= WindowsBinaryBuildTask.new(@package)
end