OCA / l10n-brazil

Localização brasileira oficial do Odoo.
https://odoo-community.org/psc-teams/brazil-66
GNU Affero General Public License v3.0
237 stars 243 forks source link

[RFC] pre-commit no repo para facilitar migração e manutenção, ajuda bem vinda! #1445

Closed rvalyi closed 1 year ago

rvalyi commented 3 years ago

Ola pessoal, como expliquei nesse PR https://github.com/OCA/l10n-brazil/pull/1433 nas v13 e principalmente 14, o codigo da localização vai ter que passar pelo crivo dos testes e formatação do pre-commit da OCA https://odoo-community.org/blog/the-oca-blog-1/post/black-isort-pre-commit-97 Isso é muito legal porque detecta alguns bugs e padroniza o código de forma mais legível.

Mas o principal motivo disso é de facilitar a manutenção dos módulos, os front e back-ports dos módulos entre as series do Odoo, pois elimina os diffs ligados a formatação e permite assim de aplicar o cherry-pick da maioria dos commits de manutenção entre varias branches. Basicamente vc sempre vai poder abir um modulo no meld e analisar qual é a diferença entre a v12 e a v14. Se deixar o pre-commit apenas de um lado, vc nunca poderia fazer isso...

Entendemos que por varios moitivos demorou para finalizar os refatores da migraçao para a v12. Podemos citar: problema pessoal meu, 2 forks agressivos que destruiram bastante a comunidade, refator muito ambicioso com a extraçao do modulo fiscal para lidar com todos documentos fiscais e novo framework de databinding XML para nao ter que gastar aquela energia absurda em mapeamentos XML idiotas.

Nisso, as branches 12.0 ainda vao receber certas evoluições, uma certa manutenção. Por isso a gente sugeriu de aplicar o pre-commit na v12 ja e ficamos feliz de ver que o outro PSC @mileo aderiu a ideia e que o @marcelsavegnago tb. Sem isso, se continuar aquelas branches 14 de 6 meses atras, podem certeza que ia ter mudanças absurdas entre as branches 12 e 14 e a empresa que ia migrar da v12 para a v14 ia depois ter monte de regressoes e um custo absurdo para migrar. Temos experiencia de usar essa estrategia com Shopinvader e vemos que a Acsone usa com sucecsso com OCA/mis-builder tb: funciona!

Bem esses dias eu gastei um bom tempo para que o pre-commit passa na maioria do codigo e para eliminar o diff eliminavel entre a v12 e a v14 ja na v12 (vale tb para a v13).

Podemos citar em especial esses PRs e PRs referenciados:

  1. https://github.com/OCA/l10n-brazil/pull/1433
  2. https://github.com/OCA/l10n-brazil/pull/1399
  3. os numerosos PRs de lint das ultimas 3 semanas.

Mas mesmo se eu convertei a grande maioria do código, falta ainda fazer o trabalho num 15 módulos menores. Qualquer ajuda é bem vinda. Na Akretion a gente nunca adere a demagogia de dizer que iniciante vai poder arrumar PR de motor fiscal on contábil. mas esse tipo de coisa de arrumar os pre-commit é coisa bem razoável para iniciante ganhar pontos no projeto...

Aqui tem a lista dos modulos que faltam (tem varios PR em cursos desde ontem): https://github.com/OCA/l10n-brazil/blob/12.0/.pre-commit-config.yaml#L5

cc @renatonlima @mbcosta @clementmbr @marcelsavegnago @mileo @gabrielcardoso21 @luismalta

github-actions[bot] commented 1 year ago

There hasn't been any activity on this issue in the past 6 months, so it has been marked as stale and it will be closed automatically if no further activity occurs in the next 30 days. If you want this issue to never become stale, please ask a PSC member to apply the "no stale" label.

rvalyi commented 1 year ago

foi tudo feito.