File tree Expand file tree Collapse file tree 7 files changed +46
-4
lines changed Expand file tree Collapse file tree 7 files changed +46
-4
lines changed Original file line number Diff line number Diff 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 ]
Original file line number Diff line number Diff 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 = (
Original file line number Diff line number Diff line change @@ -33,6 +33,14 @@ exclude_artifacts = [
3333
3434robot_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 ]
3745semiwrap = " ~=0.1.7"
3846hatch-meson = " ~=0.1.0b2"
Original file line number Diff line number Diff 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" ]
2222ds-socket = " halsim_ds_socket"
2323
2424
Original file line number Diff line number Diff 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" ]
2222ws-server = " halsim_ws.server"
2323ws-client = " halsim_ws.client"
2424
Original file line number Diff line number Diff 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" ]
3636run = " wpilib._impl.start:Main"
3737
3838
Original file line number Diff line number Diff 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" ]
2727xrp = " xrp.extension"
2828
2929
You can’t perform that action at this time.
0 commit comments