Method: Jazzy::SymbolGraph.arguments

Defined in:
lib/jazzy/symbol_graph.rb

.arguments(module_config, output_path) ⇒ Object

Figure out the args to pass to symbolgraph-extract



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/jazzy/symbol_graph.rb', line 40

def self.arguments(module_config, output_path)
  if module_config.module_name.empty?
    raise 'error: `--swift-build-tool symbolgraph` requires `--module`.'
  end

  user_args = module_config.build_tool_arguments.join

  if user_args =~ /-(?:module-name|minimum-access-level|output-dir)/
    raise 'error: `--build-tool-arguments` for ' \
      "`--swift-build-tool symbolgraph` can't use `-module`, " \
      '`-minimum-access-level`, or `-output-dir`.'
  end

  # Default set
  args = [
    '-module-name', module_config.module_name,
    '-minimum-access-level', 'private',
    '-output-dir', output_path,
    '-skip-synthesized-members'
  ]

  # Things user can override
  args += ['-sdk', sdk(module_config)] unless user_args =~ /-sdk/
  args += ['-target', target] unless user_args =~ /-target/
  args += ['-F', module_config.source_directory.to_s] unless user_args =~ /-F(?!s)/
  args += ['-I', module_config.source_directory.to_s] unless user_args =~ /-I/

  args + module_config.build_tool_arguments
end