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_windows_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

#dependencyObject



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

def dependency
  @dependency_configuration
end

#external_packages=(packages) ⇒ Object



92
93
94
# File 'lib/gnome2/rake/package-task.rb', line 92

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

#guess_versionObject



80
81
82
83
84
85
86
87
88
89
90
# File 'lib/gnome2/rake/package-task.rb', line 80

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



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

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



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

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

#windowsObject



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

def windows
  @package.windows
end