Skip to content

Commit 5f63797

Browse files
committed
Update development notes
1 parent 17f451c commit 5f63797

File tree

2 files changed

+34
-4
lines changed

2 files changed

+34
-4
lines changed

README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,27 @@ Then run this command to build all the wheels.
3737

3838
All the resulting wheels are in `dist`, which can be installed using `pip`.
3939

40+
41+
Development environment
42+
-----------------------
43+
44+
To install all robotpy packages in [editable mode](https://packaging.python.org/en/latest/guides/distributing-packages-using-setuptools/#working-in-development-mode)
45+
run this:
46+
47+
./rdev.sh develop
48+
49+
For pure python development, you can just edit the files in this repository in-place, and
50+
changes will take effect immediately.
51+
52+
If you are changing C++/wrapper code, you will need to rebuild the package that you are
53+
modifying. You can either run the develop command above (which rebuilds everything) or
54+
rebuild an individual package:
55+
56+
./rdev.sh develop NAME
57+
58+
It can be a slow process,see the [robotpy-build documentation](https://robotpy-build.readthedocs.io/en/stable/tips.html)
59+
for tips to make it more efficient.
60+
4061
Cross Compilation
4162
-----------------
4263

devtools/__main__.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,20 @@ def info(ctx: Context):
3939

4040

4141
@main.command()
42+
@click.argument("package", required=False)
4243
@click.pass_obj
43-
def develop(ctx: Context):
44-
"""Install all robotpy packages in editable mode"""
45-
for project in ctx.subprojects.values():
46-
project.develop()
44+
def develop(ctx: Context, package: str):
45+
"""Install robotpy packages in editable mode"""
46+
if package:
47+
for project in ctx.subprojects.values():
48+
if project.name == package:
49+
project.develop()
50+
break
51+
else:
52+
raise click.BadParameter(f"invalid package {package}")
53+
else:
54+
for project in ctx.subprojects.values():
55+
project.develop()
4756

4857

4958
@main.command()

0 commit comments

Comments
 (0)