Gaia Coding ändern

Jetzt, wo Gaia auf Deinem Desktop läuft und Du zu einem gewissen Grad die Arbeitweise der Codebase verstehst, solltest Du in der Lage sein Änderungen am Gaia Code durchzuführen. Dieser Artikel beschreibt, wie Änderungen durchgeführt werden und wie man Fehler findet um sie zu beheben.

Git Best Practices

  1. Vor dem Ändern von Gaia solltest Du zuerst den master Zweig (branch) aktualisieren:
    cd path/to/gaia
    git checkout master
    git pull upstream master
  2. Als nächstes  brauchst Du einen eigenen Zweig für Deine Änderungen:
    git checkout -b my-code-fix
  3. Anschließend gehst Du ins Verzeichnis gaia/apps und führst Deine Änderungen an den App-Dateien durch.

Beispiel einer einfachen Code-Änderung

Um Code-Änderungen anzuzeigen:

  1. Führe die gewünschten  Änderungen an der Gaia Codebase durch und speichere die Änderungen.
  2. Beende Firefox Mulet oder den WebIDE Simulator.
  3. Erneuere Dein Gaia Profil mit make.
  4. Starte Firefox Mulet oder den WebIDE Simulator erneut.

Lass uns etwas Einfaches ändern wie die Textfarbe der Uhr auf dem Sperrbildschirm:

Gaia lockscreen showing the clock display in white text

  1. Der beste Weg um herauszufinden wo dieser Stil geändert wird ist über die Entwickler-Werkzeuge. Verwende hier Strg/rechte Maustaste + Klick auf die Uhr im Firefox Desktop und wähle im Kontext-Menü Element untersuchen.
  2. Nun kannst Du die zu ändernde CSS Datei suchen — in diesem Fall  gaia/apps/system/lockscreen/style/lockscreen.css — und die Änderungen an den CSS Styles auf der rechten Seite des Displays nach Deinen Vorstellungen vornehmen.
  3. Wenn Du mit Deinen Änderungen zufrieden bist, dann öffne die Datei und mache dort Deine Änderungen direkt.
  4. Als nächstes führst Du die oben aufgeführten Schritte durch, um Dir Deine Änderungen anzusehen.

Gaia lockscreen showing the clock display modified from white to red text


Einschränkungen im Gaia Firefox Mulet Rendering:

  • Im Desktop Firefox Rendering werden die Apps im Vergleich zur Smartphone-Version so originalgtreu wie möglich simuliert, aber an einigen Stellen wirst Du ein paar Unterschiede feststellen.
  • Nicht alle Geräte-APIs werden im Desktop Firefox unterstützt; eine Liste der unterstützten APIs findest Du auf preferences.js.

Wo man zu bearbeitende Fehler findet

Am besten nutzt Du Josh Matthews' Bugs Ahoy app um Fehler zu finden, die Du bearbeiten kannst — diese Seite liest die vorhandenen Bugs direkt aus Mozilla's Bugzilla und stellt sie im Browser inklusive Suchfunktion dar. Wenn Du einen Fehler gefunden hast den Du bearbeiten willst, dann gehe zu dessen Bugzilla-Seite, trage Dich als Bearbeiter im Feld "assigned to" ein und beginne mit der Arbeit wie oben beschrieben.

Nützliche Tipps

  • Wenn Du an Bugs arbeitest die einem Mentor zugewiesen sind wird jemand aus dem Gaia Core Team diesen Vorgang beobachten und Dir mit Rat und Tat zur Seite stehen. Falls Du ein neuer Mitwirkender im Firefox OS Verbesserungs-Prozess bist, dann kann das Bearbeiten von solchen Fehlern sehr hilfreich sein. Einem Mentor zugewiesene Bugs haben in den Firefox OS Bugzilla-Seiten einen Eintrag im Feld "Mentors". Bugs Ahoy listet solche Bugs ebenfallls auf.
  • Wenn Du ein komplett neuer Bugzilla-Anwender bist, dann wirst Du Dich vielleicht nicht selbst einem Bug als Bearbeiter zuordnen können. Falls Du damit Probleme haben solltest, wende Dich an den im Bug angegebenen Mentor (falls vorhanden) oder schildere Dein Problem im Kommentar-Feld.
  • Wenn Du ein bischen mehr Erfahrung hast, dann kannst Du jemanden nach den entsprechenden Berechtigungen fragen, um Dir selbst Bugs zuzuweisen.
  • Eine andere gute Möglichkeit zum Finden offener Bugs ist [good first bug], speziell wenn Du als Neu-Einsteiger mit etwas Einfacherem anfangen möchtest. Diese speziell für Neu-Einsteiger gefilterte Liste findest Du auf http://www.joshmatthews.net/bugsahoy/?b2g=1&simple=1.
  • Du solltest Deine Suche nach für Dich geeigneten Projekten speichern. Beispiel für eine Bug-Suche für die Gaia App "Uhr" :

https://bugzilla.mozilla.org/buglist.cgi?columnlist=product%2Ccf_blocking_b2g%2Cbug_status%2Cresolution%2Cshort_desc&resolution=---&query_based_on=CLOCK&query_format=advanced&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&component=Gaia%3A%3AClock&product=Boot2Gecko&known_name=CLOCK&list_id=9776392

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

 Mitwirkende an dieser Seite: chrisdavidmills, 1000eyes
 Zuletzt aktualisiert von: chrisdavidmills,