module AppMap::Depends
Constants
- DEFAULT_APPMAP_DIR
Default directory to scan for appmap.s
- DEFAULT_BASE_BRANCHES
Default base branches which will be checked for existance.
- DEFAULT_OUTPUT_FILE
Default file to write Rake task results.
- DEFAULT_TEST_FILE_PATTERNS
Default pattern to enumerate test cases.
- VERSION
Public Class Methods
verbose(arg = nil)
click to toggle source
# File lib/appmap_depends.rb, line 14 def self.verbose(arg = nil) @verbose = arg if arg @verbose end
Public Instance Methods
diff(appmap_dir: DEFAULT_APPMAP_DIR, base_dir: nil, base_branches: DEFAULT_BASE_BRANCHES, base: nil, head: nil)
click to toggle source
# File lib/appmap/depends/api.rb, line 15 def diff(appmap_dir: DEFAULT_APPMAP_DIR, base_dir: nil, base_branches: DEFAULT_BASE_BRANCHES, base: nil, head: nil) diff = AppMap::Depends::GitDiff.new(base_branches: base_branches, base: base, head: head) modified_files = diff.modified_files depends = AppMap::Depends::AppMapJSDepends.new(appmap_dir) depends.base_dir = base_dir if base_dir test_files = depends.depends(modified_files) Set.new prune_directory_prefix(test_files) end
inspect_test_files(appmap_dir: DEFAULT_APPMAP_DIR, test_file_patterns: DEFAULT_TEST_FILE_PATTERNS)
click to toggle source
# File lib/appmap/depends/api.rb, line 26 def inspect_test_files(appmap_dir: DEFAULT_APPMAP_DIR, test_file_patterns: DEFAULT_TEST_FILE_PATTERNS) inspector = AppMap::Depends::TestFileInspector.new(appmap_dir, test_file_patterns) inspector.report end
modified(appmap_dir: DEFAULT_APPMAP_DIR, base_dir: nil)
click to toggle source
# File lib/appmap/depends/api.rb, line 7 def modified(appmap_dir: DEFAULT_APPMAP_DIR, base_dir: nil) depends = AppMap::Depends::AppMapJSDepends.new(appmap_dir) depends.base_dir = base_dir if base_dir test_files = depends.depends Set.new prune_directory_prefix(test_files) end
remove_out_of_date_appmaps(since, appmap_dir: DEFAULT_APPMAP_DIR, base_dir: nil)
click to toggle source
Remove out-of-date AppMaps which are unmodified since
the start time. This operation is used to remove AppMaps that were previously generated from a test case that has been removed from a test file.
-
since
an instance of Time
# File lib/appmap/depends/api.rb, line 48 def remove_out_of_date_appmaps(since, appmap_dir: DEFAULT_APPMAP_DIR, base_dir: nil) since_ms = ( since.to_f * 1000 ).to_i depends = AppMap::Depends::AppMapJSDepends.new(appmap_dir) depends.base_dir = base_dir if base_dir depends.field = nil out_of_date_appmaps = depends.depends removed = [] out_of_date_appmaps.each do |appmap_path| mtime_path = File.join(appmap_path, 'mtime') next unless File.exists?(mtime_path) appmap_mtime = File.read(mtime_path).to_i if appmap_mtime < since_ms Util.delete_appmap appmap_path removed << appmap_path end end removed.sort end
report_list(title, files)
click to toggle source
# File lib/appmap/depends/api.rb, line 31 def report_list(title, files) warn [ title, files.to_a.sort.join(' ') ].join(': ') unless files.empty? end
run_tests(test_files, appmap_dir: DEFAULT_APPMAP_DIR) { |test_files| ... }
click to toggle source
# File lib/appmap/depends/api.rb, line 35 def run_tests(test_files, appmap_dir: DEFAULT_APPMAP_DIR, &block) test_files = test_files.to_a.sort warn "Running tests: #{test_files.join(' ')}" yield test_files system(%(./node_modules/@appland/cli/src/cli.js index --appmap-dir #{appmap_dir.shellescape})) end
Protected Instance Methods
prune_directory_prefix(files)
click to toggle source
# File lib/appmap/depends/api.rb, line 71 def prune_directory_prefix(files) Util.normalize_path(files) end