summaryrefslogtreecommitdiff
path: root/lib/tasks/gitlab/graphql.rake
blob: c53d55ceea2bf349acb034b776a28dee227d3c98 (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
# frozen_string_literal: true

return if Rails.env.production?

namespace :gitlab do
  OUTPUT_DIR = Rails.root.join("doc/api/graphql/reference").freeze
  TEMPLATES_DIR = 'lib/gitlab/graphql/docs/templates/'.freeze

  namespace :graphql do
    desc 'GitLab | Generate GraphQL docs'
    task compile_docs: :environment do
      renderer = Gitlab::Graphql::Docs::Renderer.new(GitlabSchema.graphql_definition, render_options)

      renderer.render

      puts "Documentation compiled."
    end
  end
end

def render_options
  {
    output_dir: OUTPUT_DIR,
    template: Rails.root.join(TEMPLATES_DIR, 'default.md.haml')
  }
end