1
1
require 'bundler/setup'
2
2
3
- require 'metasploit_data_models'
4
-
5
3
pathname = Pathname . new ( __FILE__ )
6
4
root = pathname . parent
7
5
@@ -18,6 +16,8 @@ $LOAD_PATH.unshift(lib_pathname.to_s)
18
16
rakefile_glob = root . join ( 'lib' , 'tasks' , '**' , '*.rake' ) . to_path
19
17
20
18
Dir . glob ( rakefile_glob ) do |rakefile |
19
+ # Skip database tasks, will load them later if MDM is present
20
+ next if rakefile =~ /database\. rake$/
21
21
load rakefile
22
22
end
23
23
36
36
task :default => :spec
37
37
end
38
38
39
+ begin
40
+ require 'metasploit_data_models'
41
+ rescue LoadError
42
+ puts "metasploit_data_models not in bundle, so can't set up db tasks. " \
43
+ "To run database tasks, ensure to install the db bundler group."
44
+
45
+ print_without = true
46
+ else
47
+ load 'lib/tasks/database.rake'
48
+ metasploit_data_models_task_glob = MetasploitDataModels . root . join (
49
+ 'lib' ,
50
+ 'tasks' ,
51
+ '**' ,
52
+ '*.rake'
53
+ ) . to_s
54
+ # include tasks from metasplioit_data_models, such as `rake yard`.
55
+ # metasploit-framework specific yard options are in .yardopts
56
+ Dir . glob ( metasploit_data_models_task_glob ) do |path |
57
+ load path
58
+ end
59
+ end
60
+
39
61
begin
40
62
require 'yard'
41
63
rescue LoadError
@@ -45,18 +67,6 @@ rescue LoadError
45
67
print_without = true
46
68
end
47
69
48
- metasploit_data_models_task_glob = MetasploitDataModels . root . join (
49
- 'lib' ,
50
- 'tasks' ,
51
- '**' ,
52
- '*.rake'
53
- ) . to_s
54
-
55
- # include tasks from metasplioit_data_models, such as `rake yard`.
56
- # metasploit-framework specific yard options are in .yardopts
57
- Dir . glob ( metasploit_data_models_task_glob ) do |path |
58
- load path
59
- end
60
70
61
71
if print_without
62
72
puts "Bundle currently installed " \
0 commit comments