You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by GitBox <gi...@apache.org> on 2021/04/22 11:13:04 UTC
[GitHub] [cordova-android] DavidStrausz commented on pull request #1130: refactor: java checks / get java version
DavidStrausz commented on pull request #1130:
URL: https://github.com/apache/cordova-android/pull/1130#issuecomment-824749304
Hi @breautek, I hope it's okay if I add this here, but I can also open a new issue if you need one.
This causes the requirements check to fail on macOS Big Sur 11.2.3 if custom java options (`_JAVA_OPTIONS`) are set.
For reference in my case I set them in `.zshrc` like this:
```bash
export _JAVA_OPTIONS="-Xms2048M -Xmx4096M"
```
And this is the exact error:
```bash
Checking Java JDK and Android SDK versions
ANDROID_SDK_ROOT=/Users/username/Library/Android/sdk (recommended setting)
ANDROID_HOME=undefined (DEPRECATED)
Requirements check failed for JDK 1.8.x! Detected version: 2048.0.0
Check your ANDROID_SDK_ROOT / JAVA_HOME / PATH environment variables.
```
The reason for this is happening is because in the new implementation you are using `javac -version` to get the version, this prints the java options before printing the version like this:
```bash
Picked up _JAVA_OPTIONS: -Xms2048M -Xmx4096M
javac 1.8.0_271
```
The result is directly checked via semver without sanitizing the output first. In the old implementation a regular expression was used to only check the relevant parts:
```js
const match = /javac\s+([\d.]+)/i.exec(output);
```
https://github.com/apache/cordova-android/pull/1130/files#diff-0d1afa0d5c88bdb18fbc6ab9ef7fc4bbe10f7047d387bb2964932dbb6eb8c4b7L198
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org