Fixes for missing rules in m --soong-only

This CL
1. Disables filesystem diff test if there is no kati invocation, since
   there will not be a file_list.txt to do the comparison
2. Disables installation for goBinary if it is in an unexported
   namespace.

Test: m checkbuild --soong-build (top of stack)
Bug: 394096939
Change-Id: I5057c2cc431f5e8db12816c3dacf69b3159e18d5
diff --git a/fsgen/filesystem_creator.go b/fsgen/filesystem_creator.go
index 9dcbec1..63d0791 100644
--- a/fsgen/filesystem_creator.go
+++ b/fsgen/filesystem_creator.go
@@ -1163,6 +1163,10 @@
 
 	ctx.Phony("product_config_to_bp", generatedBp)
 
+	if !ctx.Config().KatiEnabled() {
+		// Cannot diff since the kati packaging rules will not be created.
+		return
+	}
 	var diffTestFiles []android.Path
 	for _, partitionType := range partitions.types() {
 		diffTestFile := f.createFileListDiffTest(ctx, partitionType, partitions.nameForType(partitionType))
diff --git a/golang/golang.go b/golang/golang.go
index 3422f8b..9e0744a 100644
--- a/golang/golang.go
+++ b/golang/golang.go
@@ -101,7 +101,7 @@
 
 	// Modules in an unexported namespace have no install rule, only add modules in the exported namespaces
 	// to the blueprint_tools phony rules.
-	if (!ctx.Config().KatiEnabled() || g.ExportedToMake()) && !usedByBootstrap(ctx.ModuleName()) {
+	if g.ExportedToMake() && !usedByBootstrap(ctx.ModuleName()) {
 		// Don't add the installed file of bootstrap tools to the deps of `blueprint_tools`.
 		// The install command line will differ from what was used during bootstrap,
 		// which will cause ninja to rebuild the module on the next run,