Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add some missing backends to generated docs #14290

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
39 changes: 28 additions & 11 deletions build-support/bin/generate_docs.py
Expand Up @@ -199,25 +199,42 @@ def create_parser() -> argparse.ArgumentParser:


def run_pants_help_all() -> dict[str, Any]:
deactivated_backends = [
"internal_plugins.releases",
"pants.backend.experimental.java.debug_goals",
"pants.backend.experimental.scala.debug_goals",
]
activated_backends = [
"pants.backend.codegen.protobuf.python",
# List all (stable enough) backends here.
backends = [
"pants.backend.awslambda.python",
"pants.backend.codegen.protobuf.python",
"pants.backend.experimental.codegen.thrift.apache.python",
"pants.backend.experimental.docker",
"pants.backend.experimental.docker.lint.hadolint",
"pants.backend.experimental.go",
"pants.backend.experimental.java",
"pants.backend.experimental.java.lint.google_java_format",
"pants.backend.experimental.python",
"pants.backend.experimental.python.lint.autoflake",
"pants.backend.experimental.python.lint.pyupgrade",
"pants.backend.experimental.scala",
"pants.backend.experimental.scala.lint.scalafmt",
"pants.backend.google_cloud_function.python",
"pants.backend.plugin_development",
"pants.backend.python",
"pants.backend.python.lint.bandit",
"pants.backend.python.lint.black",
"pants.backend.python.lint.docformatter",
"pants.backend.python.lint.flake8",
"pants.backend.python.lint.isort",
"pants.backend.python.lint.pylint",
"pants.backend.python.lint.yapf",
"pants.backend.python.mixed_interpreter_constraints",
"pants.backend.python.typecheck.mypy",
"pants.backend.shell",
"pants.backend.shell.lint.shellcheck",
"pants.backend.shell.lint.shfmt",
]
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI this is the list of backends. Any you think I should add? I left off these:

  • src/python/pants/backend/experimental/codegen/avro/java
  • src/python/pants/backend/experimental/codegen/protobuf/{java,scala}
  • src/python/pants/backend/experimental/codegen/thrift/apache/java
  • src/python/pants/backend/experimental/codegen/thrift/scrooge/{java,scala}
  • src/python/pants/backend/experimental/debian
  • src/python/pants/backend/experimental/go/lint/vet
  • src/python/pants/backend/experimental/{java,scala}/debug_goals
  • src/python/pants/backend/experimental/python
  • src/python/pants/backend/experimental/terraform

"src/python/pants/backend/awslambda/python",
"src/python/pants/backend/codegen/protobuf/python",
"src/python/pants/backend/experimental/codegen/avro/java",
"src/python/pants/backend/experimental/codegen/protobuf/java",
"src/python/pants/backend/experimental/codegen/protobuf/scala",
"src/python/pants/backend/experimental/codegen/thrift/apache/java",
"src/python/pants/backend/experimental/codegen/thrift/apache/python",
"src/python/pants/backend/experimental/codegen/thrift/scrooge/java",
"src/python/pants/backend/experimental/codegen/thrift/scrooge/scala",
"src/python/pants/backend/experimental/debian",
"src/python/pants/backend/experimental/docker",
"src/python/pants/backend/experimental/docker/lint/hadolint",
"src/python/pants/backend/experimental/go",
"src/python/pants/backend/experimental/go/lint/vet",
"src/python/pants/backend/experimental/java",
"src/python/pants/backend/experimental/java/debug_goals",
"src/python/pants/backend/experimental/java/lint/google_java_format",
"src/python/pants/backend/experimental/python",
"src/python/pants/backend/experimental/python/lint/autoflake",
"src/python/pants/backend/experimental/python/lint/pyupgrade",
"src/python/pants/backend/experimental/scala",
"src/python/pants/backend/experimental/scala/debug_goals",
"src/python/pants/backend/experimental/scala/lint/scalafmt",
"src/python/pants/backend/experimental/terraform",
"src/python/pants/backend/google_cloud_function/python",
"src/python/pants/backend/plugin_development",
"src/python/pants/backend/project_info",
"src/python/pants/backend/python",
"src/python/pants/backend/python/lint/bandit",
"src/python/pants/backend/python/lint/black",
"src/python/pants/backend/python/lint/docformatter",
"src/python/pants/backend/python/lint/flake8",
"src/python/pants/backend/python/lint/isort",
"src/python/pants/backend/python/lint/pylint",
"src/python/pants/backend/python/lint/yapf",
"src/python/pants/backend/python/mixed_interpreter_constraints",
"src/python/pants/backend/python/typecheck/mypy",
"src/python/pants/backend/shell",
"src/python/pants/backend/shell/lint/shellcheck",
"src/python/pants/backend/shell/lint/shfmt",
"src/python/pants/core",

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps some (if not all) stuff in experimental python would be nice to include.. ?
Unless they're in such a state that not documenting them is preferable.. ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like that backend is necessary for Twine and publish to have automated references, which would be good. I don't love that user-generate-lockfiles will also be picked up, but I just finished deprecating that goal, so that's fine with me.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cc @tdyas as the author of several of these backends

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd leave out the non-Python codegen backends for now since there is additional work needed to get them actually working.

deactivated_plugins = ["toolchain.pants.plugin==0.17.0"]
argv = [
"./pants",
"--concurrent",
f"--plugins=-[{', '.join(map(repr, deactivated_plugins))}]",
f"--backend-packages=-[{', '.join(map(repr, deactivated_backends))}]",
f"--backend-packages=+[{', '.join(map(repr, activated_backends))}]",
"--plugins=[]",
f"--backend-packages={repr(backends)}",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

idkay, but I like ..={backends!r}.. being more succinct ;)

"--no-verify-config",
"--remote-auth-plugin= ",
"help-all",
Expand Down
1 change: 0 additions & 1 deletion pants.toml
Expand Up @@ -29,7 +29,6 @@ backend_packages.add = [
]
plugins = [
"hdrhistogram", # For use with `--stats-log`.
# NOTE: Keep this version in sync with `generate_docs.py`!
"toolchain.pants.plugin==0.17.0",
]

Expand Down
1 change: 1 addition & 0 deletions src/python/pants/init/BUILD
Expand Up @@ -3,6 +3,7 @@

python_sources(dependencies=[":plugins"])

# NOTE: When adding a new backend, add it `generate_docs.py` too! (If stable enough for docs)
target(
name="plugins",
dependencies=[
Expand Down