-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
[MIG] module_analysis: Migration to 18.0 #3184
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
absal-smile
wants to merge
51
commits into
OCA:18.0
Choose a base branch
from
absal-smile:18.0-mig-module_analysis
base: 18.0
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
51 commits
Select commit
Hold shift + click to select a range
78a38d2
[ADD] new module module_analysis
legalsylvain 5fa074d
Added translation using Weblate (Chinese (Simplified))
liweijie0812 f23a82b
Translated using Weblate (Chinese (Simplified))
liweijie0812 5e05176
[IMP] module_analysis: black, isort, prettier
santostelmo 10b05c0
[MIG] module_analysis: Migration to 13.0
santostelmo 15dda63
Fix pre-commit warnings
santostelmo a58e7ec
fixup! Fix pre-commit warnings
santostelmo 9956b56
Skip _test modules from test_installed_modules
santostelmo fcceb99
Remove anonymous variable _
santostelmo a1bf9ad
fixup! [MIG] module_analysis: Migration to 13.0
santostelmo 06ecacb
[Fix] author_txt_list assign
santostelmo 85afb8b
Fix _get_files_to_analyse
santostelmo 619a336
Added translation using Weblate (Italian)
alessandro-fiorino dfe2a1f
Translated using Weblate (Italian)
alessandro-fiorino dcfd60d
[FIX] module_analysis: correct syntax
royle-vietnam 69782f4
[MIG] module_analysis: Migration to 15.0
85be102
[FIX+IMP] module_analysis : remove analysis when updating modules, be…
legalsylvain 904f18a
[UPD] Update module_analysis.pot
665b570
[UPD] README.rst
OCA-git-bot dbf5e10
Translated using Weblate (Italian)
francesco-ooops 79dc54d
[16.0][MIG] module_analysis : migrate to 16
florian-dacosta 5d78126
[IMP] Remove automatic analyse at installation and update
florian-dacosta 7a4a2f6
[IMP] Add SCSS SLOC measure
kevinkhao e26cd08
[FIX] fix usage of cron data, deactivate it by default
kevinkhao 2c373b0
[REF] module_analysis: add legalsylvain as maintainers
legalsylvain 4f36e08
[FIX] test: proper analysis before testing
74bbad3
[FIX] Playing test after install must not be mandatory anymore becaus…
florian-dacosta 112829f
module_analysis : Update readme
florian-dacosta 950f4b4
[IMP] module_analysis : allow to pass a custom domain to the analysis…
florian-dacosta ceb1392
[UPD] Update module_analysis.pot
5715fa5
[UPD] README.rst
OCA-git-bot f982348
Update translation files
weblate 08c95c4
[FIX] module_analysis : tests compatibility with pip install
florian-dacosta ce1ee08
module_analysis 16.0.1.0.1
OCA-git-bot 88eb049
Translated using Weblate (Italian)
mymage 4272a4e
[UPD] Update module_analysis.pot
c202292
Update translation files
weblate f5e277c
Translated using Weblate (Italian)
mymage ba270d8
Added translation using Weblate (Spanish)
Ivorra78 1c48aab
Translated using Weblate (Spanish)
Ivorra78 7a8030e
[UPD] README.rst
OCA-git-bot a987e64
Translated using Weblate (Italian)
mymage 1a1c69a
Translated using Weblate (Italian)
mymage 251cf71
Translated using Weblate (Italian)
mymage 1bbcd55
Translated using Weblate (Italian)
mymage 8aeadb5
Translated using Weblate (Italian)
mymage 6c11c02
[MIG] module_analysis: Migration to 17.0
8eae0f8
[UPD] Update module_analysis.pot
9cac561
[17.0][FIX] module_analysis: interpret exclude_directories as relativ…
fcayre b52fc86
[IMP] module_analysis: pre-commit auto fixes
absal-smile 8c6705a
[MIG] module_analysis: Migration to 18.0
absal-smile File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,202 @@ | ||
| =============== | ||
| Module Analysis | ||
| =============== | ||
|
|
||
| .. | ||
| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
| !! This file is generated by oca-gen-addon-readme !! | ||
| !! changes will be overwritten. !! | ||
| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
| !! source digest: sha256:d00d83d918ced79270057ca2a185260375834ac2e4526c7c5cb0fa745158aca6 | ||
| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
|
|
||
| .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png | ||
| :target: https://odoo-community.org/page/development-status | ||
| :alt: Beta | ||
| .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png | ||
| :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html | ||
| :alt: License: AGPL-3 | ||
| .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github | ||
| :target: https://github.com/OCA/server-tools/tree/18.0/module_analysis | ||
| :alt: OCA/server-tools | ||
| .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png | ||
| :target: https://translation.odoo-community.org/projects/server-tools-18-0/server-tools-18-0-module_analysis | ||
| :alt: Translate me on Weblate | ||
| .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png | ||
| :target: https://runboat.odoo-community.org/builds?repo=OCA/server-tools&target_branch=18.0 | ||
| :alt: Try me on Runboat | ||
|
|
||
| |badge1| |badge2| |badge3| |badge4| |badge5| | ||
|
|
||
| This module allows you to know 'how much code' is running on your Odoo | ||
| instance, group by 'Type' (Odoo Core, OCA, other...) | ||
|
|
||
| This module can be usefull in the following cases : | ||
|
|
||
| - To analyse the size of your technical debt, regarding your Custom | ||
| modules | ||
| - To know the ratio between Odoo / OCA and Custom modules | ||
| - To evaluate the amount to pay to odoo to upgrade your custom code, or | ||
| the induced workload | ||
|
|
||
| .. image:: https://raw.githubusercontent.com/OCA/server-tools/18.0/module_analysis/static/description/installed_modules_by_types.png | ||
| :alt: image | ||
|
|
||
| For that purpose, it adds new concepts | ||
|
|
||
| - ``ir.module.author``, based on the value ``author`` present in the | ||
| manifest file. | ||
|
|
||
| .. image:: https://raw.githubusercontent.com/OCA/server-tools/18.0/module_analysis/static/description/module_authors.png | ||
| :alt: image | ||
|
|
||
| - ``ir.module.type``, populated by default with Odoo and OCA values. | ||
|
|
||
| .. image:: https://raw.githubusercontent.com/OCA/server-tools/18.0/module_analysis/static/description/module_types.png | ||
| :alt: image | ||
|
|
||
| Each installed modules have extra data in the 'Technical Data' tab : | ||
|
|
||
| .. image:: https://raw.githubusercontent.com/OCA/server-tools/18.0/module_analysis/static/description/module_form.png | ||
| :alt: image | ||
|
|
||
| **Table of contents** | ||
|
|
||
| .. contents:: | ||
| :local: | ||
|
|
||
| Installation | ||
| ============ | ||
|
|
||
| To use this module, you have to install the ``pygount`` python librairy. | ||
|
|
||
| ``pip install pygount`` | ||
|
|
||
| Configuration | ||
| ============= | ||
|
|
||
| - Go to Apps / Module Analysis / Modules Types Rules | ||
|
|
||
| The Module types Rules are usefull to get the Type of a module, based on | ||
| it information. | ||
|
|
||
| This module comes with default rules. | ||
|
|
||
| .. image:: https://raw.githubusercontent.com/OCA/server-tools/18.0/module_analysis/static/description/default_module_type_rules.png | ||
| :alt: image | ||
|
|
||
| You can add your custom rules to identify the modules your team have | ||
| developped for exemple, | ||
|
|
||
| .. image:: https://raw.githubusercontent.com/OCA/server-tools/18.0/module_analysis/static/description/add_module_type_rules.png | ||
| :alt: image | ||
|
|
||
| to update the data manually, you have to : | ||
|
|
||
| - Go to 'Settings' / 'Technical' / 'Scheduled Actions' | ||
| - Run manually the action : 'Update Module Analysis' | ||
|
|
||
| This will update analysis of your installed modules. | ||
|
|
||
| to update the data automatically, you have to : | ||
|
|
||
| - Go to 'Settings' / 'Technical' / 'Scheduled Actions' | ||
| - Configure the action 'Update Module Analysis' and activate it. (By | ||
| default, the cron is unactive and no analysis is done) | ||
|
|
||
| Adding Extra data | ||
| ----------------- | ||
|
|
||
| If you want to analyse other data, (for exemple, having the number of | ||
| HTML files), create a custom modules and overload the module model : | ||
|
|
||
| .. code:: python | ||
|
|
||
| from odoo import api, fields, models | ||
|
|
||
| class IrModuleModule(models.Model): | ||
| _inherit = 'ir.module.module' | ||
|
|
||
| xml_documentation_qty = fields.Integer( | ||
| string='Quantity of Comments in XML Files') | ||
|
|
||
| @api.model | ||
| def _get_analyse_settings(self): | ||
| res = super()._get_analyse_settings() | ||
| if not '.html' in res: | ||
| res['.html'] = {} | ||
| res['.html']['documentation'] 'xml_documentation_qty' | ||
| return res | ||
|
|
||
| Exclude files and directories | ||
| ----------------------------- | ||
|
|
||
| Two parameters are availaible in 'Settings' / 'Technical' / 'Parameters' | ||
| 'System Parameters' : | ||
|
|
||
| .. image:: https://raw.githubusercontent.com/OCA/server-tools/18.0/module_analysis/static/description/config_parameters.png | ||
| :alt: image | ||
|
|
||
| The list of folders and filename will be exclude from the analysis. You | ||
| can change the default settings. | ||
|
|
||
| Usage | ||
| ===== | ||
|
|
||
| - Go to 'Apps' / 'Module Analysis' / 'Installed module by Types' | ||
|
|
||
| Open the stats to analyse the detail of the code installed | ||
|
|
||
| .. image:: https://raw.githubusercontent.com/OCA/server-tools/18.0/module_analysis/static/description/analysis_pivot.png | ||
| :alt: image | ||
|
|
||
| .. image:: https://raw.githubusercontent.com/OCA/server-tools/18.0/module_analysis/static/description/analysis_pie.png | ||
| :alt: image | ||
|
|
||
| Bug Tracker | ||
| =========== | ||
|
|
||
| Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-tools/issues>`_. | ||
| In case of trouble, please check there if your issue has already been reported. | ||
| If you spotted it first, help us to smash it by providing a detailed and welcomed | ||
| `feedback <https://github.com/OCA/server-tools/issues/new?body=module:%20module_analysis%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. | ||
|
|
||
| Do not contact contributors directly about support or help with technical issues. | ||
|
|
||
| Credits | ||
| ======= | ||
|
|
||
| Authors | ||
| ------- | ||
|
|
||
| * GRAP | ||
|
|
||
| Contributors | ||
| ------------ | ||
|
|
||
| - Sylvain LE GAL (https://twitter.com/legalsylvain) | ||
|
|
||
| Maintainers | ||
| ----------- | ||
|
|
||
| This module is maintained by the OCA. | ||
|
|
||
| .. image:: https://odoo-community.org/logo.png | ||
| :alt: Odoo Community Association | ||
| :target: https://odoo-community.org | ||
|
|
||
| OCA, or the Odoo Community Association, is a nonprofit organization whose | ||
| mission is to support the collaborative development of Odoo features and | ||
| promote its widespread use. | ||
|
|
||
| .. |maintainer-legalsylvain| image:: https://github.com/legalsylvain.png?size=40px | ||
| :target: https://github.com/legalsylvain | ||
| :alt: legalsylvain | ||
|
|
||
| Current `maintainer <https://odoo-community.org/page/maintainer-role>`__: | ||
|
|
||
| |maintainer-legalsylvain| | ||
|
|
||
| This module is part of the `OCA/server-tools <https://github.com/OCA/server-tools/tree/18.0/module_analysis>`_ project on GitHub. | ||
|
|
||
| You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| from . import models |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| # Copyright (C) 2019-Today: GRAP (<http://www.grap.coop/>) | ||
| # @author: Sylvain LE GAL (https://twitter.com/legalsylvain) | ||
| # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). | ||
|
|
||
| { | ||
| "name": "Module Analysis", | ||
| "summary": "Add analysis tools regarding installed modules" | ||
| " to know which installed modules comes from Odoo Core, OCA, or are" | ||
| " custom modules", | ||
| "author": "GRAP, Odoo Community Association (OCA)", | ||
| "maintainers": ["legalsylvain"], | ||
| "website": "https://github.com/OCA/server-tools", | ||
| "version": "18.0.1.0.0", | ||
| "license": "AGPL-3", | ||
| "depends": ["base"], | ||
| "data": [ | ||
| "security/ir.model.access.csv", | ||
| "views/menu.xml", | ||
| "views/view_ir_module_author.xml", | ||
| "views/view_ir_module_type.xml", | ||
| "views/view_ir_module_type_rule.xml", | ||
| "views/view_ir_module_module.xml", | ||
| "data/ir_cron.xml", | ||
| "data/ir_config_parameter.xml", | ||
| "data/ir_module_type.xml", | ||
| "data/ir_module_type_rule.xml", | ||
| ], | ||
| "external_dependencies": { | ||
| "python": ["pygount"], | ||
| }, | ||
| "installable": True, | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| <?xml version="1.0" encoding="utf-8" ?> | ||
| <!-- | ||
| Copyright (C) 2019-Today: GRAP (<http://www.grap.coop/>) | ||
| @author: Sylvain LE GAL (https://twitter.com/legalsylvain) | ||
| License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). | ||
| --> | ||
| <odoo noupdate="1"> | ||
| <record id="parameter_exclude_directories" model="ir.config_parameter"> | ||
| <field name="key">module_analysis.exclude_directories</field> | ||
| <field name="value">lib,demo,test,tests,doc,description</field> | ||
| </record> | ||
| <record id="parameter_exclude_files" model="ir.config_parameter"> | ||
| <field name="key">module_analysis.exclude_files</field> | ||
| <field name="value">__openerp__.py,__manifest__.py</field> | ||
| </record> | ||
| </odoo> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| <?xml version="1.0" encoding="utf-8" ?> | ||
| <!-- | ||
| Copyright (C) 2021-Today: GRAP (<http://www.grap.coop/>) | ||
| @author: Sylvain LE GAL (https://twitter.com/legalsylvain) | ||
| License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). | ||
| --> | ||
| <odoo noupdate="1"> | ||
| <record id="cron_module_analysis" model="ir.cron"> | ||
| <field name="name">Update Module Analysis</field> | ||
| <field name="active" eval="False" /> | ||
| <field name="model_id" ref="base.model_ir_module_module" /> | ||
| <field name="state">code</field> | ||
| <field name="code">model.cron_analyse_code()</field> | ||
| <field name="interval_number">1</field> | ||
| <field name="interval_type">days</field> | ||
| <field name="nextcall" eval="(DateTime.today()).strftime('%Y-%m-%d')" /> | ||
| <!-- <field name="numbercall">-1</field> --> | ||
| <field name="user_id" ref="base.user_root" /> | ||
| </record> | ||
| </odoo> | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| <?xml version="1.0" encoding="utf-8" ?> | ||
| <!-- | ||
| Copyright (C) 2019-Today: GRAP (<http://www.grap.coop/>) | ||
| @author: Sylvain LE GAL (https://twitter.com/legalsylvain) | ||
| License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). | ||
| --> | ||
| <odoo> | ||
| <record id="module_type_odoo" model="ir.module.type"> | ||
| <field name="name">Odoo Core</field> | ||
| </record> | ||
| <record id="module_type_oca" model="ir.module.type"> | ||
| <field name="name">OCA</field> | ||
| </record> | ||
| </odoo> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| <?xml version="1.0" encoding="utf-8" ?> | ||
| <!-- | ||
| Copyright (C) 2019-Today: GRAP (<http://www.grap.coop/>) | ||
| @author: Sylvain LE GAL (https://twitter.com/legalsylvain) | ||
| License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). | ||
| --> | ||
| <odoo> | ||
| <!-- Odoo Rules --> | ||
| <record id="module_type_rule_odoo_a" model="ir.module.type.rule"> | ||
| <field name="sequence">1</field> | ||
| <field name="module_domain">[('author_ids', 'ilike', 'Odoo S.A')]</field> | ||
| <field name="module_type_id" ref="module_type_odoo" /> | ||
| </record> | ||
| <record id="module_type_rule_odoo_b" model="ir.module.type.rule"> | ||
| <field name="sequence">2</field> | ||
| <field name="module_domain">[('author_ids', 'ilike', 'OpenERP SA')]</field> | ||
| <field name="module_type_id" ref="module_type_odoo" /> | ||
| </record> | ||
| <record id="module_type_rule_odoo_c" model="ir.module.type.rule"> | ||
| <field name="sequence">3</field> | ||
| <field name="module_domain">[('author_ids', '=', 'Odoo SA')]</field> | ||
| <field name="module_type_id" ref="module_type_odoo" /> | ||
| </record> | ||
| <record id="module_type_rule_odoo_d" model="ir.module.type.rule"> | ||
| <field name="sequence">4</field> | ||
| <field name="module_domain">[('author_ids', '=', 'Odoo')]</field> | ||
| <field name="module_type_id" ref="module_type_odoo" /> | ||
| </record> | ||
| <!-- OCA Rules --> | ||
| <record id="module_type_rule_oca_a" model="ir.module.type.rule"> | ||
| <field name="sequence">100</field> | ||
| <field | ||
| name="module_domain" | ||
| >[('author_ids', '=', 'Odoo Community Association (OCA)')]</field> | ||
| <field name="module_type_id" ref="module_type_oca" /> | ||
| </record> | ||
| </odoo> |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why did you commented this line ?