@@ -5,6 +5,7 @@ import * as fs from 'fs';
55import * as fse from 'fs-extra' ;
66import * as os from 'os' ;
77import * as path from 'path' ;
8+ import * as semver from 'semver' ;
89import { CodeActionContext , commands , ConfigurationTarget , Diagnostic , env , EventEmitter , ExtensionContext , extensions , IndentAction , InputBoxOptions , languages , QuickPickItemKind , RelativePattern , TextDocument , TextEditorRevealType , UIKind , Uri , ViewColumn , window , workspace , WorkspaceConfiguration } from 'vscode' ;
910import { CancellationToken , CodeActionParams , CodeActionRequest , Command , CompletionRequest , DidChangeConfigurationNotification , ExecuteCommandParams , ExecuteCommandRequest , LanguageClientOptions , RevealOutputChannelOn } from 'vscode-languageclient' ;
1011import { LanguageClient } from 'vscode-languageclient/node' ;
@@ -13,7 +14,7 @@ import { ClientErrorHandler } from './clientErrorHandler';
1314import { Commands , CommandTitle } from './commands' ;
1415import { ClientStatus , ExtensionAPI , TraceEvent } from './extension.api' ;
1516import * as fileEventHandler from './fileEventHandler' ;
16- import { getSharedIndexCache , HEAP_DUMP_LOCATION , prepareExecutable } from './javaServerStarter' ;
17+ import { getSharedIndexCache , HEAP_DUMP_LOCATION , prepareExecutable , removeEquinoxFragmentOnDarwinX64 } from './javaServerStarter' ;
1718import { initializeLogFile , logger } from './log' ;
1819import { cleanupLombokCache } from "./lombokSupport" ;
1920import { markdownPreviewProvider } from "./markdownPreviewProvider" ;
@@ -30,6 +31,7 @@ import { JavaClassEditorProvider } from './javaClassEditor';
3031import { StandardLanguageClient } from './standardLanguageClient' ;
3132import { SyntaxLanguageClient } from './syntaxLanguageClient' ;
3233import { convertToGlob , deleteClientLog , deleteDirectory , ensureExists , getBuildFilePatterns , getExclusionGlob , getInclusionPatternsFromNegatedExclusion , getJavaConfig , getJavaConfiguration , hasBuildToolConflicts , resolveActualCause } from './utils' ;
34+ import glob = require( 'glob' ) ;
3335import { Telemetry } from './telemetry' ;
3436import { getMessage } from './errorUtils' ;
3537import { TelemetryService } from '@redhat-developer/vscode-redhat-telemetry/lib' ;
@@ -38,7 +40,6 @@ import { loadSupportedJreNames } from './jdkUtils';
3840import { BuildFileSelector , PICKED_BUILD_FILES , cleanupProjectPickerCache } from './buildFilesSelector' ;
3941import { pasteFile } from './pasteAction' ;
4042import { ServerStatusKind } from './serverStatus' ;
41- import glob = require( 'glob' ) ;
4243
4344const syntaxClient : SyntaxLanguageClient = new SyntaxLanguageClient ( ) ;
4445const standardClient : StandardLanguageClient = new StandardLanguageClient ( ) ;
@@ -139,6 +140,17 @@ export async function activate(context: ExtensionContext): Promise<ExtensionAPI>
139140
140141 cleanJavaWorkspaceStorage ( ) ;
141142
143+ // https://github.com/redhat-developer/vscode-java/issues/3484
144+ if ( process . platform === 'darwin' && process . arch === 'x64' ) {
145+ try {
146+ if ( semver . lt ( os . release ( ) , '20.0.0' ) ) {
147+ removeEquinoxFragmentOnDarwinX64 ( context ) ;
148+ }
149+ } catch ( error ) {
150+ // do nothing
151+ }
152+ }
153+
142154 return requirements . resolveRequirements ( context ) . catch ( error => {
143155 // show error
144156 window . showErrorMessage ( error . message , error . label ) . then ( ( selection ) => {
0 commit comments