Contributors mailing list archives

Browse archives


Re: 14.0 branches

Tecnativa. S. L., Jairo Llopis
- 13/10/2020 11:09:50
Hi all!

There's one thing that's true, Stéphane, and it's that you asked nobody... I'm sad but you have to admit that. 🤷‍ Actually in the template, the default value was "OCA", so this was a total surprise. I don't agree with the flamewar itself, but I guess you should have expected it...

Anyways, I see that not having to deal manually with requirements.txt and oca_dependencies.txt is good! Also that will make new contributors lifes' easier (no, I don't have statistics if you ask for them 😝, but surely if pushing a module code makes travis go green instead of red, that's a good definition of "easier").

There are plenty of deployment styles here at OCA (we use doodba, you know... so this doesn't affect us), so in general terms, OCA should care more about OCA itself and their contributors.

There's some weird stuff around the thread saying that you can't pin installs with pip, which I don't really understand because you totally can... Also I don't see what's worse on that (if true) than unpinned .txt files elsewhere... Well, nevermind.

For those of you that don't like requirements.txt syntax (I don't also), check out Poetry. It's a total pleasure. I'm not saying I'll use pip to deploy odoo, it's just a tip for those of you considering doing that. 😊

Now, I do have some questions / suggestions:
  1. What happens when the module name differs from the package name? Or when several packages provide modules with the same name? How do we specify that in the manifest? AFAIK, until today only the module name is used there...
  2. Do we need to create the setup folder on all PRs? Or does the bot do it?
  3. If pip dependencies can be expressed through git, have you considered dropping the wheelhouse and using always git as dep system (with pip)? If the wheelhouse is meant to be used as a playground before real packages are pushed to pypi, have you considered using These might be dumb questions, but if it speeds up OCA workflow and removes the maintenance burden, it can be good.
  4. If the problem is that people needs a way to know what are a given module's dependencies, and where can they be found, would it be possible to have a script that parses a manifest and provides such info? Or could we include that info in the README automatically built by the bot, or in the module page at, or could provide an API to get that info in JSON? Probably all these solutions would be better that a random text file.
  5. Where can we find docs about all of this? If none, then may you add them please?
Finally a word for PSCs that want to disable this behavior in some specific repos: instead of directly writting to .travis.yml, please use copier instead: copier update -fd dependency_installation_mode=OCA
There are some reasons behind this, but I think that's another subject. Just take it as a rule of thumb to ease template updates.