Running Sonarr from source

I want to start helping the project but I don’t understand how to test my work. I have a dev environment setup using webstorm on mac. How do I compile it or test it to see if my additions worked?

You can compile using build.sh, but you can also using mono develop. The UI is built using gulp watch (which will update as you make changes).

If you’re not making any changes in C# you can run gulp getSonarr and gulp startSonarr to grab the latest develop build and then work on UI only changes.

is there a detailed instructions on how to run this? I compiled it using the command
sh build.sh
and it outputted several _output files 2 of which be mac and mac app. I can’t seem to get the mac app to run when double clicking it. I think compiling it from source to test changes would get annoying too. so what is the ideal way to test and run the code from a mac? Sorry

Use Mono Develop to compile the C# and gulp watch to build the UI.

when i type
mono develop
it says Cannot open assembly ‘Develop’: No such file or directory.
That makes sense. Can you tell me what the exact command I need to type is? Or what the file I need to type? I am sorry if I am asking stupid questions I have never developed with gulp or C#.

Mono Develop is an IDE and needs to be installed separately.

http://www.monodevelop.com/

gulp is a tool used to compile the UI, not a language, you can use almost any text editor to edit the js/css/html files that the UI uses and use gulp to compile them.

More information is available in the Contributing guide.

Hi Nathan,

Thanks for offering to help, I think the first thing we need to clear is whether you want to contribute in Javascript part of sonarr (the UI) or the C# API/Backend?

The UI

@markus101 I saw the contribute docs in the github. However it is a little short from a full explanation. I will download mono develop, I didn’t realize that was an ide. I thought it was executing mono on the Github develop branch.

edit
@mark101 sorry I just clicked on the contrib. link, I actually had not read that. I had only read the readme on the github page. That short snippet looked very similar at first glance.

If you only want to work on the UI side, you don’t need mono develop, just mono like you do when running sonarr,

here is what you need to run,

# clone the repo,
npm install
gulp getSonarr   #downloads the binaries so you don't need to compile the server 
gulp startSonarr #start the downloaded binaries in devmode

from another terminal `gulp watch` #start monitoring for js/cs changes

what port does it run on? or how do I view it. seems to be running fine in my terminal. Sorry you guys are having to hold my hand through this and also sorry if I came off rude. I didn’t mean to be. I never tried the gulp startsonnar command mark suggested earlier in the thread.

no worries,

gulp startSonarr will start the app on port 8989 (so make sure that port is free)
gulp watch will just watch the UI folder and compiles them into _output folder where gulp startSonarr will use to server the UI.

I am getting not found when I go the page. Any ideas on what i might have screwed up?

{ "message": "NotFound" }

ok randomly started working after running it 2 or 3 times. I guess it was still downloading or something? Thanks for putting up with my dumb questions.

{
"message": "NotFound"
}

is returned if the UI code isn’t generated successfully, it generally fixes it self if you run gulp watch

Hi @kayone, I’ve been using Sonarr for a couple of weeks and would love to contribute the backend part of the project. I’m also having a few difficulties understanding how where should I start. Would you be so kind as point to me in the right direction as to which tools I need and how to compile it to test my changes?

Best regards and thanks in advance

Have you looked at: https://github.com/Sonarr/Sonarr/blob/develop/CONTRIBUTING.md ?

There is quite a long list of issues to work on, some easier than others, if you have something else in mind let us know.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.