| # Copyright 2020 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/go/go_binary.gni") |
| import("//build/go/go_library.gni") |
| import("//build/go/go_test.gni") |
| import("//build/testing/golden_file.gni") |
| import("//third_party/protobuf/proto_library.gni") |
| |
| go_library("proto_lib") { |
| source_dir = "proto" |
| sources = [ |
| "context.pb.go", |
| "static.pb.go", |
| ] |
| deps = [ "//third_party/golibs:github.com/golang/protobuf" ] |
| } |
| |
| go_library("fint_lib") { |
| sources = [ |
| "fint_test.go", |
| "main.go", |
| "parse.go", |
| "set.go", |
| "set_test.go", |
| ] |
| |
| deps = [ |
| ":proto_lib", |
| "//third_party/golibs:github.com/golang/protobuf", |
| "//third_party/golibs:github.com/google/subcommands", |
| "//tools/lib/color", |
| "//tools/lib/command", |
| "//tools/lib/logger", |
| "//tools/lib/osmisc", |
| "//tools/lib/runner", |
| ] |
| } |
| |
| go_binary("fint") { |
| gopackage = "go.fuchsia.dev/fuchsia/tools/integration/cmd/fint" |
| deps = [ ":fint_lib" ] |
| } |
| |
| go_test("fint_tests") { |
| gopackages = [ "go.fuchsia.dev/fuchsia/tools/integration/cmd/fint" ] |
| deps = [ ":fint_lib" ] |
| } |
| |
| proto_library("context") { |
| sources = [ "proto/context.proto" ] |
| generate_cc = false |
| generate_go = true |
| generate_python = false |
| } |
| |
| proto_library("static") { |
| sources = [ "proto/static.proto" ] |
| generate_cc = false |
| generate_descriptor_set = true |
| generate_go = true |
| generate_python = false |
| } |
| |
| golden_file("context_pb_go_diff") { |
| current = "${root_gen_dir}/go-proto-gen/src/tools/integration/cmd/fint/proto/context.pb.go" |
| golden = "proto/context.pb.go" |
| deps = [ ":context" ] |
| warn_on_changes = false |
| } |
| |
| golden_file("static_pb_go_diff") { |
| current = "${root_gen_dir}/go-proto-gen/src/tools/integration/cmd/fint/proto/static.pb.go" |
| golden = "proto/static.pb.go" |
| deps = [ ":static" ] |
| warn_on_changes = false |
| } |
| |
| golden_file("static_desc_pb_diff") { |
| current = "${target_out_dir}/static.desc.pb" |
| golden = "proto/static.desc.pb" |
| deps = [ ":static" ] |
| warn_on_changes = false |
| } |
| |
| group("tests") { |
| testonly = true |
| deps = [ |
| # The diff rules aren't really tests, but we want to ensure they're run in CQ. |
| ":context_pb_go_diff", |
| ":fint_tests", |
| ":static_desc_pb_diff", |
| ":static_pb_go_diff", |
| ] |
| } |