7
7
GEN_ADDON_ICON_EXTRA_ARGS ,
8
8
GEN_ADDON_README_EXTRA_ARGS ,
9
9
GEN_ADDONS_TABLE_EXTRA_ARGS ,
10
+ GEN_PYPROJECT_MIN_VERSION ,
10
11
dist_publisher ,
11
12
switchable ,
12
13
)
13
- from ..github import git_push_if_needed , temporary_clone
14
+ from ..github import git_commit_if_needed , git_push_if_needed , temporary_clone
14
15
from ..manifest import get_odoo_series_from_branch
15
16
from ..process import check_call
16
17
from ..queue import getLogger , task
17
- from ..version_branch import is_main_branch_bot_branch
18
+ from ..version_branch import is_main_branch_bot_branch , is_supported_main_branch
18
19
19
20
_logger = getLogger (__name__ )
20
21
@@ -73,6 +74,32 @@ def _setuptools_odoo_make_default(org, repo, branch, cwd):
73
74
)
74
75
75
76
77
+ @switchable ("whool_init" )
78
+ def _whool_init (org , repo , branch , cwd ):
79
+ _logger .info (
80
+ "generate pyproejct.toml with whool init in %s/%s@%s\n " , org , repo , branch
81
+ )
82
+ whool_init_cmd = ["whool" , "init" ]
83
+ check_call (whool_init_cmd , cwd = cwd )
84
+ git_commit_if_needed ("*/pyproject.toml" , "[BOT] add pyproject.toml" , cwd = cwd )
85
+
86
+
87
+ @switchable ("gen_metapackage" )
88
+ def _gen_metapackage (org , repo , branch , cwd ):
89
+ if not is_supported_main_branch (branch , min_version = "15.0" ):
90
+ # We don't support branches < 15 because I don't want to worry about
91
+ # the package name prefix. From 15.0 on, the package name is always prefixed
92
+ # with "odoo-addons-".
93
+ _logger .warning ("gen_metapackage not supported for branch %s" , branch )
94
+ return
95
+ _logger .info ("oca-gen-metapackage in %s/%s@%s\n " , org , repo , branch )
96
+ gen_metapackage_cmd = ["oca-gen-metapackage" , f"odoo-addons-{ org .lower ()} -{ repo } " ]
97
+ check_call (gen_metapackage_cmd , cwd = cwd )
98
+ git_commit_if_needed (
99
+ "setup/_metapackage" , "[BOT] add or update setup/_metapackage" , cwd = cwd
100
+ )
101
+
102
+
76
103
def main_branch_bot_actions (org , repo , branch , cwd ):
77
104
"""
78
105
Run main branch bot actions on a local git checkout.
@@ -86,8 +113,13 @@ def main_branch_bot_actions(org, repo, branch, cwd):
86
113
_gen_addons_readme (org , repo , branch , cwd )
87
114
# generate icon
88
115
_gen_addons_icon (org , repo , branch , cwd )
89
- # generate/clean default setup.py
90
- _setuptools_odoo_make_default (org , repo , branch , cwd )
116
+ if is_supported_main_branch (branch , min_version = GEN_PYPROJECT_MIN_VERSION ):
117
+ # generate pyproject.toml for addons and metapackage
118
+ _whool_init (org , repo , branch , cwd )
119
+ _gen_metapackage (org , repo , branch , cwd )
120
+ else :
121
+ # generate/clean default setup.py and metapackage
122
+ _setuptools_odoo_make_default (org , repo , branch , cwd )
91
123
92
124
93
125
@task ()
0 commit comments