lib/autoproj/autobuild.rb in autoproj-1.4.1 vs lib/autoproj/autobuild.rb in autoproj-1.4.2

- old
+ new

@@ -44,12 +44,13 @@ def self.current_file @file_stack.last end def self.define(package_type, spec, &block) - package = Autobuild.send(package_type, spec, &block) - Autoproj.manifest.register_package package, *current_file + package = Autobuild.send(package_type, spec) + Autoproj.manifest.register_package package, block, *current_file + package end @loaded_autobuild_files = Set.new def self.filter_load_exception(error, source, path) raise error if Autoproj.verbose @@ -88,11 +89,11 @@ end end # Common setup for packages -def package_common(package_type, spec) # :nodoc: +def package_common(package_type, spec, &block) # :nodoc: package_name = Autoproj.package_name_from_options(spec) begin Rake::Task[package_name] Autoproj.warn "#{package_name} from #{Autoproj.current_file[0]} is overriden by the definition in #{Autoproj.definition_source(package_name)}" @@ -103,13 +104,12 @@ # Check if this package is ignored if Autoproj.manifest.ignored?(package_name) return Autoproj.define(:dummy, spec) end - Autoproj.define(package_type, spec) do |pkg| - pkg.srcdir = pkg.name - yield(pkg) if block_given? - end + pkg = Autoproj.define(package_type, spec, &block) + pkg.srcdir = pkg.name + pkg end def import_package(options, &block) package_common(:import, options, &block) end