Move isFileTarget() to bazel_util.go

Move to common util file so that it may be used by other exporters.

Bug: skia:13485
Change-Id: I3a9833fe6d5ac55548481c93c7805779a374affc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/566437
Reviewed-by: Kevin Lubick <kjlubick@google.com>
diff --git a/bazel/exporter/bazel_util.go b/bazel/exporter/bazel_util.go
index 8656189..a7cfd54 100644
--- a/bazel/exporter/bazel_util.go
+++ b/bazel/exporter/bazel_util.go
@@ -96,6 +96,19 @@
 	return fmt.Sprintf("%s/%s:%s", repo, path, target), nil
 }
 
+// Determine if a target refers to a file, or a rule. target is of
+// the form:
+//
+// file: //include/private:SingleOwner.h
+// rule: //bazel/common_config_settings:has_gpu_backend
+func isFileTarget(target string) bool {
+	_, _, target, err := parseRule(target)
+	if err != nil {
+		return false
+	}
+	return strings.Contains(target, ".")
+}
+
 // Create a string that uniquely identifies the rule and can be used
 // in the exported CMake file as a valid name.
 func getRuleCMakeName(bazelRuleName string) (string, error) {
diff --git a/bazel/exporter/bazel_util_test.go b/bazel/exporter/bazel_util_test.go
index 6f48b5d..cee865d 100644
--- a/bazel/exporter/bazel_util_test.go
+++ b/bazel/exporter/bazel_util_test.go
@@ -116,3 +116,15 @@
 func TestIsExternalRule_IsInternal_ExpectFalse(t *testing.T) {
 	assert.False(t, isExternalRule("//:skia_public"))
 }
+
+func TestIsFileRule_InvalidRule_ReturnsFalse(t *testing.T) {
+	assert.False(t, isFileTarget(""))
+}
+
+func TestIsFileRule_ValidFileRule_ReturnsTrue(t *testing.T) {
+	assert.True(t, isFileTarget("//dir/path:hello.c"))
+}
+
+func TestIsFileRule_ValidNonFileRule_ReturnsFalse(t *testing.T) {
+	assert.False(t, isFileTarget("//dir/path:hello"))
+}
diff --git a/bazel/exporter/cmake_exporter.go b/bazel/exporter/cmake_exporter.go
index c5f6e9e..58eaf33 100644
--- a/bazel/exporter/cmake_exporter.go
+++ b/bazel/exporter/cmake_exporter.go
@@ -32,19 +32,6 @@
 	}
 }
 
-// Determine if a target refers to a file, or a rule. target is of
-// the form:
-//
-// file: //include/private:SingleOwner.h
-// rule: //bazel/common_config_settings:has_gpu_backend
-func isFileTarget(target string) bool {
-	_, _, target, err := parseRule(target)
-	if err != nil {
-		return false
-	}
-	return strings.Contains(target, ".")
-}
-
 // Given a Bazel rule name find that rule from within the
 // query results.
 func findRule(qr *analysis_v2.CqueryResult, name string) (*build.Rule, error) {
diff --git a/bazel/exporter/cmake_exporter_test.go b/bazel/exporter/cmake_exporter_test.go
index 253773f..4ac6b77 100644
--- a/bazel/exporter/cmake_exporter_test.go
+++ b/bazel/exporter/cmake_exporter_test.go
@@ -249,18 +249,6 @@
 	assert.Equal(t, expected, contents.String())
 }
 
-func TestIsFileRule_InvalidRule_ReturnsFalse(t *testing.T) {
-	assert.False(t, isFileTarget(""))
-}
-
-func TestIsFileRule_ValidFileRule_ReturnsTrue(t *testing.T) {
-	assert.True(t, isFileTarget("//dir/path:hello.c"))
-}
-
-func TestIsFileRule_ValidNonFileRule_ReturnsFalse(t *testing.T) {
-	assert.False(t, isFileTarget("//dir/path:hello"))
-}
-
 func TestFindRule_RuleExists_Success(t *testing.T) {
 	qr := analysis_v2.CqueryResult{}
 	err := prototext.Unmarshal([]byte(textProto), &qr)