-
Notifications
You must be signed in to change notification settings - Fork 30.1k
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
doc: document and warn if the ICU version is too old #23766
Conversation
configure.py
Outdated
@@ -1452,6 +1455,8 @@ def write_config(data, name): | |||
icu_ver_major = m.group(1) | |||
if not icu_ver_major: | |||
error('Could not read U_ICU_VERSION_SHORT version from %s' % uvernum_h) | |||
elif int(icu_ver_major) < minimum_icu: | |||
warn('icu4c v%d.x may be too old, v%d.x or later is recommended.' % (int(icu_ver_major), minimum_icu)) |
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.
may
? what can happen if it is? why not go all out and error
?
(escape hatch is to manually edit config.gypi
)
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.
probably a compile error. which they will see soon enough… ±0 on making it an error, either way.
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.
Ack
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.
Good concept. Left two comments.
configure.py
Outdated
@@ -51,6 +51,7 @@ | |||
valid_mips_fpu = ('fp32', 'fp64', 'fpxx') | |||
valid_mips_float_abi = ('soft', 'hard') | |||
valid_intl_modes = ('none', 'small-icu', 'full-icu', 'system-icu') | |||
minimum_icu = 57 |
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.
Could you read this with:
https://github.com/nodejs/node/blob/bce91be01e333aa67874c89eeea419eb68dcc33a/configure.py#L1266-L1267
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.
@refack hm. Doesn't make sense with the format of current_ver.dep … the minimum ICU is global, doesn't need to be repeated multiple times.
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.
@refack I split the minimum version to a separate file.
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.
We could change the format of tools/icu/current_ver.dep
to be:
{
"current_minimum": 57,
"packages": [ ... current content ... ]
}
CI (just in case you don't wanna patch this any more): https://ci.nodejs.org/job/node-test-pull-request/18060/ |
@refack how about moving the contents to the new .json file in a future PR once these land? (this and the 2 other PRs) |
This lands cleanly on 10.x, should we backport to 8.x? |
Fixes: #19657
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passesExample: