lib/autoproj/autobuild.rb in autoproj-1.5.3 vs lib/autoproj/autobuild.rb in autoproj-1.5.4
- old
+ new
@@ -9,14 +9,25 @@
srcdir.gsub /^#{Regexp.quote(Autoproj.root_dir)}\//, ''
end
alias __depends_on__ depends_on
def depends_on(name)
- if Autoproj.osdeps.has?(name) && !Autoproj.manifest.explicitly_selected_package?(name)
+ explicit_selection = Autoproj.manifest.explicitly_selected_package?(name)
+ if Autoproj.osdeps.has?(name) && !explicit_selection
@os_packages ||= Set.new
@os_packages << name
else
- __depends_on__(name)
+ begin
+ __depends_on__(name)
+ rescue Exception => e
+ if explicit_selection
+ raise e
+ else
+ # Re-call osdeps to get a proper error message
+ osdeps, gems = Autoproj.osdeps.partition_packages([name].to_set)
+ Autoproj.osdeps.resolve_os_dependencies(osdeps)
+ end
+ end
end
end
def depends_on_os_package(name)
depends_on(name)