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)