platform_build_blueprint/Blueprints
Dan Willemsen 1e72321e58 Use microfactory to build the bootstrap minibp
This duplicates building common blueprint go packages between minibp and
the primary builder, but drastically simplifies the first stage,
removing the need to check in a generated build.ninja.in.

Change-Id: I639a9637f1ed36d4210823ef276c0f7a064a83bd
2017-07-24 14:02:51 -07:00

181 lines
4 KiB
Text

bootstrap_go_package(
name = "blueprint",
deps = [
"blueprint-parser",
"blueprint-pathtools",
"blueprint-proptools",
],
pkgPath = "github.com/google/blueprint",
srcs = [
"context.go",
"glob.go",
"live_tracker.go",
"mangle.go",
"module_ctx.go",
"ninja_defs.go",
"ninja_strings.go",
"ninja_writer.go",
"package_ctx.go",
"scope.go",
"singleton_ctx.go",
"unpack.go",
],
testSrcs = [
"context_test.go",
"ninja_strings_test.go",
"ninja_writer_test.go",
"splice_modules_test.go",
"unpack_test.go",
"visit_test.go",
],
)
bootstrap_go_package(
name = "blueprint-parser",
pkgPath = "github.com/google/blueprint/parser",
srcs = [
"parser/ast.go",
"parser/modify.go",
"parser/parser.go",
"parser/printer.go",
"parser/sort.go",
],
testSrcs = [
"parser/parser_test.go",
"parser/printer_test.go",
],
)
bootstrap_go_package(
name = "blueprint-deptools",
pkgPath = "github.com/google/blueprint/deptools",
srcs = ["deptools/depfile.go"],
)
bootstrap_go_package(
name = "blueprint-pathtools",
pkgPath = "github.com/google/blueprint/pathtools",
deps = [
"blueprint-deptools",
],
srcs = [
"pathtools/lists.go",
"pathtools/fs.go",
"pathtools/glob.go",
],
testSrcs = [
"pathtools/glob_test.go",
],
)
bootstrap_go_package(
name = "blueprint-proptools",
pkgPath = "github.com/google/blueprint/proptools",
srcs = [
"proptools/clone.go",
"proptools/escape.go",
"proptools/extend.go",
"proptools/proptools.go",
"proptools/typeequal.go",
],
testSrcs = [
"proptools/clone_test.go",
"proptools/escape_test.go",
"proptools/extend_test.go",
"proptools/typeequal_test.go",
],
)
bootstrap_go_package(
name = "blueprint-bootstrap",
deps = [
"blueprint",
"blueprint-deptools",
"blueprint-pathtools",
"blueprint-bootstrap-bpdoc",
],
pkgPath = "github.com/google/blueprint/bootstrap",
srcs = [
"bootstrap/bootstrap.go",
"bootstrap/cleanup.go",
"bootstrap/command.go",
"bootstrap/config.go",
"bootstrap/doc.go",
"bootstrap/glob.go",
"bootstrap/writedocs.go",
],
)
bootstrap_go_package(
name = "blueprint-bootstrap-bpdoc",
deps = [
"blueprint",
"blueprint-proptools",
],
pkgPath = "github.com/google/blueprint/bootstrap/bpdoc",
srcs = [
"bootstrap/bpdoc/bpdoc.go",
],
)
bootstrap_go_binary(
name = "minibp",
deps = [
"blueprint",
"blueprint-bootstrap",
"gotestmain-tests",
],
srcs = ["bootstrap/minibp/main.go"],
)
bootstrap_go_binary(
name = "bpglob",
deps = ["blueprint-pathtools"],
srcs = ["bootstrap/bpglob/bpglob.go"],
)
blueprint_go_binary(
name = "bpfmt",
deps = ["blueprint-parser"],
srcs = ["bpfmt/bpfmt.go"],
)
blueprint_go_binary(
name = "bpmodify",
deps = ["blueprint-parser"],
srcs = ["bpmodify/bpmodify.go"],
)
bootstrap_go_binary(
name = "gotestmain",
srcs = ["gotestmain/gotestmain.go"],
)
// gotestmain tests can't be on the gotestmain module because it is an implicit dependency of tests.
// Put the tests in their own package and make it a dependency of minibp to make sure they run.
bootstrap_go_package(
name = "gotestmain-tests",
pkgPath = "github.com/google/blueprint/gotestmain",
srcs = [
"gotestmain/dummy.go",
],
testSrcs = [
"gotestmain/testmain_test.go",
],
)
bootstrap_go_binary(
name = "gotestrunner",
srcs = ["gotestrunner/gotestrunner.go"],
)
bootstrap_go_binary{
name = "loadplugins",
srcs = ["loadplugins/loadplugins.go"],
}
blueprint_go_binary {
name: "microfactory",
srcs: ["microfactory/microfactory.go"],
testSrcs: ["microfactory/microfactory_test.go"],
}