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 "cogger", "~> 0.21"
  <% end %>
  <% if configuration.build_cli %>
    spec.add_dependency "containable", "~> 0.0"
  <% end %>
  <% if configuration.build_cli %>
    spec.add_dependency "dry-monads", "~> 1.6"
  <% end %>
  <% if configuration.build_cli %>
    spec.add_dependency "etcher", "~> 1.6"
  <% end %>
  <% if configuration.build_cli %>
    spec.add_dependency "infusible", "~> 3.5"
  <% end %>
  <% if configuration.build_refinements %>
    spec.add_dependency "refinements", "~> 12.1"
  <% end %>
  <% if configuration.build_cli %>
    spec.add_dependency "runcom", "~> 11.0"
  <% end %>
  <% if configuration.build_cli %>
    spec.add_dependency "sod", "~> 0.8"
  <% end %>
  <% if configuration.build_cli %>
    spec.add_dependency "spek", "~> 3.0"
  <% end %>
  <% if configuration.build_zeitwerk %>
    spec.add_dependency "zeitwerk", "~> 2.6"
  <% 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