summary refs log tree commit diff
path: root/develop/development
diff options
context:
space:
mode:
authorerikjohnston <erikjohnston@users.noreply.github.com>2022-09-06 18:02:25 +0000
committererikjohnston <erikjohnston@users.noreply.github.com>2022-09-06 18:02:25 +0000
commit45fcf7532ca507532b8b89ef19ca65475e4dbb0f (patch)
treec504bbe6448aac7a93c4308b21839fcc7bbefe6c /develop/development
parentdeploy: 571f565c1fa1e00462f9c96c3907d3304a37e39f (diff)
downloadsynapse-45fcf7532ca507532b8b89ef19ca65475e4dbb0f.tar.xz
deploy: c9b7e9735508bb148c6ad59c433d71e5b8b360ad
Diffstat (limited to 'develop/development')
-rw-r--r--develop/development/contributing_guide.html8
1 files changed, 7 insertions, 1 deletions
diff --git a/develop/development/contributing_guide.html b/develop/development/contributing_guide.html
index c6e4c274a4..84356e5152 100644
--- a/develop/development/contributing_guide.html
+++ b/develop/development/contributing_guide.html
@@ -166,6 +166,8 @@ on Windows is not officially supported.</p>
 <p>Synapse can connect to PostgreSQL via the <a href="https://pypi.org/project/psycopg2/">psycopg2</a> Python library. Building this library from source requires access to PostgreSQL's C header files. On Debian or Ubuntu Linux, these can be installed with <code>sudo apt install libpq-dev</code>.</p>
 <p>The source code of Synapse is hosted on GitHub. You will also need <a href="https://github.com/git-guides/install-git">a recent version of git</a>.</p>
 <p>For some tests, you will need <a href="https://docs.docker.com/get-docker/">a recent version of Docker</a>.</p>
+<p>A recent version of the Rust compiler is needed to build the native modules. The
+easiest way of installing the latest version is to use <a href="https://rustup.rs/">rustup</a>.</p>
 <h1 id="3-get-the-source"><a class="header" href="#3-get-the-source">3. Get the source.</a></h1>
 <p>The preferred and easiest way to contribute changes is to fork the relevant
 project on GitHub, and then <a href="https://help.github.com/articles/using-pull-requests/">create a pull request</a> to ask us to pull your
@@ -222,6 +224,10 @@ to check that your contributions render correctly. The docs are written in
 <p>Some documentation also exists in <a href="https://github.com/matrix-org/synapse/wiki">Synapse's GitHub
 Wiki</a>, although this is primarily
 contributed to by community authors.</p>
+<p>When changes are made to any Rust code then you must call either <code>poetry install</code>
+or <code>maturin develop</code> (if installed) to rebuild the Rust code. Using <a href="https://github.com/PyO3/maturin"><code>maturin</code></a>
+is quicker than <code>poetry install</code>, so is recommended when making frequent
+changes to the Rust code.</p>
 <h1 id="8-test-test-test"><a class="header" href="#8-test-test-test">8. Test, test, test!</a></h1>
 <p><a name="test-test-test"></a></p>
 <p>While you're developing and before submitting a patch, you'll
@@ -270,7 +276,7 @@ working directory. Typically, this ends up being <code>_trial_temp/test.db</code
 <p>The database file can then be inspected with:</p>
 <pre><code class="language-sh">sqlite3 _trial_temp/test.db
 </code></pre>
-<p>Note that the database file is cleared at the beginning of each test run. Thus it 
+<p>Note that the database file is cleared at the beginning of each test run. Thus it
 will always only contain the data generated by the <em>last run test</em>. Though generally
 when debugging, one is only running a single test anyway.</p>
 <h3 id="running-tests-under-postgresql"><a class="header" href="#running-tests-under-postgresql">Running tests under PostgreSQL</a></h3>