File tree Expand file tree Collapse file tree 3 files changed +40
-0
lines changed
Expand file tree Collapse file tree 3 files changed +40
-0
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,12 @@ 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+
3642[params .requirements ]
3743semiwrap = " ~=0.1.7"
3844hatch-meson = " ~=0.1.0b2"
You can’t perform that action at this time.
0 commit comments