MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

Fazendo alterações no código do Gaia

Agora que você tem o Gaia rodando no seu Desktop e já entende de alguma forma o funcionamento do codebase, você deve estar pronto para começar a contribuir com o projeto. Esse artigo descreve como fazer alterações e como descobrir bugs e trabalhar para resolvê-los.

Melhores práticas para trabalhar com Git

  1. Quando fizer alterações no Gaia, você deve primeiro baixar a última versão do branch master:
    cd path/to/gaia
    git checkout master
    git pull upstream master
  2. Depois, faça um chekcout de um novo branch para criar suas correções:
    git checkout -b my-code-fix
  3. Finalmente, vá para o seu diretório gaia/apps e faça nesse diretório as alterações nos aplicativos.

Nota: No seu diretório gaia/profile-debug/ você encontrará webapps/, mas lá somente contém os arquivos de manifesto apontando para os aplicativos a serem executados, que na verdade estão armazenados em gaia/apps/.

Exemplo simples de alteração de código

Você pode fazer as alterações desejadas no código, salvá-las e recarregar a tab que está executando o Gaia no seu Firefox Desktop para ver o resultado. Vamos então, fazer algo simples como trocar a cor do texto do relógio na tela bloqueada:

Gaia lockscreen showing the clock display in white text

  1. A melhor forma de descobrir como esse estilo é definido é usando a ferramenta de desenvolvimento. Clique no relógio no Firefox Desktop e ao mesmo tempo pressione a tecla Ctrl da direita e selecione Inspect Element no menu de contexto.
  2. Você pode descobrir qual o arquivo CSS você deve editar — Nesse caso, gaia/apps/system/style/lockscreen.css — e então fazer suas alterações nos estilos no lado direito da tela para ficar da forma que você quiser.
  3. Quando estiver satisfeito com a alteração, altere diretamente o arquivo.
  4. A seguir, recarregue a tab (ou use o botão Reload Application) e o servidor HTTP vai mostrar a alteração instantaneamente:

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


Limitações de renderização do Gaia Desktop:

  • Os aplicativos são bastante precisos em relação a como eles funcionam em um telefone real, mas você pode notar algumas diferenças aqui e ali..
  • Nem todas as APIs específicas de dispositivos são suportadas no Firefox Desktop; você pode encontrar uma lista das que são habilitadas em preferences.js.

Onde encontrar bugs para trabalhar

A melhor maneira de encontrar bugs do Firefox OS é consultando o aplicativo Bugs Ahoy desenvolvido por Josh Matthews — que pega os bugs diretamente do Bugzilla e mostra de uma forma fácil e com forma simples de busca. Uma vez que tenha encontrado um bug no qual queira trabalhar, vá para a página do Bugzilla, faça seu logon, entre com o seu nome em "assigned to" e comece o trabalho como indicado acima.

Dicas úteis

  • Quando você trabalha em bugs com mentor ("mentored bugs"), alguém do time principal do Gaia irá monitorar seu progresso e fornecer ajuda com o código e o processo. Se você é um iniciante no processo de contribuição do Firefox OS, inscrever-se em um desses bugs pode ser útil. Eles são identificados na página do Bugzilla com o campo "Mentors" preenchido. O sistema Bugs Ahoy lista os bugs com mentor.
  • Se você é um usuário novato do Bugzilla, talvez você não consiga atribuir o bug a você próprio. Se esse for o caso, peça a um mentor para atribuir o bug a você ou simplesmente peça para alguém o atribuir no campo de comentários.
  • Depois de adquirir um pouco mais de experiência, você pode pedir a alguém uma permissão no sistema que possibilite você atribuir um bug a si próprio.
  • Se você é novato e quer começar com algo simples, procure no campo whiteboard por [good first bug]. Você pode listar apenas "good first bugs" usando http://www.joshmatthews.net/bugsahoy/?b2g=1&simple=1.
  • Você pode salvar uma pesquisa para projetos que você deseje contribuir. Por exemplo, o link abaixo pesquisa por bugs no aplicativo Clock do 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

Veja também

Etiquetas do documento e colaboradores

 Colaboradores desta página: chrisdavidmills, jwhitlock, mariprudencio, rbrandao
 Última atualização por: chrisdavidmills,