# File lib/buildr/java/packaging.rb, line 639
      def package_with_sources(options = nil)
        options ||= {}
        enhance do
          selected = options[:only] ? projects(options[:only]) :
            options[:except] ? ([self] + projects - projects(options[:except])) :
            [self] + projects
          selected.reject { |project| project.compile.sources.empty? && project.resources.target.nil? }.
            each { |project| project.package(:sources) }
        end
      end