Skip to content

Commit 48de0f5

Browse files
committed
rdev: update-pyproject updates name transform data
1 parent 1b26062 commit 48de0f5

3 files changed

Lines changed: 55 additions & 0 deletions

File tree

devtools/config.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ class Parameters:
2828
mrclib_bin_url: str
2929
mrclib_artifacts: T.Set[str]
3030

31+
#: semiwrap name_transform known_words shared by all wrapper projects
32+
known_words: T.List[str]
33+
3134
#: renames [project.entry-points.KEY*] to [project.entry-points.VALUE]
3235
entrypoints: T.Dict[str, str]
3336

devtools/update_pyproject.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,9 +229,34 @@ def _update_pyversion(self, info: ProjectInfo):
229229
self.commit_changes.add(f"{name} updated to {version}")
230230
info.changed = True
231231

232+
def update_semiwrap(self):
233+
known_words = list(self.cfg.params.known_words)
234+
known_words_set = set(known_words)
235+
236+
for info in self.subprojects.values():
237+
swdata = info.data.get("tool", {}).get("semiwrap", None)
238+
if swdata is None:
239+
continue
240+
241+
name_transform = swdata.get("name_transform", None)
242+
if name_transform is None:
243+
name_transform = tomlkit.table()
244+
swdata["name_transform"] = name_transform
245+
246+
if set(name_transform.get("known_words", [])) != known_words_set:
247+
name = info.data["project"]["name"]
248+
249+
name_transform["default"] = "snake_case"
250+
name_transform["enum_value"] = "CAPS_CASE"
251+
name_transform["known_words"] = known_words
252+
print(f"* {name}: semiwrap name_transform updated")
253+
self.commit_changes.add(f"{name}: semiwrap name_transform updated")
254+
info.changed = True
255+
232256
def update(self):
233257
self.update_maven()
234258
self.update_requirements()
259+
self.update_semiwrap()
235260

236261
def commit(self):
237262
files = []

rdev.toml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,33 @@ exclude_artifacts = [
3939

4040
robot_wheel_platform = "linux-systemcore"
4141

42+
known_words = [
43+
"mDNS",
44+
"DS",
45+
"CAN",
46+
"PWM",
47+
"I2C",
48+
"SPI",
49+
"NT",
50+
"JSON",
51+
"PID",
52+
"IMU",
53+
"HAL",
54+
"JNI",
55+
"USB",
56+
"HTTP",
57+
"URI",
58+
"URL",
59+
"CPU",
60+
"FPGA",
61+
"FMS",
62+
"PCM",
63+
"PDP",
64+
"PDH",
65+
"RIO",
66+
"OpMode",
67+
]
68+
4269
[params.entrypoints]
4370
# prefix = "actual"
4471
# - ensures that [project.entry-points.prefix*] are renamed to "actual", which

0 commit comments

Comments
 (0)