aboutsummaryrefslogtreecommitdiffhomepage
path: root/scripts/lint
blob: c9e330498001dcd3d8f6dc029ffceaae01f091ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/env ruby

require 'pathname'

LINTERS = {
  cargo_workspace_dependencies: [],
  contiguous_use_block: [],
  no_banned_use: [],
  no_decorative_section_comment: %w[
    crates/shirabe-semver/src/version_parser.rs
  ],
  no_format_trailing_comma: %w[
    crates/shirabe/src/package/loader/root_package_loader.rs
    crates/shirabe-spdx-licenses/src/spdx_licenses.rs
  ],
  no_mod_rs: [],
  no_std_collections_maps: [],
  no_use_as_alias: [],
  sorted_dependencies: [],
}

root_dir = Pathname.new(__dir__).join('..').expand_path

results = LINTERS.map do |linter, excludes|
  require_relative "linters/#{linter}"
  puts "===== #{linter} ====="
  ok = send(linter, root_dir, excludes)
  puts "Passed." if ok
  puts
  ok
end
exit(results.all? ? 0 : 1)