Skip to content

Commit a8599a0

Browse files
authored
Merge pull request #201 from robotpy/entrypoint-updater
rdev: provide mechanism to update robotpy entrypoints
2 parents da4347f + a342c74 commit a8599a0

File tree

7 files changed

+46
-4
lines changed

7 files changed

+46
-4
lines changed

devtools/config.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ class Parameters:
2424
wpilib_bin_version: str
2525
wpilib_bin_url: str
2626

27+
#: renames [project.entry-points.KEY*] to [project.entry-points.VALUE]
28+
entrypoints: T.Dict[str, str]
29+
2730
exclude_artifacts: T.Set[str]
2831

2932
requirements: T.Dict[str, str]

devtools/update_pyproject.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,31 @@ def wpilib_bin_version(self) -> str:
6868
def wpilib_bin_url(self) -> str:
6969
return self.cfg.params.wpilib_bin_url
7070

71+
def _update_entrypoints(
72+
self,
73+
info: ProjectInfo,
74+
pypi_name: str,
75+
):
76+
data = info.data
77+
eps = data["project"].get("entry-points")
78+
if eps is None:
79+
return
80+
81+
for name in list(eps.keys()):
82+
for prefix, replace in self.cfg.params.entrypoints.items():
83+
if name.startswith(prefix):
84+
if name != replace:
85+
eps[replace] = eps[name]
86+
del eps[name]
87+
print(
88+
f"* {pypi_name}: entry-points.{name} -> entry-points.{replace}"
89+
)
90+
self.commit_changes.add(
91+
f"{pypi_name}: entry-points.{name} -> entry-points.{replace}"
92+
)
93+
info.changed = True
94+
break
95+
7196
def _update_requirements(
7297
self,
7398
info: ProjectInfo,
@@ -126,6 +151,12 @@ def update_requirements(self):
126151
data["project"]["dependencies"],
127152
)
128153

154+
# project.entry-points
155+
self._update_entrypoints(
156+
info,
157+
pypi_name,
158+
)
159+
129160
def _update_maven(self, info: ProjectInfo):
130161
data = info.data
131162
iter = (

rdev.toml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,14 @@ exclude_artifacts = [
3333

3434
robot_wheel_platform = "linux-roborio"
3535

36+
[params.entrypoints]
37+
# prefix = "actual"
38+
# - ensures that [project.entry-points.prefix*] are renamed to "actual", which
39+
# makes it easy to upgrade them each year (https://github.com/robotpy/robotpy-cli/issues/5)
40+
# - also reminds me that we have to bump it every year ^_^
41+
robotpy_sim = "robotpy_sim.2026"
42+
robotpy_cli = "robotpy_cli.2026"
43+
3644
[params.requirements]
3745
semiwrap = "~=0.1.7"
3846
hatch-meson = "~=0.1.0b2"

subprojects/robotpy-halsim-ds-socket/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ dependencies = [
1818
"robotpy-native-wpinet==2025.3.2.1",
1919
]
2020

21-
[project.entry-points.robotpysimext]
21+
[project.entry-points."robotpy_sim.2026"]
2222
ds-socket = "halsim_ds_socket"
2323

2424

subprojects/robotpy-halsim-ws/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ dependencies = [
1818
"robotpy-native-wpinet==2025.3.2.1",
1919
]
2020

21-
[project.entry-points.robotpysimext]
21+
[project.entry-points."robotpy_sim.2026"]
2222
ws-server = "halsim_ws.server"
2323
ws-client = "halsim_ws.client"
2424

subprojects/robotpy-wpilib/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ dependencies = [
3232
[project.urls]
3333
"Source code" = "https://github.com/robotpy/mostrobotpy"
3434

35-
[project.entry-points.robotpy]
35+
[project.entry-points."robotpy_cli.2026"]
3636
run = "wpilib._impl.start:Main"
3737

3838

subprojects/robotpy-xrp/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ dependencies = [
2323
"wpilib==2025.3.2.4"
2424
]
2525

26-
[project.entry-points.robotpysimext]
26+
[project.entry-points."robotpy_sim.2026"]
2727
xrp = "xrp.extension"
2828

2929

0 commit comments

Comments
 (0)