# 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",
  "device_discovery",
  "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"
    },
  ]
}
