diff --git a/doctor/package.json b/doctor/package.json index 6ab436afc..e4140ec36 100644 --- a/doctor/package.json +++ b/doctor/package.json @@ -1,6 +1,6 @@ { "name": "flipper-doctor", - "version": "0.2.3", + "version": "0.2.4", "description": "Utility for checking for issues with a flipper installation", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/doctor/src/environmentInfo.ts b/doctor/src/environmentInfo.ts index f810bdfa7..65b0b8b6f 100644 --- a/doctor/src/environmentInfo.ts +++ b/doctor/src/environmentInfo.ts @@ -31,14 +31,39 @@ export type EnvironmentInfo = { }; }; -export async function getEnvInfo(): Promise { +async function retrieveAndParseEnvInfo(): Promise { return JSON.parse( await run( { SDKs: ['iOS SDK', 'Android SDK'], IDEs: ['Xcode'], + Languages: ['Java'], }, {json: true, showNotFound: true}, ), ); } + +// Temporary workaround for https://github.com/facebook/flipper/issues/667 until it properly fixed in 'envinfo'. +async function workaroundForNewerJavaVersions(envInfo: any) { + try { + if (envInfo.Languages.Java && envInfo.Languages.Java.version) { + const [majorVersion] = envInfo.Languages.Java.version + .split('.') + .slice(0, 1) + .map((x: string) => parseInt(x, 10)); + if (8 < majorVersion && majorVersion < 11) { + process.env.JAVA_OPTS = + '-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'; + return await retrieveAndParseEnvInfo(); + } + } + } catch (e) { + console.error(e); + } + return envInfo; +} + +export async function getEnvInfo(): Promise { + return workaroundForNewerJavaVersions(await retrieveAndParseEnvInfo()); +} diff --git a/package.json b/package.json index 2774f6b2b..53c280022 100644 --- a/package.json +++ b/package.json @@ -136,7 +136,7 @@ "emotion": "^10.0.23", "expand-tilde": "^2.0.2", "express": "^4.15.2", - "flipper-doctor": "^0.2.3", + "flipper-doctor": "^0.2.4", "fs-extra": "^8.0.1", "immer": "^5.0.1", "immutable": "^4.0.0-rc.12", diff --git a/yarn.lock b/yarn.lock index bc0ceb920..dd6dad896 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4147,10 +4147,10 @@ flatted@^2.0.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg== -flipper-doctor@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/flipper-doctor/-/flipper-doctor-0.2.3.tgz#2678c3dc924c1dd69cda65aef9f43040f3b8e085" - integrity sha512-61BJUid7yWu/LzuYYuwdOgakQXWoEXV9+PwKPWwwup73u4k80nUdf+Hx4Ev0dMS/mjQuZ3KwmmxFdFhV/3iWTQ== +flipper-doctor@^0.2.4: + version "0.2.4" + resolved "https://registry.yarnpkg.com/flipper-doctor/-/flipper-doctor-0.2.4.tgz#907c14282a9f65737f96505dfb0c5022109a10fe" + integrity sha512-MjX66Yd1dPSLcnOXIfqPaB5KXmd+A7f+99ashGhbRV+2Y8bXadN4kvYrUZ4gD177LmtMdNjISjm87kBt5t9pnw== dependencies: "@types/node" "^12.12.12" envinfo "^7.4.0"