Gem::Specification.new do |spec|
  spec.name = "<%= configuration.project_name %>"
  spec.version = "<%= configuration.project_version %>"
  spec.authors = ["<%= configuration.author_name %>"]
  spec.email = ["<%= configuration.author_email %>"]
  spec.homepage = "<%= configuration.computed_project_url_home %>"
  spec.summary = ""
  spec.license = "<%= configuration.license_label_version %>"

  spec.metadata = {
    <% unless configuration.computed_project_url_issues.empty? %>
      "bug_tracker_uri" => "<%= configuration.computed_project_url_issues %>",
    <% end %>
    <% unless configuration.computed_project_url_versions.empty? %>
      "changelog_uri" => "<%= configuration.computed_project_url_versions %>",
    <% end %>
    <% unless configuration.computed_project_url_home.empty? %>
      "documentation_uri" => "<%= configuration.computed_project_url_home %>",
    <% end %>
    <% unless configuration.computed_project_url_funding.empty? %>
      "funding_uri" => "<%= configuration.computed_project_url_funding %>",
    <% end %>
    "label" => "<%= configuration.project_label %>",
    <% if configuration.computed_project_url_source.empty? %>
      "rubygems_mfa_required" => "true"
    <% else %>
      "rubygems_mfa_required" => "true",
      "source_code_uri" => "<%= configuration.computed_project_url_source %>"
    <% end %>
  }

  <% if configuration.build_security %>
    spec.signing_key = Gem.default_key_path
    spec.cert_chain = [Gem.default_cert_path]
  <% end %>

  spec.required_ruby_version = "~> <%= RUBY_VERSION[/\d+\.\d+/] %>"
  <% if configuration.build_cli %>
    spec.add_dependency "auto_injector", "~> 0.6"
  <% end %>
  <% if configuration.build_cli %>
    spec.add_dependency "dry-container", "~> 0.10"
  <% end %>
  <% if configuration.build_refinements %>
    spec.add_dependency "refinements", "~> 9.6"
  <% end %>
  <% if configuration.build_cli %>
    spec.add_dependency "runcom", "~> 8.5"
  <% end %>
  <% if configuration.build_cli %>
    spec.add_dependency "spek", "~> 0.5"
  <% end %>
  <% if configuration.build_zeitwerk %>
    spec.add_dependency "zeitwerk", "~> 2.5"
  <% end %>

  <% if configuration.build_cli %>
    spec.bindir = "exe"
    spec.executables << "<%= configuration.project_name %>"
  <% end %>
  spec.extra_rdoc_files = Dir["README*", "LICENSE*"]
  spec.files = Dir["*.gemspec", "lib/**/*"]
end