blob: dc1f21c5fe722302d661d0d8df90fbd879199520 [file] [log] [blame]
# Copyright 2017 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/components.gni")
import("//build/go/go_binary.gni")
import("//build/go/go_library.gni")
import("//build/go/go_test.gni")
import("//build/host.gni")
go_library("pm_lib") {
name = "go.fuchsia.dev/fuchsia/src/sys/pkg/bin/pm/..."
deps = [
"//src/lib/versioning/version-history/go:version-history",
"//src/sys/pkg/lib/far/go:far",
"//src/sys/pkg/lib/merkle",
"//src/sys/pkg/lib/repo",
"//src/sys/pkg/lib/sse",
"//third_party/golibs:github.com/dustin/go-humanize",
"//third_party/golibs:github.com/fsnotify/fsnotify",
"//third_party/golibs:github.com/theupdateframework/go-tuf",
"//third_party/golibs:golang.org/x/crypto",
]
sources = [
"build/archive.go",
"build/blobs.go",
"build/config.go",
"build/config_test.go",
"build/contents.go",
"build/contents_test.go",
"build/delta.go",
"build/delta_test.go",
"build/doc.go",
"build/manifest.go",
"build/manifest_test.go",
"build/package.go",
"build/package_test.go",
"build/snapshot.go",
"build/snapshot_test.go",
"build/testutil.go",
"cmd/pm/archive/archive.go",
"cmd/pm/build/build.go",
"cmd/pm/delta/delta.go",
"cmd/pm/expand/expand.go",
"cmd/pm/genkey/genkey.go",
"cmd/pm/genkey/genkey_test.go",
"cmd/pm/init/init.go",
"cmd/pm/newrepo/newrepo.go",
"cmd/pm/pm.go",
"cmd/pm/publish/publish.go",
"cmd/pm/publish/publish_test.go",
"cmd/pm/seal/seal.go",
"cmd/pm/serve/incremental.go",
"cmd/pm/serve/monitor.go",
"cmd/pm/serve/monitor_test.go",
"cmd/pm/serve/serve.go",
"cmd/pm/serve/serve_test.go",
"cmd/pm/snapshot/snapshot.go",
"cmd/pm/update/update.go",
"cmd/pm/verify/verify.go",
"fswatch/fswatch.go",
"fswatch/fswatch_fuchsia.go",
"ignores/ignores.go",
"ignores/ignores_test.go",
"pkg/package.go",
"pkg/package_test.go",
"pmhttp/auto.go",
"pmhttp/config.go",
"pmhttp/config_test.go",
"pmhttp/configv2.go",
"pmhttp/configv2_test.go",
"pmhttp/index.go",
"pmhttp/pmhttp.go",
"pmhttp/pmhttp_test.go",
"repo/config.go",
"repo/repo.go",
"repo/repo_test.go",
]
}
test_packages = [
"build",
"cmd/pm/genkey",
"cmd/pm/publish",
"cmd/pm/serve",
"pkg",
"pmhttp",
"repo",
]
test_labels = []
foreach(pkg, test_packages) {
pkg_ = string_replace(pkg, "/", "_")
name = "pm_${pkg_}_test"
go_test(name) {
gopackages = [ "go.fuchsia.dev/fuchsia/src/sys/pkg/bin/pm/${pkg}" ]
deps = [
":pm_lib",
"//third_party/golibs:github.com/google/go-cmp",
]
}
test_labels += [ ":$name" ]
}
group("host_tests") {
testonly = true
public_deps = []
foreach(label, test_labels) {
public_deps += [ label + "($host_toolchain)" ]
}
}
go_binary("pm_bin") {
output_name = "pm"
gopackage = "go.fuchsia.dev/fuchsia/src/sys/pkg/bin/pm/cmd/pm"
sdk_category = "partner"
deps = [ ":pm_lib" ]
}
fuchsia_shell_package("pm") {
manifest = "meta/pm.cml"
deps = [ ":pm_bin" ]
}
install_host_tools("host") {
deps = [ ":pm_bin" ]
outputs = [ "pm" ]
}
group("tests") {
testonly = true
public_deps = [ ":host_tests" ]
}