HACKING.md 1.6 KB

The instructions in README.md are fine when you only want to run. However, when developing, you might need to know some more tricks.

The goal of our build manager (dodo.py) is to make a single call to doit, without arguments, always a sane and correct choice. However that could not always be the case.

Let's organize our explanation into "iteration loops": you are typically developing on some aspect of it, and not on the entire setup. Based on this, you'll need to do different things.

Loops

Hacking code on tt-rss or rss-bridge

If you are changing PHP code, well, this is the easiest part. Run doit, and you should have everything running, and logs showing up. Then, with your favourite editor, edit the PHP files you prefer. You can then refresh what you want in the browser, and everything should be automatically changing. No other action required!

Changing nginx configuration

Currently, there is no way to reload nginx, even though it should not be impossible, theoretically, to do it. So edit docker/nginx.conf with your favourite editor then run doit. On the next change, give ctrl-c to doit and then again run doit.

This workflow could be improved, being currently a bit too slow for such an easy thing.

Change some docker file

When you change the dockerfile you need to build everything again. Doit should notice this, and just running doit should build everything again. If for some reason this is not the case, doit clean build will clean all of our artifacts; so that running doit will surely rebuild everything.

Notice that building is a bit slow. There is no way to improve this, so just keep it in mind!