diff --git a/CHANGELOG.md b/CHANGELOG.md index 8cb5ca3f9f..da59ecf8b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -58,6 +58,8 @@ END_UNRELEASED_TEMPLATE to the package path. This is enabled via the `# gazelle:experimental_allow_relative_imports` true directive ({gh-issue}`2203`). * (gazelle) Types for exposed members of `python.ParserOutput` are now all public. +* (gazelle) Removed the requirement for `__init__.py`, `__main__.py`, or `__test__.py` files to be + present in a directory to generate a `BUILD.bazel` file. {#v0-0-0-fixed} ### Fixed diff --git a/gazelle/python/generate.go b/gazelle/python/generate.go index 5eedbd9601..c1edec4731 100644 --- a/gazelle/python/generate.go +++ b/gazelle/python/generate.go @@ -85,8 +85,6 @@ func (py *Python) GenerateRules(args language.GenerateArgs) language.GenerateRes if parent != nil && parent.CoarseGrainedGeneration() { return language.GenerateResult{} } - } else if !hasEntrypointFile(args.Dir) { - return language.GenerateResult{} } } @@ -172,9 +170,6 @@ func (py *Python) GenerateRules(args language.GenerateArgs) language.GenerateRes // 2. The directory has a BUILD or BUILD.bazel files. Then // it doesn't matter at all what it has since it's a // separate Bazel package. - // 3. (only for package generation) The directory has an - // __init__.py, __main__.py or __test__.py, meaning a - // BUILD file will be generated. if cfg.PerFileGeneration() { return fs.SkipDir } @@ -184,7 +179,7 @@ func (py *Python) GenerateRules(args language.GenerateArgs) language.GenerateRes return nil } - if !cfg.CoarseGrainedGeneration() && hasEntrypointFile(path) { + if !cfg.CoarseGrainedGeneration() { return fs.SkipDir } diff --git a/gazelle/python/testdata/subdir_sources/BUILD.in b/gazelle/python/testdata/subdir_sources/BUILD.in index e69de29bb2..adfdefdc8a 100644 --- a/gazelle/python/testdata/subdir_sources/BUILD.in +++ b/gazelle/python/testdata/subdir_sources/BUILD.in @@ -0,0 +1 @@ +# gazelle:python_generation_mode project diff --git a/gazelle/python/testdata/subdir_sources/BUILD.out b/gazelle/python/testdata/subdir_sources/BUILD.out index d03a8f05ac..5d77890d4f 100644 --- a/gazelle/python/testdata/subdir_sources/BUILD.out +++ b/gazelle/python/testdata/subdir_sources/BUILD.out @@ -1,5 +1,8 @@ + load("@rules_python//python:defs.bzl", "py_binary") +# gazelle:python_generation_mode project + py_binary( name = "subdir_sources_bin", srcs = ["__main__.py"],