# Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

# The SDK for Fuchsia does not include:
#  dart2js
#  dartdoc
#  ddc
# and libraries that are browser-specific, since these are not used and require
# significant time to build.
# TODO(zra): Assemble the SDK completely with GN, and remove create_sdk.py.
if (defined(is_fuchsia) && (is_fuchsia || is_fuchsia_host)) {

template("copy_tree") {
  assert(defined(invoker.source), "copy_tree must define 'source'")
  assert(defined(invoker.dest), "copy_tree must define 'dest'")
  source = invoker.source
  dest = invoker.dest
  action(target_name) {
    deps = []
    if (defined(invoker.deps)) {
      deps += invoker.deps
    }
    input_files = exec_script("../tools/list_files.py",
                              [
                                "absolute",
                                "",
                                rebase_path(source),
                              ],
                              "list lines")
    inputs = input_files
    relative_files = rebase_path(input_files, rebase_path(source))

    output_files = []
    foreach(input, relative_files) {
      output_files += ["$dest/$input"]
    }

    outputs = output_files
    script = "../tools/copy_tree.py"
    args = [
      "--from",
      rebase_path(source),
      "--to",
      rebase_path(dest),
    ]
    if (defined(invoker.exclude)) {
      args += [
        "--exclude",
        invoker.exclude,
      ]
    }
  }
}

copy("copy_dart") {
  deps = [ "../runtime/bin:dart" ]
  dart_out = get_label_info("../runtime/bin:dart", "root_out_dir")
  dart_name = get_label_info("../runtime/bin:dart", "name")
  sources = [ "$dart_out/$dart_name" ]
  outputs = [ "$root_out_dir/dart-sdk/bin/dart" ]
}

copy("copy_dylibs") {
  deps = [
    "//third_party/boringssl:crypto",
    "//third_party/boringssl:ssl",
  ]
  crypto_out = get_label_info("//third_party/boringssl:crypto", "root_out_dir")
  crypto_name = get_label_info("//third_party/boringssl:crypto", "name")
  ssl_out = get_label_info("//third_party/boringssl:ssl", "root_out_dir")
  ssl_name = get_label_info("//third_party/boringssl:ssl", "name")
  sources = [
    "$crypto_out/lib${crypto_name}.so",
    "$ssl_out/lib${ssl_name}.so"
  ]
  outputs = [ "$root_out_dir/dart-sdk/bin/{{source_file_part}}" ]
}

template("copy_sdk_script") {
  assert(defined(invoker.name), "copy_sdk_script must define 'name'")
  name = invoker.name
  copy(target_name) {
    sources = [ "bin/${name}_sdk" ]
    outputs = [ "$root_out_dir/dart-sdk/bin/${name}"]
  }
}

_sdk_scripts = [
  "dartanalyzer",
  "dartfmt",
  "pub",
]

foreach(sdk_script, _sdk_scripts) {
  copy_sdk_script("copy_${sdk_script}_script") {
    name = sdk_script
  }
}

group("copy_scripts") {
  deps = [
    ":copy_dartanalyzer_script",
    ":copy_dartfmt_script",
    ":copy_pub_script",
  ]
}

_snapshots = [
  ["analysis_server", "../utils/analysis_server"],
  ["dartanalyzer", "../utils/dartanalyzer:generate_dartanalyzer_snapshot"],
  ["dartfmt", "../utils/dartfmt"],
  ["pub", "../utils/pub"],
]

foreach(snapshot, _snapshots) {
  copy("copy_${snapshot[0]}_snapshot") {
    deps = [
      snapshot[1],
    ]
    sources = [ "$root_gen_dir/${snapshot[0]}.dart.snapshot" ]
    outputs = [ "$root_out_dir/dart-sdk/bin/snapshots/{{source_file_part}}" ]
  }
}

group("copy_snapshots") {
  deps = [
    ":copy_analysis_server_snapshot",
    ":copy_dartanalyzer_snapshot",
    ":copy_dartfmt_snapshot",
    ":copy_pub_snapshot",
  ]
}

copy("copy_analysis_summaries") {
  deps = [
    ":copy_libraries",
    "../utils/dartanalyzer:generate_summary_spec",
    "../utils/dartanalyzer:generate_summary_strong",
  ]
  sources = [
    "$root_gen_dir/spec.sum",
    "$root_gen_dir/strong.sum",
  ]
  outputs = [ "$root_out_dir/dart-sdk/lib/_internal/{{source_file_part}}" ]
}

copy("copy_headers") {
  sources = [
    "../runtime/include/dart_api.h",
    "../runtime/include/dart_mirrors_api.h",
    "../runtime/include/dart_native_api.h",
    "../runtime/include/dart_tools_api.h",
  ]
  outputs = [ "$root_out_dir/dart-sdk/include/{{source_file_part}}" ]
}

copy("copy_platform_files") {
  sources = [
    "lib/dart_client.platform",
    "lib/dart_server.platform",
    "lib/dart_shared.platform",
  ]
  outputs = [ "$root_out_dir/dart-sdk/lib/{{source_file_part}}" ]
}

copy_tree("copy_pub_assets") {
  deps = [ ":copy_libraries" ]
  source = "../third_party/pkg/pub/lib/src/asset"
  dest = "$root_out_dir/dart-sdk/lib/_internal/pub/asset"
}

_libraries = [
  "_internal",
  "async",
  "collection",
  "convert",
  "core",
  "developer",
  "internal",
  "io",
  "isolate",
  "math",
  "mirrors",
  "profiler",
  "typed_data",
]

foreach(library, _libraries) {
  copy_tree("copy_${library}_library") {
    source = "lib/$library"
    dest = "$root_out_dir/dart-sdk/lib/$library"
    exclude = "*.svn,doc,*.py,*.gypi,*.sh,.gitignore"
  }
}

group("copy_libraries") {
  deps = [
    ":copy__internal_library",
    ":copy_async_library",
    ":copy_collection_library",
    ":copy_convert_library",
    ":copy_core_library",
    ":copy_developer_library",
    ":copy_internal_library",
    ":copy_io_library",
    ":copy_isolate_library",
    ":copy_math_library",
    ":copy_mirrors_library",
    ":copy_profiler_library",
    ":copy_typed_data_library",
  ]
}

action("write_version_file") {
  output = "$root_out_dir/dart-sdk/version"
  outputs = [ output ]
  script = "../tools/write_version_file.py"
  args = [
    "--output",
    rebase_path(output),
  ]
}

action("write_revision_file") {
  output = "$root_out_dir/dart-sdk/revision"
  outputs = [ output ]
  script = "../tools/write_revision_file.py"
  args = [
    "--output",
    rebase_path(output)
  ]
}

copy("copy_readme") {
  sources = [ "../README.dart-sdk" ]
  outputs = [ "$root_out_dir/dart-sdk/README" ]
}


copy("copy_license") {
  sources = [ "../LICENSE" ]
  outputs = [ "$root_out_dir/dart-sdk/LICENSE" ]
}


copy("copy_api_readme") {
  sources = [ "api_readme.md" ]
  outputs = [ "$root_out_dir/dart-sdk/lib/api_readme.md" ]
}


group("create_sdk") {
  deps = [
    ":copy_analysis_summaries",
    ":copy_api_readme",
    ":copy_dart",
    ":copy_headers",
    ":copy_libraries",
    ":copy_license",
    ":copy_platform_files",
    ":copy_pub_assets",
    ":copy_readme",
    ":copy_scripts",
    ":copy_snapshots",
    ":write_revision_file",
    ":write_version_file",
  ]
  if (is_fuchsia_host && is_linux) {
    deps += [ ":copy_dylibs" ]
  }
}

} else {

action("create_sdk") {
  deps = [
    "../runtime/bin:dart",
    "../utils/analysis_server",
    "../utils/compiler:dart2js",
    "../utils/compiler:utils_wrapper",
    "../utils/dartanalyzer:generate_dartanalyzer_snapshot",
    "../utils/dartanalyzer:generate_summary_spec",
    "../utils/dartanalyzer:generate_summary_strong",
    "../utils/dartdevc",
    "../utils/dartdoc",
    "../utils/dartfmt",
    "../utils/pub",
  ]

  sdk_lib_files = exec_script("../tools/list_dart_files.py",
                              [
                                "absolute",
                                rebase_path("lib"),
                              ],
                              "list lines")

  preamble_files =
      exec_script("../tools/list_files.py",
                  [
                    "absolute",
                    "",
                    rebase_path("lib/_internal/js_runtime/lib/preambles"),
                  ],
                  "list lines")

  sdk_bin_files = exec_script("../tools/list_files.py",
                              [
                                "absolute",
                                "",
                                rebase_path("bin"),
                              ],
                              "list lines")

  inputs = sdk_lib_files + preamble_files + sdk_bin_files + [
             "lib/dart_client.platform",
             "lib/dart_server.platform",
             "lib/dart_shared.platform",
             "$root_gen_dir/dart2js.dart.snapshot",
             "$root_gen_dir/utils_wrapper.dart.snapshot",
             "$root_gen_dir/pub.dart.snapshot",
             "$root_gen_dir/dartanalyzer.dart.snapshot",
             "$root_gen_dir/dartdevc.dart.snapshot",
             "$root_gen_dir/dartfmt.dart.snapshot",
             "$root_gen_dir/analysis_server.dart.snapshot",
             "$root_gen_dir/dartdoc.dart.snapshot",
             "$root_gen_dir/spec.sum",
             "$root_gen_dir/strong.sum",
             "../tools/VERSION",
           ]

  outputs = [
    "$root_out_dir/dart-sdk/README",
  ]

  script = "../tools/create_sdk.py"
  args = [
    "--sdk_output_dir",
    rebase_path("$root_out_dir/dart-sdk"),
    "--snapshot_location",
    rebase_path("$root_gen_dir"),
  ]
}

}
