[cmx] Update last references to facet_parser forwarding targets

.. and fix up the test rules to propagate through //src hierarchy.

Bug: 36063
Change-Id: I38c7cf10276aaf9b808ca554e77d32d27d6f99c0
diff --git a/garnet/packages/tests/BUILD.gn b/garnet/packages/tests/BUILD.gn
index 5edff76..801256a 100644
--- a/garnet/packages/tests/BUILD.gn
+++ b/garnet/packages/tests/BUILD.gn
@@ -449,7 +449,6 @@
   testonly = true
   public_deps = [
     "//garnet/lib/cmx:cmx_unittests",
-    "//garnet/public/lib/cmx_facet_parser:cmx_facet_parser_unittests",
   ]
 }
 
diff --git a/garnet/public/lib/cmx_facet_parser/BUILD.gn b/garnet/public/lib/cmx_facet_parser/BUILD.gn
deleted file mode 100644
index 8dc51b01..0000000
--- a/garnet/public/lib/cmx_facet_parser/BUILD.gn
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.
-
-# Do not use this target directly, instead depend on //src/lib/cmx/facet_parser:cmx_facet_parser_unittests.
-group("cmx_facet_parser_unittests") {
-  public_deps = [
-    "//src/lib/cmx/facet_parser:cmx_facet_parser_unittests",
-  ]
-
-  testonly = true
-}
-
-# Do not use this target directly, instead depend on //src/lib/cmx/facet_parser:cmx_facet_parser.
-group("cmx_facet_parser") {
-  public_deps = [
-    "//src/lib/cmx/facet_parser:cmx_facet_parser",
-  ]
-}
diff --git a/garnet/public/lib/cmx_facet_parser/cmx_facet_parser.h b/garnet/public/lib/cmx_facet_parser/cmx_facet_parser.h
deleted file mode 100644
index 9759b30..0000000
--- a/garnet/public/lib/cmx_facet_parser/cmx_facet_parser.h
+++ /dev/null
@@ -1,12 +0,0 @@
-// 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.
-
-#ifndef LIB_CMX_FACET_PARSER_CMX_FACET_PARSER_H_
-#define LIB_CMX_FACET_PARSER_CMX_FACET_PARSER_H_
-
-// Do not use this header directly, instead use src/lib/cmx/facet_parser/cmx_facet_parser.h.
-
-#include "src/lib/cmx/facet_parser/cmx_facet_parser.h"
-
-#endif  // LIB_CMX_FACET_PARSER_CMX_FACET_PARSER_H_
diff --git a/src/lib/BUILD.gn b/src/lib/BUILD.gn
index 0d3997e..8dd19c3 100644
--- a/src/lib/BUILD.gn
+++ b/src/lib/BUILD.gn
@@ -7,6 +7,7 @@
   deps = [
     ":tests",
     "argh",
+    "cmx",
     "cobalt",
     "elflib",
     "fidl_table_validation",
@@ -30,6 +31,7 @@
   deps = [
     "argh/argh_tests",
     "by_addr:tests",
+    "cmx:tests",
     "cobalt:tests",
     "containers/cpp:tests",
     "cstr:tests",
diff --git a/src/lib/cmx/BUILD.gn b/src/lib/cmx/BUILD.gn
index e8fffb9..51b20f9 100644
--- a/src/lib/cmx/BUILD.gn
+++ b/src/lib/cmx/BUILD.gn
@@ -18,18 +18,19 @@
     "sandbox.h",
   ]
 
-  deps = [
-    "//garnet/public/lib/cmx_facet_parser",
-    "//garnet/public/lib/json",
-    "//src/lib/fxl",
+  public_deps = [
+    "//src/lib/cmx/facet_parser:cmx_facet_parser",
+    "//src/lib/json_parser:json",
     "//src/lib/pkg_url",
     "//third_party/rapidjson",
-    "//zircon/public/lib/fit",
+  ]
+  deps = [
+    "//src/lib/fxl",
     "//zircon/public/lib/trace",
   ]
 }
 
-executable("tests") {
+executable("cmx_unittests_bin") {
   testonly = true
 
   output_name = "cmx_unittests"
@@ -44,8 +45,8 @@
   deps = [
     ":cmx",
     "//garnet/public/lib/gtest",
-    "//garnet/public/lib/json",
     "//src/lib/fxl/test:gtest_main",
+    "//src/lib/json_parser:json",
     "//src/lib/pkg_url",
     "//third_party/googletest:gmock",
     "//third_party/rapidjson",
@@ -54,7 +55,7 @@
 
 test_package("cmx_unittests") {
   deps = [
-    ":tests",
+    ":cmx_unittests_bin",
   ]
   tests = [
     {
@@ -64,6 +65,15 @@
   ]
 }
 
+group("tests") {
+  testonly = true
+
+  deps = [
+    ":cmx_unittests",
+    "facet_parser:tests",
+  ]
+}
+
 fuzz_package("cmx_fuzzers") {
   targets = [ ":cmx_fuzzer" ]
 }
diff --git a/src/lib/cmx/cmx.cc b/src/lib/cmx/cmx.cc
index 190ae91..7c9fbab 100644
--- a/src/lib/cmx/cmx.cc
+++ b/src/lib/cmx/cmx.cc
@@ -9,9 +9,9 @@
 #include <sstream>
 #include <string>
 
+#include <rapidjson/document.h>
 #include <trace/event.h>
 
-#include "rapidjson/document.h"
 #include "src/lib/fxl/strings/substitute.h"
 #include "src/lib/pkg_url/fuchsia_pkg_url.h"
 
diff --git a/src/lib/cmx/cmx.h b/src/lib/cmx/cmx.h
index 8a966cb..cce1f3e 100644
--- a/src/lib/cmx/cmx.h
+++ b/src/lib/cmx/cmx.h
@@ -8,12 +8,13 @@
 #include <regex>
 #include <string>
 
-#include "lib/cmx_facet_parser/cmx_facet_parser.h"
-#include "lib/json/json_parser.h"
-#include "rapidjson/document.h"
+#include <rapidjson/document.h>
+
+#include "src/lib/cmx/facet_parser/cmx_facet_parser.h"
 #include "src/lib/cmx/program.h"
 #include "src/lib/cmx/runtime.h"
 #include "src/lib/cmx/sandbox.h"
+#include "src/lib/json_parser/json_parser.h"
 #include "src/lib/pkg_url/fuchsia_pkg_url.h"
 
 namespace component {
diff --git a/src/lib/cmx/cmx_unittest.cc b/src/lib/cmx/cmx_unittest.cc
index 6b64f47..a6a393d 100644
--- a/src/lib/cmx/cmx_unittest.cc
+++ b/src/lib/cmx/cmx_unittest.cc
@@ -8,12 +8,13 @@
 
 #include <string>
 
-#include "gmock/gmock.h"
-#include "gtest/gtest.h"
-#include "lib/json/json_parser.h"
-#include "rapidjson/document.h"
+#include <gmock/gmock.h>
+#include <gtest/gtest.h>
+#include <rapidjson/document.h>
+
 #include "src/lib/files/path.h"
 #include "src/lib/files/scoped_temp_dir.h"
+#include "src/lib/json_parser/json_parser.h"
 #include "src/lib/pkg_url/fuchsia_pkg_url.h"
 
 namespace component {
diff --git a/src/lib/cmx/facet_parser/BUILD.gn b/src/lib/cmx/facet_parser/BUILD.gn
index f3bdf74..0f49d9b 100644
--- a/src/lib/cmx/facet_parser/BUILD.gn
+++ b/src/lib/cmx/facet_parser/BUILD.gn
@@ -11,17 +11,18 @@
     "cmx_facet_parser.h",
   ]
 
-  deps = [
-    "//garnet/public/lib/json",
-    "//src/lib/fxl",
+  public_deps = [
+    "//src/lib/json_parser:json",
     "//src/lib/pkg_url",
     "//third_party/rapidjson",
-    "//zircon/public/lib/fit",
+  ]
+
+  deps = [
     "//zircon/public/lib/trace",
   ]
 }
 
-executable("tests") {
+executable("cmx_facet_parser_unittests_bin") {
   testonly = true
 
   output_name = "cmx_facet_parser_unittest"
@@ -32,10 +33,8 @@
 
   deps = [
     ":cmx_facet_parser",
-    "//garnet/public/lib/gtest",
-    "//garnet/public/lib/json",
     "//src/lib/fxl/test:gtest_main",
-    "//src/lib/pkg_url",
+    "//src/lib/json_parser:json",
     "//third_party/googletest:gmock",
     "//third_party/rapidjson",
   ]
@@ -43,7 +42,7 @@
 
 test_package("cmx_facet_parser_unittests") {
   deps = [
-    ":tests",
+    ":cmx_facet_parser_unittests_bin",
   ]
   tests = [
     {
@@ -52,3 +51,11 @@
     },
   ]
 }
+
+group("tests") {
+  testonly = true
+
+  deps = [
+    ":cmx_facet_parser_unittests",
+  ]
+}
diff --git a/src/lib/cmx/facet_parser/cmx_facet_parser.cc b/src/lib/cmx/facet_parser/cmx_facet_parser.cc
index edc267b..e3d4c70 100644
--- a/src/lib/cmx/facet_parser/cmx_facet_parser.cc
+++ b/src/lib/cmx/facet_parser/cmx_facet_parser.cc
@@ -2,16 +2,16 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "lib/cmx_facet_parser/cmx_facet_parser.h"
+#include "src/lib/cmx/facet_parser/cmx_facet_parser.h"
 
 #include <algorithm>
 #include <regex>
 #include <sstream>
 #include <string>
 
+#include <rapidjson/document.h>
 #include <trace/event.h>
 
-#include "rapidjson/document.h"
 #include "src/lib/pkg_url/fuchsia_pkg_url.h"
 
 namespace component {
diff --git a/src/lib/cmx/facet_parser/cmx_facet_parser_unittest.cc b/src/lib/cmx/facet_parser/cmx_facet_parser_unittest.cc
index 4a89c63..0ec8375 100644
--- a/src/lib/cmx/facet_parser/cmx_facet_parser_unittest.cc
+++ b/src/lib/cmx/facet_parser/cmx_facet_parser_unittest.cc
@@ -2,17 +2,18 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "lib/cmx_facet_parser/cmx_facet_parser.h"
+#include "src/lib/cmx/facet_parser/cmx_facet_parser.h"
 
 #include <fcntl.h>
 
 #include <string>
 #include <tuple>
 
-#include "gtest/gtest.h"
-#include "lib/json/json_parser.h"
-#include "rapidjson/document.h"
+#include <gtest/gtest.h>
+#include <rapidjson/document.h>
+
 #include "src/lib/files/scoped_temp_dir.h"
+#include "src/lib/json_parser/json_parser.h"
 
 namespace component {
 namespace {
diff --git a/src/lib/cmx/program.cc b/src/lib/cmx/program.cc
index 7c909b6..dca1af8 100644
--- a/src/lib/cmx/program.cc
+++ b/src/lib/cmx/program.cc
@@ -6,8 +6,9 @@
 
 #include <algorithm>
 
-#include "lib/json/json_parser.h"
-#include "rapidjson/document.h"
+#include <rapidjson/document.h>
+
+#include "src/lib/json_parser/json_parser.h"
 
 namespace component {
 
diff --git a/src/lib/cmx/program.h b/src/lib/cmx/program.h
index f8e0c99f..dd331bd 100644
--- a/src/lib/cmx/program.h
+++ b/src/lib/cmx/program.h
@@ -8,8 +8,9 @@
 #include <string>
 #include <vector>
 
-#include "lib/json/json_parser.h"
-#include "rapidjson/document.h"
+#include <rapidjson/document.h>
+
+#include "src/lib/json_parser/json_parser.h"
 
 namespace component {
 
diff --git a/src/lib/cmx/program_unittest.cc b/src/lib/cmx/program_unittest.cc
index fdefebfe..de34a30 100644
--- a/src/lib/cmx/program_unittest.cc
+++ b/src/lib/cmx/program_unittest.cc
@@ -6,10 +6,11 @@
 
 #include <string>
 
-#include "gmock/gmock.h"
-#include "gtest/gtest.h"
-#include "lib/json/json_parser.h"
-#include "rapidjson/document.h"
+#include <gmock/gmock.h>
+#include <gtest/gtest.h>
+#include <rapidjson/document.h>
+
+#include "src/lib/json_parser/json_parser.h"
 
 namespace component {
 namespace {
diff --git a/src/lib/cmx/runtime.cc b/src/lib/cmx/runtime.cc
index 90d4417..2242ca4 100644
--- a/src/lib/cmx/runtime.cc
+++ b/src/lib/cmx/runtime.cc
@@ -4,10 +4,10 @@
 
 #include "src/lib/cmx/runtime.h"
 
+#include <rapidjson/document.h>
 #include <trace/event.h>
 
-#include "lib/json/json_parser.h"
-#include "rapidjson/document.h"
+#include "src/lib/json_parser/json_parser.h"
 
 namespace component {
 
diff --git a/src/lib/cmx/runtime.h b/src/lib/cmx/runtime.h
index 4828856..0308628 100644
--- a/src/lib/cmx/runtime.h
+++ b/src/lib/cmx/runtime.h
@@ -7,8 +7,9 @@
 
 #include <string>
 
-#include "lib/json/json_parser.h"
-#include "rapidjson/document.h"
+#include <rapidjson/document.h>
+
+#include "src/lib/json_parser/json_parser.h"
 
 namespace component {
 
diff --git a/src/lib/cmx/sandbox.cc b/src/lib/cmx/sandbox.cc
index 7528c38..0d829aa8 100644
--- a/src/lib/cmx/sandbox.cc
+++ b/src/lib/cmx/sandbox.cc
@@ -7,9 +7,10 @@
 #include <algorithm>
 #include <map>
 
-#include "lib/json/json_parser.h"
-#include "rapidjson/document.h"
+#include <rapidjson/document.h>
+
 #include "src/lib/fxl/strings/substitute.h"
+#include "src/lib/json_parser/json_parser.h"
 
 namespace component {
 
diff --git a/src/lib/cmx/sandbox.h b/src/lib/cmx/sandbox.h
index 969cacf..e060500 100644
--- a/src/lib/cmx/sandbox.h
+++ b/src/lib/cmx/sandbox.h
@@ -8,8 +8,9 @@
 #include <string>
 #include <vector>
 
-#include "lib/json/json_parser.h"
-#include "rapidjson/document.h"
+#include <rapidjson/document.h>
+
+#include "src/lib/json_parser/json_parser.h"
 
 namespace component {
 
diff --git a/src/lib/cmx/sandbox_unittest.cc b/src/lib/cmx/sandbox_unittest.cc
index e8388a1..c621849 100644
--- a/src/lib/cmx/sandbox_unittest.cc
+++ b/src/lib/cmx/sandbox_unittest.cc
@@ -6,10 +6,11 @@
 
 #include <string>
 
-#include "gmock/gmock.h"
-#include "gtest/gtest.h"
-#include "lib/json/json_parser.h"
-#include "rapidjson/document.h"
+#include <gmock/gmock.h>
+#include <gtest/gtest.h>
+#include <rapidjson/document.h>
+
+#include "src/lib/json_parser/json_parser.h"
 
 namespace component {
 namespace {
diff --git a/src/modular/lib/module_manifest/BUILD.gn b/src/modular/lib/module_manifest/BUILD.gn
index c4db6c0..38ee18b 100644
--- a/src/modular/lib/module_manifest/BUILD.gn
+++ b/src/modular/lib/module_manifest/BUILD.gn
@@ -36,11 +36,11 @@
   deps = [
     ":json_xdr",
     ":module_facet_reader",
-    "//garnet/public/lib/cmx_facet_parser",
     "//garnet/public/lib/json",
     "//sdk/fidl/fuchsia.modular",
     "//sdk/fidl/fuchsia.sys",
     "//sdk/lib/sys/cpp",
+    "//src/lib/cmx/facet_parser:cmx_facet_parser",
     "//src/lib/fsl",
     "//src/lib/pkg_url",
     "//src/modular/lib/fidl:json_xdr",
diff --git a/src/modular/lib/module_manifest/module_facet_reader_impl.cc b/src/modular/lib/module_manifest/module_facet_reader_impl.cc
index 4b31910..4382227 100644
--- a/src/modular/lib/module_manifest/module_facet_reader_impl.cc
+++ b/src/modular/lib/module_manifest/module_facet_reader_impl.cc
@@ -4,9 +4,9 @@
 
 #include "src/modular/lib/module_manifest/module_facet_reader_impl.h"
 
-#include "lib/cmx_facet_parser/cmx_facet_parser.h"
 #include "lib/json/json_parser.h"
 #include "lib/sys/cpp/component_context.h"
+#include "src/lib/cmx/facet_parser/cmx_facet_parser.h"
 #include "src/lib/fsl/io/fd.h"
 #include "src/lib/pkg_url/fuchsia_pkg_url.h"
 #include "src/lib/pkg_url/url_resolver.h"