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

Instance Method Summary collapse

Constructor Details

#initialize {|_self| ... } ⇒ PackageTask

Returns a new instance of PackageTask.

Yields:

  • (_self)

Yield Parameters:



27
28
29
30
31
32
33
34
35
36
# File 'lib/gnome2/rake/package-task.rb', line 27

def initialize
  initialize_variables
  initialize_configurations
  file, line, method = caller[1].scan(/^(.*):(\d+)(?::.*`(.*)')?\Z/).first
  @package = Package.new(File.dirname(file))
  @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.



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

def author
  @author
end

#descriptionObject

Returns the value of attribute description.



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

def description
  @description
end

#emailObject

Returns the value of attribute email.



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

def email
  @email
end

#homepageObject

Returns the value of attribute homepage.



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

def homepage
  @homepage
end

#nameObject

Returns the value of attribute name.



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

def name
  @name
end

#post_install_messageObject

Returns the value of attribute post_install_message.



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

def post_install_message
  @post_install_message
end

#required_ruby_versionObject

Returns the value of attribute required_ruby_version.



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

def required_ruby_version
  @required_ruby_version
end

#root_dirObject (readonly)

Returns the value of attribute root_dir.



26
27
28
# File 'lib/gnome2/rake/package-task.rb', line 26

def root_dir
  @root_dir
end

#summaryObject

Returns the value of attribute summary.



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

def summary
  @summary
end

Instance Method Details

#cross_compiling(&block) ⇒ Object



38
39
40
# File 'lib/gnome2/rake/package-task.rb', line 38

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

#defineObject



42
43
44
45
46
47
48
49
# File 'lib/gnome2/rake/package-task.rb', line 42

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

#define_tasksObject

Deprecated. Use #define instead.



52
53
54
# File 'lib/gnome2/rake/package-task.rb', line 52

def define_tasks
  define
end

#define_win32_build_taskObject



205
206
207
# File 'lib/gnome2/rake/package-task.rb', line 205

def define_win32_build_task
  GNOME2Win32BinaryBuildTask.new(@package)
end

#define_win32_download_taskObject



201
202
203
# File 'lib/gnome2/rake/package-task.rb', line 201

def define_win32_download_task
  GNOME2Win32BinaryDownloadTask.new(@package)
end

#dependencyObject



60
61
62
# File 'lib/gnome2/rake/package-task.rb', line 60

def dependency
  @dependency_configuration
end

#external_packages=(packages) ⇒ Object



97
98
99
# File 'lib/gnome2/rake/package-task.rb', line 97

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

#guess_versionObject



85
86
87
88
89
90
91
92
93
94
95
# File 'lib/gnome2/rake/package-task.rb', line 85

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



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

def native
  @package.native
end

#packageObject



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

def package
  @package
end

#ruby_gnome2_package?(name) ⇒ Boolean

Returns:

  • (Boolean)


56
57
58
# File 'lib/gnome2/rake/package-task.rb', line 56

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

#versionObject



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

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

#win32Object

For backward compatibility



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

def win32
  windows
end

#windowsObject



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

def windows
  @package.windows
end