# Copyright 2018 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file

import("//build/sdk/sdk_documentation.gni")

docs = [
  "bootserver",
  "compilation",
  "debugger",
  "devices",
  "logging",
  "packages",
  "ssh",
]

sdk_documentation("docs") {
  name = "low_level"

  category = "partner"

  files = [
    {
      source = "root.md"
      dest = "README.md"
    },
    {
      source = "main.md"
      dest = "docs/README.md"
    },
  ]
  foreach(doc, docs) {
    files += [
      {
        source = "$doc.md"
        dest = "docs/$doc.md"
      },
    ]
  }
}

sdk_documentation("modular_config_schema") {
  name = "modular_config_schema"

  category = "partner"

  files = [
    {
      source = "modular_config_schema.json"
      dest = "docs/modular/modular_config_schema.json"
    },
  ]
}
