Modify PRESUBMIT to run localization scripts on all files for commit.
After this change PRESUBMIT will have the following behavior:
CheckChangeOnUpload
✓ - modified file with (column) extension will trigger verification
+--------------------------------+-----+---------+-------+-------------------+
| Script name | .js | .grd(p) | .json | any other file(*) |
+--------------------------------+-----+---------+-------+-------------------+
| check_localizable_resources.js | ✓ | ✓ | ✓ | X |
| check_localizability.js | ✓ | ✓ | ✓ | X |
+--------------------------------+-----+---------+-------+-------------------+
CheckChangeOnCommit
✓ - modified file with (column) extension will trigger verification
+--------------------------------+-----+---------+-------+-------------------+
| Script name | .js | .grd(p) | .json | any other file(*) |
+--------------------------------+-----+---------+-------+-------------------+
| check_localizable_resources.js | ✓ | ✓ | ✓ | ✓ |
| check_localizability.js | ✓ | ✓ | ✓ | ✓ |
+--------------------------------+-----+---------+-------+-------------------+
There is a corner case that will be created with this change (by design)
If a user introduces a localization error(s) by using bypass-hooks the next user
in the queue will hit this issue and will be blocked for check in until the
issue gets fixed(or by using bypass-hooks)
e.g
Bob bypasses a change with localization errors [missing description in grd(p)],
later that day Alice adds a comment to a .css file. When Alice try to commit,
Alice will hit Bob's error even if Alice did not modified that file.
Change-Id: Iba3ffcc761e8151f3305d6167cde0485c40123d1
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1888781
Reviewed-by: Mandy Chen <mandy.chen@microsoft.com>
Reviewed-by: Lorne Mitchell <lomitch@microsoft.com>
Commit-Queue: Vidal Diazleal <vidorteg@microsoft.com>
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index e34b291..f511244 100644
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -94,25 +94,29 @@
]
-def _CheckDevtoolsLocalizableResources(input_api, output_api): # pylint: disable=invalid-name
+def _CheckDevtoolsLocalizableResources(input_api, output_api, check_all_files=False): # pylint: disable=invalid-name
devtools_root = input_api.PresubmitLocalPath()
devtools_front_end = input_api.os_path.join(devtools_root, 'front_end')
affected_front_end_files = _getAffectedFiles(input_api, [devtools_front_end], [], ['.js', 'module.json', '.grd', '.grdp'])
- if len(affected_front_end_files) == 0:
+ if len(affected_front_end_files) == 0 and check_all_files == False:
return []
script_path = input_api.os_path.join(input_api.PresubmitLocalPath(), 'scripts', 'check_localizable_resources.js')
args = ['--autofix']
return _checkWithNodeScript(input_api, output_api, script_path, args)
-def _CheckDevtoolsLocalization(input_api, output_api): # pylint: disable=invalid-name
+def _CheckDevtoolsLocalization(input_api, output_api, check_all_files=False): # pylint: disable=invalid-name
devtools_root = input_api.PresubmitLocalPath()
devtools_front_end = input_api.os_path.join(devtools_root, 'front_end')
affected_front_end_files = _getAffectedFiles(input_api, [devtools_front_end], ['D'], ['.js', '.grdp'])
- if len(affected_front_end_files) == 0:
+ if len(affected_front_end_files) == 0 and check_all_files == False:
return []
+
script_path = input_api.os_path.join(input_api.PresubmitLocalPath(), 'scripts', 'check_localizability.js')
- return _checkWithNodeScript(input_api, output_api, script_path, affected_front_end_files)
+ if check_all_files == True:
+ return _checkWithNodeScript(input_api, output_api, script_path, ['-a'])
+ else:
+ return _checkWithNodeScript(input_api, output_api, script_path, affected_front_end_files)
def _CheckDevtoolsStyle(input_api, output_api):
@@ -173,8 +177,6 @@
results.extend(input_api.canned_checks.CheckChangeHasNoCrAndHasOnlyOneEol(input_api, output_api))
results.extend(input_api.canned_checks.CheckChangeHasNoStrayWhitespace(input_api, output_api))
results.extend(input_api.canned_checks.CheckGenderNeutral(input_api, output_api))
- results.extend(_CheckDevtoolsLocalizableResources(input_api, output_api))
- results.extend(_CheckDevtoolsLocalization(input_api, output_api))
return results
@@ -186,12 +188,16 @@
results.extend(_CheckDevtoolsStyle(input_api, output_api))
results.extend(_CheckOptimizeSVGHashes(input_api, output_api))
results.extend(_CheckCSSViolations(input_api, output_api))
+ results.extend(_CheckDevtoolsLocalizableResources(input_api, output_api))
+ results.extend(_CheckDevtoolsLocalization(input_api, output_api))
return results
def CheckChangeOnCommit(input_api, output_api):
results = []
results.extend(_CommonChecks(input_api, output_api))
+ results.extend(_CheckDevtoolsLocalizableResources(input_api, output_api, True))
+ results.extend(_CheckDevtoolsLocalization(input_api, output_api, True))
results.extend(input_api.canned_checks.CheckChangeHasDescription(input_api, output_api))
return results