Split out rbext from Review Board into a new package.
Review Request #14955 — Created March 24, 2026 and updated
This introduces a dedicated package for
rbext, the Review Board
extension command line tool. This is a straight port of what's in
the Review Board 8 tree, but with modern typing and code cleanup
integrated with it, and deprecations removed.The plan is to have a standalone tool not dependent on any given version
of Review Board that can be used not only to create and test packages,
but also to build packages to distribute.To accomplish building packages, an upcoming change will introduce a
Python build backend,rbext.build.backend, built on top of
buildthings. This will handle a pre-build phase involving asset
generation and static media infrastructure setup, and then perform a
standardpython -m build.For now, everything that's in here is more or less what was in
reviewboard/cmdline/rbext.py, but split up and cleaned up. This will
be the foundation for future work.
Tested creating a tree and then running unit tests on it.
| Summary | ID |
|---|---|
| ab47e04f18fc550aa978c94b5d09a3071b7f884c |
| Description | From | Last Updated |
|---|---|---|
|
'rbext.commands.build.BuildCommand' imported but unused Column: 1 Error code: F401 |
|
|
|
'rbext.commands.inspect.InspectCommand' imported but unused Column: 1 Error code: F401 |
|
|
|
https://www.youtube.com/watch?v=QRdRPLq5fzA |
|
|
|
This will include only rbext but not rbext.commands or rbext.commands.base. I think we want: [tool.setuptools.packages.find] where = ['.'] namespaces = … |
|
|
|
I know we don't have much in here, but we should probably have a __future__.annotations import anyway. |
|
|
|
This file needs a __future__.annotations import. |
|
|
|
We should type this as tuple[int, int, int, int, str, int, bool], otherwise it will be implicitly typed as literals … |
|
|
|
"the" is duplicated here. |
|
|
|
This should be an empty string I think. |
|
|
|
Should be rbext.commands.base.errors.CommandError |
|
|
|
using alphanumeric... what? |
|
|
|
This comes from old code, but we shouldn't have "nose" anywhere in new stuff. |
|
|
|
Can we use f-strings here? |
|
|
|
rb-site -> rbext |
|
- Change Summary:
-
Removed imports for in-development commands.
- Commits:
-
Summary ID 02fc6b50b597201cbb6f4ac37541e32d75c39fe1 ab47e04f18fc550aa978c94b5d09a3071b7f884c
Checks run (2 succeeded)
-
-
-
This will include only
rbextbut notrbext.commandsorrbext.commands.base. I think we want:[tool.setuptools.packages.find]
where = ['.']
namespaces = false -
I know we don't have much in here, but we should probably have a
__future__.annotationsimport anyway. -
-
We should type this as
tuple[int, int, int, int, str, int, bool], otherwise it will be implicitly typed as literals and comparisons will warn. -
-
-
-
-
-
-