Wer gerne beim Open-Source-Projekt Lidarr mitmachen möchte, der wird sicher schon die offizielle Wiki-Seite und den Abschnitt “Lidarr Contributing” gefunden haben. Leider ist deren Anleitung nur sehr oberflächlich und lässt entscheidende Punkt aus.
Hier folgt eine ausführlichere Variante, in der die wirklich wichtigen Schritte erklärt werden.
Wichtig ist die grundsätzliche Unterscheidung ob man beim sogenannten Backend mit entwickeln will oder beim Frontend (oder bei beiden).
Das Backend ist in C#
programmiert und enthält die ganze Logik die “hinten rum” abläuft.
Das Frontend ist all das, was man im Browser sieht und bedient, also z.B. die Farben, Formen, Buttons, Eingabefelder. Das Frontend ist in HTML
und Javascript
programmiert.
Fangen wir mit dem einfacheren Teil, der Backend-Entwicklung an.
Was braucht man um im Lidarr-Backend Veränderungen vorzunehmen?
Um den C#
-Code bearbeiten und ausführbar kompilieren zu können, braucht man eine Entwicklungsumgebung (eine sogenannte IDE). Ein bekanntes Beispiel dafür ist das «Microsoft Visual Studio». Das bekommt man in der Community-Edition kostenlos direkt beim Hersteller: https://visualstudio.microsoft.com/de/downloads/
Nach der Grundinstallation wählt man im «Visual Studio Installer» einen sogenannten “Workload”. Das ist eine vorgewählte Sammlung von Tools, Einstellungen und Abhängigkeiten. Für die Entwicklung von Lidarr wählen wir hier “.NET-Desktopentwicklung”:
Ausserhalb des Visual Studios lädt man sich von Github im Projekt Lidarr den kompletten Source-Code von Lidarr herunter.
(Wer jetzt einwendet, dass man das doch direkt und integriert aus dem Visual Studio heraus machen kann: Mit diesem Wissen wird man kaum diese Anleitung lesen…)
Dazu klickt man auf den sogenannten Branch “develop” (oder ändert den Eintrag auf die “Verzweigung” mit diesem Namen), dann auf den grünen Button “Code” und daraus zuunterst auf “Download ZIP”:
Dieses heruntergeladene ZIP-File (rund 41 MB) entpackt man, z.B. direkt in das Standard-Code-Verzeichnis für Visual C# unter %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual C#
. Das entpackte ZIP-Archiv sollte ungefähr so aussehen:
Hinweis zum automatisch erstellten Verzeichnisnamen Visual C#
Das Sonderzeichen # im Verzeichnisnamen “\Visual C#” führt bei der späteren Verwendung von Yarn
zu Fehlermeldungen. Deshalb empfehle ich den Standard-Verzeichnisnamen den Visual Studio anlegt manuell auf z.B. “\Visual CS
” (für C–Sharp) abzuändern.
Dann klickt man in diesem lokalen Source-Code-Verzeichnis auf das Unterverzeichnis \src
und darin auf Lidarr.sln
. Das lädt einem sämtliche benötigten Backend-Teile ins Visual Studio. Um nun z.B. die Windows-Variante kompilieren zu können – ohne auch nur die geringste Änderung am Code vorgenommen zu haben – wechselt man im gestarteten “Visual Studio 2022” die Projektmappen-Plattform von «Posix» auf «Windows» und das Startprojekt von «Lidarr.API.v1» auf «Lidarr». Beim allerersten Laden der 25 Teilprojekte, dauert das vollautomatische nachladen von fehlenden NuGet-Paketen mehrere Minuten. Bitte warten bis unten in der Taskleiste keine solchen Einträge mehr durchlaufen:
Bei einer komplett neuen Visual Studio–Installation wird das .NET 6.0-Zielframework fehlen:
Deshalb auf das blaue Wort “Installieren” klicken und den Abschluss der Installation abwarten. Meistens muss man dazu das Visual Studio selber schliessen, damit der separat gestartete «Visual Studio Installer» das Zielframework herunterladen und konfigurieren kann:
Nach Abschluss der Zielframework-Installation kann man nun das neu ins Visual Studio geladene Projekt Lidarr.sln
wie gewohnt über den grossen grünen Debug-Button (=F5) starten.
Nach etwa einer halben Minuten Kompilierungszeit landet man aber leider frustriert auf dem Boden der Realität: Es geht zwar ein Browser auf, aber darin sieht man nur eine lapidare 404-Fehlermeldung:
Das Backend versucht hier nämlich das sichtbare Frontend im lokalen Browser aufzurufen. Dieses Frontend wurde aber noch gar nicht bereitgestellt.
Das erledigen wir im aufwändigeren zweiten Teil dieser Anleitung.