# Copyright 2019 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.

# Top level BUILD file for gn samples
assert(is_fuchsia)

import("//third_party/fuchsia-sdk/build/test_targets.gni")

# Simplify deployment to a package server by building and copying the sample
# `.far` packages to the top-level build directory.
copy("default") {
  deps = [
    "//cipd",
    "//src/bouncing_ball",
    "//src/calculator",
    "//src/hello_world",
    "//src/rot13",
  ]
  sources = [
    "${target_gen_dir}/src/bouncing_ball/bouncing_ball/bouncing_ball.far",
    "${target_gen_dir}/src/calculator/calculator-example/calculator-example.far",
    "${target_gen_dir}/src/hello_world/hello_world/hello_world.far",
    "${target_gen_dir}/src/rot13/rot13-example/rot13-example.far",
  ]
  outputs = [ "${root_out_dir}/{{source_file_part}}" ]
}

copy("tests") {
  testonly = true
  deps = [
    "//src/calculator:tests",
    "//src/hello_world:tests",
    "//src/rot13:tests",
  ]
  sources = [
    "${target_gen_dir}/src/hello_world/hello_world_test/hello_world_test.far",
    "${target_gen_dir}/src/calculator/engine/engine_unittest/engine_unittest.far",
    "${target_gen_dir}/src/rot13/server/rot13_unittests/rot13_unittests.far",
  ]
  outputs = [ "${root_out_dir}/{{source_file_part}}" ]
}

# Build all the targets exposed by the Fuchsia SDK.
fuchsia_sdk_test_targets("all_sdk_targets") { }
