mirror of
https://github.com/rapid7/metasploit-framework
synced 2024-08-28 23:26:18 +02:00
![Luke Imhoff](/assets/img/avatar_default.png)
[#45771305] MetasploitDataModels 0.6.1 adds a re-usable yard.rake so that all Metasploit project don't have to define their own. It also adds guards so that the YARD tasks aren't defined (and don't cause errors) if YARD is not available. This also adds support for making the Rakefile work with `bundle install --without development test` so it still functions in the bundle building environment for Pro.
50 lines
1.2 KiB
Ruby
50 lines
1.2 KiB
Ruby
require 'bundler/setup'
|
|
|
|
require 'metasploit_data_models'
|
|
|
|
print_without = false
|
|
|
|
begin
|
|
require 'rspec/core/rake_task'
|
|
rescue LoadError
|
|
puts "rspec not in bundle, so can't set up spec tasks. " \
|
|
"To run specs ensure to install the development and test groups."
|
|
|
|
print_without = true
|
|
else
|
|
RSpec::Core::RakeTask.new(:spec)
|
|
|
|
task :default => :spec
|
|
end
|
|
|
|
begin
|
|
require 'yard'
|
|
rescue LoadError
|
|
puts "yard not in bundle, so can't set up yard tasks. " \
|
|
"To generate documentation ensure to install the development group."
|
|
|
|
print_without = true
|
|
end
|
|
|
|
metasploit_data_models_task_glob = MetasploitDataModels.root.join(
|
|
'lib',
|
|
'tasks',
|
|
'**',
|
|
'*.rake'
|
|
).to_s
|
|
|
|
# include tasks from metasplioit_data_models, such as `rake yard`.
|
|
# metasploit-framework specific yard options are in .yardopts
|
|
Dir.glob(metasploit_data_models_task_glob) do |path|
|
|
load path
|
|
end
|
|
|
|
if print_without
|
|
puts "Bundle currently installed " \
|
|
"'--without #{Bundler.settings.without.join(' ')}'."
|
|
puts "To clear the without option do `bundle install --without ''` " \
|
|
"(the --without flag with an empty string) or " \
|
|
"`rm -rf .bundle` to remove the .bundle/config manually and " \
|
|
"then `bundle install`"
|
|
end
|