Add gazelle distribution and enable build_file_generation test (#913)

diff --git a/BUILD b/BUILD
index 31962d2..cb92935 100644
--- a/BUILD
+++ b/BUILD
@@ -32,6 +32,7 @@
         "WORKSPACE",
         "internal_deps.bzl",
         "internal_setup.bzl",
+        "//gazelle:distribution",
         "//python:distribution",
         "//python/pip_install:distribution",
         "//third_party/github.com/bazelbuild/bazel-skylib/lib:distribution",
diff --git a/examples/BUILD b/examples/BUILD
index 39e4fce..4f99e2b 100644
--- a/examples/BUILD
+++ b/examples/BUILD
@@ -18,6 +18,11 @@
 licenses(["notice"])  # Apache 2.0
 
 bazel_integration_test(
+    name = "build_file_generation_example",
+    timeout = "long",
+)
+
+bazel_integration_test(
     name = "pip_install_example",
     timeout = "long",
 )
diff --git a/gazelle/BUILD.bazel b/gazelle/BUILD.bazel
index c24a086..593831d 100644
--- a/gazelle/BUILD.bazel
+++ b/gazelle/BUILD.bazel
@@ -69,3 +69,13 @@
     languages = ["//gazelle"],
     visibility = ["//visibility:public"],
 )
+
+filegroup(
+    name = "distribution",
+    srcs = glob(["**"]) + [
+        "//gazelle/manifest:distribution",
+        "//gazelle/modules_mapping:distribution",
+        "//gazelle/pythonconfig:distribution",
+    ],
+    visibility = ["//:__pkg__"],
+)
diff --git a/gazelle/manifest/BUILD.bazel b/gazelle/manifest/BUILD.bazel
index 281bcd2..a769d0d 100644
--- a/gazelle/manifest/BUILD.bazel
+++ b/gazelle/manifest/BUILD.bazel
@@ -17,3 +17,12 @@
     data = glob(["testdata/**"]),
     deps = [":manifest"],
 )
+
+filegroup(
+    name = "distribution",
+    srcs = glob(["**"]) + [
+        "//gazelle/manifest/generate:distribution",
+        "//gazelle/manifest/test:distribution",
+    ],
+    visibility = ["//gazelle:__pkg__"],
+)
diff --git a/gazelle/manifest/generate/BUILD.bazel b/gazelle/manifest/generate/BUILD.bazel
index 29b9f15..a8b9cd5 100644
--- a/gazelle/manifest/generate/BUILD.bazel
+++ b/gazelle/manifest/generate/BUILD.bazel
@@ -13,3 +13,9 @@
     embed = [":generate_lib"],
     visibility = ["//visibility:public"],
 )
+
+filegroup(
+    name = "distribution",
+    srcs = glob(["**"]),
+    visibility = ["//gazelle/manifest:__pkg__"],
+)
diff --git a/gazelle/manifest/test/BUILD.bazel b/gazelle/manifest/test/BUILD.bazel
index f14845f..3f4a535 100644
--- a/gazelle/manifest/test/BUILD.bazel
+++ b/gazelle/manifest/test/BUILD.bazel
@@ -15,3 +15,9 @@
 )
 
 exports_files(["run.sh"])
+
+filegroup(
+    name = "distribution",
+    srcs = glob(["**"]),
+    visibility = ["//gazelle/manifest:__pkg__"],
+)
diff --git a/gazelle/modules_mapping/BUILD.bazel b/gazelle/modules_mapping/BUILD.bazel
index d1cd42e..d4b35c8 100644
--- a/gazelle/modules_mapping/BUILD.bazel
+++ b/gazelle/modules_mapping/BUILD.bazel
@@ -5,3 +5,9 @@
     srcs = ["generator.py"],
     visibility = ["//visibility:public"],
 )
+
+filegroup(
+    name = "distribution",
+    srcs = glob(["**"]),
+    visibility = ["//gazelle:__pkg__"],
+)
diff --git a/gazelle/pythonconfig/BUILD.bazel b/gazelle/pythonconfig/BUILD.bazel
index cff75d9..9472fd4 100644
--- a/gazelle/pythonconfig/BUILD.bazel
+++ b/gazelle/pythonconfig/BUILD.bazel
@@ -14,3 +14,9 @@
         "@com_github_emirpasic_gods//lists/singlylinkedlist",
     ],
 )
+
+filegroup(
+    name = "distribution",
+    srcs = glob(["**"]),
+    visibility = ["//gazelle:__pkg__"],
+)