This is an automated email from the ASF dual-hosted git repository.
normanbreau pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cordova-android.git
The following commit(s) were added to refs/heads/master by this push:
new 6d803e2 Bugfix/java checks (#1228)
6d803e2 is described below
commit 6d803e2f7236db32fc963150c1683e097f453867
Author: Norman Breau <[email protected]>
AuthorDate: Sun May 9 17:52:35 2021 -0300
Bugfix/java checks (#1228)
* fix: Java version parsing if java executable prints out additional
information with --version
* fix: Ensure JAVA_HOME path comes first in the PATH environment
* refactor: Removed redundent code in favour of keeping a change introduced
from another PR
---
bin/templates/cordova/lib/env/java.js | 9 ++++-----
spec/unit/java.spec.js | 14 ++++++++++++--
2 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/bin/templates/cordova/lib/env/java.js
b/bin/templates/cordova/lib/env/java.js
index 2cd720c..5343beb 100644
--- a/bin/templates/cordova/lib/env/java.js
+++ b/bin/templates/cordova/lib/env/java.js
@@ -93,16 +93,15 @@ const java = {
return;
}
- const javacPath = utils.forgivingWhichSync('javac');
const javaHome = environment.CORDOVA_JAVA_HOME ||
environment.JAVA_HOME;
if (javaHome) {
// Ensure that CORDOVA_JAVA_HOME overrides
environment.JAVA_HOME = javaHome;
- // Windows java installer doesn't add javac to PATH, nor set
JAVA_HOME (ugh).
- if (!javacPath) {
- environment.PATH += path.delimiter +
path.join(environment.JAVA_HOME, 'bin');
- }
+ // Ensure that the JAVA_HOME bin path is before anything else
+ // to cover cases where different Java versions is in the PATH
+ environment.PATH = path.join(environment.JAVA_HOME, 'bin') +
path.delimiter + environment.PATH;
} else {
+ const javacPath = utils.forgivingWhichSync('javac');
if (javacPath) {
// OS X has a command for finding JAVA_HOME.
const find_java = '/usr/libexec/java_home';
diff --git a/spec/unit/java.spec.js b/spec/unit/java.spec.js
index d19f1b0..66c8ef2 100644
--- a/spec/unit/java.spec.js
+++ b/spec/unit/java.spec.js
@@ -47,9 +47,19 @@ describe('Java', () => {
all: 'javac 1.8.0_275'
}));
- console.log('BEFORE', process.env.JAVA_HOME);
const result = await Java.getVersion();
- console.log('AFTER', process.env.JAVA_HOME);
+ expect(result.major).toBe(1);
+ expect(result.minor).toBe(8);
+ expect(result.patch).toBe(0);
+ expect(result.version).toBe('1.8.0');
+ });
+
+ it('detects JDK when additional details are printed', async () => {
+ Java.__set__('execa', () => Promise.resolve({
+ all: 'Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8\njavac
1.8.0_275'
+ }));
+
+ const result = await Java.getVersion();
expect(result.major).toBe(1);
expect(result.minor).toBe(8);
expect(result.patch).toBe(0);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]