Skip to content

Commit bcf0686

Browse files
committed
Update contrib guide
1 parent c83ac2b commit bcf0686

File tree

1 file changed

+26
-14
lines changed

1 file changed

+26
-14
lines changed

CONTRIBUTING.rst

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -103,28 +103,40 @@ The best way to send feedback is to file an issue on
103103
* Explain in detail how it would work.
104104
* Keep the scope as narrow as possible, to make it easier to implement.
105105

106-
A Note on Architecture for Backend Clients
107-
------------------------------------------
106+
Grasshopper components
107+
----------------------
108108

109-
To maintain consistency from one backend client to another and to promote modularity,
110-
we make use of several interfaces. Please reference :ref:`Note on Architecture <architecture>`
111-
for more details on how to add or amend a backend client.
109+
Grasshopper user objects need to be built using `COMPAS Github Action componentizer <https://github.com/compas-dev/compas-actions.ghpython_components>`_.
110+
111+
1. Apply your changes to the component source code (``src/compas_fab/ghpython/components``).
112+
2. Rebuild them:
113+
114+
.. code-block:: bash
115+
116+
invoke build-ghuser-components <path_to_ghio.dll>
112117
113-
A Note on GhPython User Components
114-
----------------------------------
118+
3. Install them on Rhino/Grasshopper as usual:
115119

116-
The Grasshopper user objects are built with `COMPAS Github Action componentizer <https://github.com/compas-dev/compas-actions.ghpython_components>`_.
120+
.. code-block:: bash
117121
118-
If you make changes to the files in ``src/compas_fab/ghpython/components``, the components need to be rebuilt.
119-
This is done using the ``invoke`` task::
122+
python -m compas_rhino.install
120123
121-
invoke build-ghuser-components <path_to_ghio.dll>
124+
The install step does not copy them, but creates a symlink to the location in which they are built,
125+
so after the first installation, it is usually not required to reinstall them, only rebuild them (unless a new component is added).
122126

123-
The components (``.ghuser`` files) are installed using the same command that installs COMPAS on Rhino::
127+
.. note::
124128

125-
python -m compas_rhino.install
129+
This step requires IronPython 2.7 to be available on the system, ie. `ipy` should be callable from the command line.
130+
The path to the GH_IO.dll is platform-specific, on Mac it is under the ``GrasshopperPlugin.rhp`` of the Rhino app
131+
and on Windows is in the ``Grasshopper`` folder within the Rhino folder in ``ProgramFiles``.
126132

127-
The installation does not copy them, but creates a symlink to the location in which they are built in this repo.
133+
134+
A Note on Architecture for Backend Clients
135+
------------------------------------------
136+
137+
To maintain consistency from one backend client to another and to promote modularity,
138+
we make use of several interfaces. Please reference :ref:`Note on Architecture <architecture>`
139+
for more details on how to add or amend a backend client.
128140

129141
Design documents
130142
----------------

0 commit comments

Comments
 (0)