Contributors mailing list archives

contributors@odoo-community.org

Browse archives

Avatar

Re: New library to migrate Odoo module code "odoo-migrate"

by
Groupement Régional Alimentaire de Proximité, Sylvain LE GAL
- 14/10/2019 18:59:20
Hi all,

First thanks all for your enthusiasm !

About the name, OK to rename it. I'm not sure that if you want to rename the lib, or the command. For exemple, for git aggregator feature. The lib is named git-aggregator, and the command is gitaggregate. Can we continue the discussion here ?

About the repository, if I understand correctly, it should be great to be under OCA umbrella, and in a stand-alone repository as proposed by Pedro and Stephane bidoul. Let's go renaming first, and moving owner of the lib after.

The last week-end, I worked to integrate tests. Now, it includes tests that checks that initial V8 module are correctly migrated in V13. So I guess that it allows people to contribute avoiding regression.
I also added tools to log (warning, error) if the migrated module depends on obsolete module based on the OpenUpgrade documentation.

About the evolution, david Arnold, I did not feel the need to use pybowler for the time being, but feel free to make a Pull request using pybowler, if you want.

Kind regards.
Sylvain LE GAL - Twitter
GRAP - Service informatique (Groupement Régional Alimentaire de Proximité)
Site Web | FramaSphere | Facebook
3 Grande rue des Feuillants, 69001 Lyon
Bureau : (+33) 09.72.32.33.17 - Astreinte : (+33) 06.81.85.61.43
Member of the OCA (Odoo Community Association)


Le lun. 14 oct. 2019 à 17:37, David Arnold <dar@xoe.solutions> a écrit :
PS: As long as the tool strictly works on the workdir and does not attempt to interfere with database migration, the scope is clear, and the need is there :)

On Mon, Oct 14, 2019 at 10:25 AM David Arnold <dar@xoe.solutions> wrote:
Hi Silvain,

there was coming something to my mind, I'd like to share.
Some time ago, I worked with pybowler, which is a code transformar on the python grammar level.
Like regex without the "regular" in it.

It is super convenient to write certain transform scripts, And I'd suggest to use it for your library, as it is very easy to extend and very powerful.
It would also be easy to make contributions and once community grows familiar with python grammar expressions, then it might unleash unprecedented productivity for OCA maintenance tasks and beyond.


Based on facebook's excellent pybowler library.

Best Regards,

David A.

On Fri, Oct 11, 2019 at 5:39 PM David Arnold <dar@xoe.solutions> wrote:
+1 stephane comment about standalone
+1 about resist feature creep

Hasn't there been some proposal going around to have OCA-libs as a Github orga for those standalone projects to be hosted / promoted?

There is python-xmlsig and python-xades from Eric and many others too.

El vie., 11 oct. 2019, 9:16 a.m., Simone Orsi <simahawk@gmail.com> escribió:
Nice! Thanks Sylvain.

+1 for standalone project as well :)

On Fri, Oct 11, 2019 at 2:57 PM Stéphane Bidoul <stephane.bidoul@acsone.eu> wrote:
+1 to keep it a standalone project. I'd rather see the good parts of OCA/maintainer-tools become standalone projects too.

Regarding growing features, be strong Sylvain, resist scope creep :) Do one thing and do it well!

-sbi


On Fri, Oct 11, 2019 at 2:47 PM David Arnold <dar@xoe.solutions> wrote:
Re: Do you plan to grow features or is it limited to make those repetitive tasks more scriptable?

On Fri, Oct 11, 2019 at 3:12 AM David Beal <david.beal@akretion.com> wrote:
génial


David BEAL - akretion.com
Chef de projet
Odoo Développement / Intégration


Le jeu. 10 oct. 2019 à 18:12, Sylvain LE GAL <sylvain.legal@grap.coop> a écrit :
Dear OCA Contributors,

I am working on a migration from 8.0 to 12.0.
For that purpose, I had to migrate a lot a modules. (about 50 OCA modules, and >100 custom modules)
A lot of changes are very recurrent, and automatable. (removing python2 header, renaming __openerp__.py into __manifest__.py, changing import).

I began to make some scripts, and finally began to create a new python3 library, to make that work. The name is "odoo-migrate" and the description is available here https://pypi.org/project/odoo-migrate/. and can be installed with the command
pip3 install odoo-migrate

Once installed, you can run the following command (other options are available)
odoo-migrate -m my_module_name -i 8.0 -t 12.0

It is based on the OCA recommendations available on this wiki.
In addition to performing recurring operations,
- the library also execute the weird format-patch command which I never remember (if asked).
- it displays some warning if some patterns are found. (for example, if "ir.values" is found in a module 11+)
- it calls black for recent version
- it realize commits

1) If you're interested by such tool, you can review or test this project.

2) If you want to contribute, feel free, especially if you love regular expressions. It is still WIP, and there is a lot of work to do, like making change in xml file. (replacing openerp + data by odoo tag). Also adding test and plug with travis could be great.

3) if some OCA members are OK, I can transfer this project under OCA umbrella.

thank you for your feedback.

kind regards.


Sylvain LE GAL - Twitter
GRAP - Service informatique (Groupement Régional Alimentaire de Proximité)
Site Web | FramaSphere | Facebook
3 Grande rue des Feuillants, 69001 Lyon
Bureau : (+33) 09.72.32.33.17 - Astreinte : (+33) 06.81.85.61.43
Member of the OCA (Odoo Community Association)

_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe

_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe

_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe

_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe

_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe

_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe

Reference