@@ -5,6 +5,7 @@ import * as fs from 'fs';
5
5
import * as fse from 'fs-extra' ;
6
6
import * as os from 'os' ;
7
7
import * as path from 'path' ;
8
+ import * as semver from 'semver' ;
8
9
import { CodeActionContext , commands , ConfigurationTarget , Diagnostic , env , EventEmitter , ExtensionContext , extensions , IndentAction , InputBoxOptions , languages , QuickPickItemKind , RelativePattern , TextDocument , TextEditorRevealType , UIKind , Uri , ViewColumn , window , workspace , WorkspaceConfiguration } from 'vscode' ;
9
10
import { CancellationToken , CodeActionParams , CodeActionRequest , Command , CompletionRequest , DidChangeConfigurationNotification , ExecuteCommandParams , ExecuteCommandRequest , LanguageClientOptions , RevealOutputChannelOn } from 'vscode-languageclient' ;
10
11
import { LanguageClient } from 'vscode-languageclient/node' ;
@@ -13,7 +14,7 @@ import { ClientErrorHandler } from './clientErrorHandler';
13
14
import { Commands , CommandTitle } from './commands' ;
14
15
import { ClientStatus , ExtensionAPI , TraceEvent } from './extension.api' ;
15
16
import * as fileEventHandler from './fileEventHandler' ;
16
- import { getSharedIndexCache , HEAP_DUMP_LOCATION , prepareExecutable } from './javaServerStarter' ;
17
+ import { getSharedIndexCache , HEAP_DUMP_LOCATION , prepareExecutable , removeEquinoxFragmentOnDarwinX64 } from './javaServerStarter' ;
17
18
import { initializeLogFile , logger } from './log' ;
18
19
import { cleanupLombokCache } from "./lombokSupport" ;
19
20
import { markdownPreviewProvider } from "./markdownPreviewProvider" ;
@@ -30,6 +31,7 @@ import { JavaClassEditorProvider } from './javaClassEditor';
30
31
import { StandardLanguageClient } from './standardLanguageClient' ;
31
32
import { SyntaxLanguageClient } from './syntaxLanguageClient' ;
32
33
import { convertToGlob , deleteClientLog , deleteDirectory , ensureExists , getBuildFilePatterns , getExclusionGlob , getInclusionPatternsFromNegatedExclusion , getJavaConfig , getJavaConfiguration , hasBuildToolConflicts , resolveActualCause } from './utils' ;
34
+ import glob = require( 'glob' ) ;
33
35
import { Telemetry } from './telemetry' ;
34
36
import { getMessage } from './errorUtils' ;
35
37
import { TelemetryService } from '@redhat-developer/vscode-redhat-telemetry/lib' ;
@@ -38,7 +40,6 @@ import { loadSupportedJreNames } from './jdkUtils';
38
40
import { BuildFileSelector , PICKED_BUILD_FILES , cleanupProjectPickerCache } from './buildFilesSelector' ;
39
41
import { pasteFile } from './pasteAction' ;
40
42
import { ServerStatusKind } from './serverStatus' ;
41
- import glob = require( 'glob' ) ;
42
43
43
44
const syntaxClient : SyntaxLanguageClient = new SyntaxLanguageClient ( ) ;
44
45
const standardClient : StandardLanguageClient = new StandardLanguageClient ( ) ;
@@ -139,6 +140,17 @@ export async function activate(context: ExtensionContext): Promise<ExtensionAPI>
139
140
140
141
cleanJavaWorkspaceStorage ( ) ;
141
142
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
+
142
154
return requirements . resolveRequirements ( context ) . catch ( error => {
143
155
// show error
144
156
window . showErrorMessage ( error . message , error . label ) . then ( ( selection ) => {
0 commit comments