Modificare il codice di Gaia

Ora che sai come eseguire Gaia all'interno di Firefox desktop e hai un certo livello di comprensione della struttura del codice, dovresti essere pronto per iniziare a contribuire al progetto. In questo articolo viene descritto come apportare modifiche e dove trovare i bug su cui lavorare.

Come utilizzare Git

  1. Quando apporti modifiche a Gaia, dovresti sempre prendere l'ultima versione dalla master:
    cd path/to/gaia
    git checkout master
    git pull upstream master
  2. Successivamente, fai checkout su un nuovo branch:
    git checkout -b my-code-fix
  3. Infine, vai  al direttorio gaia/apps e applica lì le modifiche.

Esempio di modifica semplice al codice

Per apportare le modifiche al codice:

  1. Fai le modifiche al codice di Gaia come richiesto e salva.
  2. Arresta Firefox Mulet o il simulatore in WebIDE.
  3. Ricostruisci il tuo profilo di Gaia utilizzando make.
  4. Riavvia Firefox Mulet o il simulatore in WebIDE.

Facciamo qualcosa di semplice, come cambiare il colore del testo dell'orologio sulla schermata di blocco:

Gaia lockscreen showing the clock display in white text

  1. Il modo migliore per scoprire come è impostato questo stile è quello di utilizzare gli strumenti di sviluppo. Premi il taso destro del mouse (oppure tasto Ctrl + clic su Mac OS X) sull'orologio in Firefox desktop e seleziona Inspect Element dal menu contestuale.
  2. Puoi scoprire facilmente quale foglio CSS da modificare — gaia/apps/system/lockscreen/style/lockscreen.css  in questo caso — ed effettuare le modifiche che vuoi direttamente sul foglio di stile nel box di destra dello schermo.
  3. Quando sei soddisfatto con le modifiche, vai e apporta le modifiche direttamente nel file.
  4. Quindi, segui le indicazioni fornite all'inizio di questa sezione per visualizzare le tue modifiche.

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


Limiti di rendering della modalità di esecuzione di Gaia in Firefox desktop: 

  • Sebbene il rendering delle app in Firefox Desktop sia abbastanza accurato se paragonato ad un dispositivo reale, potrai comunque notare alcune differenze qua e là.
  • Non tutte le API di dispositivo sono supportate in Firefox desktop; trovi quelle abilitate nel file  preferences.js.

Dove puoi trovare i bug su cui lavorare

Il modo migliore per trovare bug di Firefox OS su cui lavorare è quello di consultare l'applicazione di Josh Matthews Bugs Ahoy — che raccoglie i bug direttamente dal Bugzilla di Mozilla e li rappresenta in una forma che semplifica la  ricerca e consultazione. Una volta che hai identificato il bug su cui lavorare vai alla pagina di Bugzilla, assegnati il bug utilizzando il campo "assigned to" e inizia a lavorarlo, come indicato sotto.

Suggerimenti utili

  • Se stai lavorando sui mentored bug, qualcuno del core team di Gaia controllerà i tuoi progressi e ti fornirà aiuto su codice e processo. Se sei agli inizi, lavorare su qualcuno di questi ti potrà essere d'aiuto. Questi bug sono contraddistinti da una nota nel campo "Mentors" nelle pagine di Firefox OS di Bugzilla. Buys Ahoy elenca questi bug.
  • Inoltre, se sei un nuovo utente di Bugzilla, potresti non essere in grado di assegnarti un bug in lavorazione. Nel caso, dopo aver identificato un bug da lavorare, chiedi al mentore se ne è stato assegnato uno, altrimenti chiedi scrivendo direttamente nei commenti.
  • Dopo aver acquisito un po' di esperienza, dovresti chiedere di assegnarti i permessi per poterti assegnare direttamente i bug.
  • Se sei un nuovo collaboratore e vuoi iniziare con qualcosa di semplice. potresti  selezionare l'opzione "simple bugs" dell'applicazione Bugs Ahoy. Puoi accedere direttamente tramite il link http://www.joshmatthews.net/bugsahoy/?b2g=1&simple=1.
  • Dovresti salvare le ricerche per i progetti a cui vuoi contribuire. Per esempio la seguente URL ti fornisce l'elenco dei bug aperti sull'app Clock (orologio) di Gaia:

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

Vedi inoltre

Tag del documento e collaboratori

 Hanno collaborato alla realizzazione di questa pagina: chrisdavidmills, sgalbia
 Ultima modifica di: chrisdavidmills,