5a8ba75265
We were setting the -data parameter to the project root but this caused the language server to fail initialization and synch of gradle dependencies. As consequence ALE failed to work fully on gradle projects. This fix sets the workspace to the parent folder of the project root. Normally this corresponds to the correct Eclipse workspace path. When this is not the case, this fix also allows users to explicitly set the absolute path to the workspace via configuration variable.
106 lines
3.4 KiB
Text
106 lines
3.4 KiB
Text
Before:
|
|
call ale#assert#SetUpLinterTest('java', 'eclipselsp')
|
|
call ale#test#SetFilename('dummy.java')
|
|
|
|
let b:ale_java_eclipselsp_path = '/home/user/eclipse.dst.ls'
|
|
|
|
let b:cfg = ale#path#Simplify(g:dir . '/../config_linux')
|
|
|
|
if has('win32')
|
|
let b:cfg = ale#path#Simplify(g:dir . '/../config_win')
|
|
elseif has('macunix')
|
|
let b:cfg = ale#path#Simplify(g:dir . '/../config_mac')
|
|
endif
|
|
|
|
After:
|
|
unlet! b:ale_java_eclipselsp_path
|
|
unlet! b:cfg
|
|
|
|
call ale#assert#TearDownLinterTest()
|
|
|
|
Execute(VersionCheck should return correct version):
|
|
|
|
" OpenJDK Java 1.8
|
|
AssertEqual [1, 8, 0], ale_linters#java#eclipselsp#VersionCheck([
|
|
\ 'openjdk version "1.8.0_191"',
|
|
\ 'OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-0ubuntu0.18.04.1-b12)',
|
|
\ 'OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)'
|
|
\])
|
|
|
|
" OpenJDK Java 10
|
|
AssertEqual [10, 0, 2], ale_linters#java#eclipselsp#VersionCheck([
|
|
\ 'openjdk version "10.0.2" 2018-07-17',
|
|
\ 'OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4)',
|
|
\ 'OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4, mixed mode)'
|
|
\])
|
|
|
|
" Oracle Java 1.8
|
|
AssertEqual [1, 8, 0], ale_linters#java#eclipselsp#VersionCheck([
|
|
\ 'java version "1.8.0_161"',
|
|
\ 'Java(TM) SE Runtime Environment (build 1.8.0_161-b12)',
|
|
\ 'Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)'
|
|
\])
|
|
|
|
" Oracle Java 10
|
|
AssertEqual [10, 0, 1], ale_linters#java#eclipselsp#VersionCheck([
|
|
\ 'java version "10.0.1" 2018-04-17',
|
|
\ 'Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)',
|
|
\ 'Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)'
|
|
\])
|
|
|
|
AssertEqual [], ale_linters#java#eclipselsp#VersionCheck(['x'])
|
|
|
|
AssertEqual [], ale_linters#java#eclipselsp#VersionCheck([])
|
|
|
|
Execute(The eclipselsp callback should return the correct default value):
|
|
let cmd = [ ale#Escape('java'),
|
|
\ '-Declipse.application=org.eclipse.jdt.ls.core.id1',
|
|
\ '-Dosgi.bundles.defaultStartLevel=4',
|
|
\ '-Declipse.product=org.eclipse.jdt.ls.core.product',
|
|
\ '-Dlog.level=ALL',
|
|
\ '-noverify',
|
|
\ '-Xmx1G',
|
|
\ '-jar',
|
|
\ ale#Escape(''),
|
|
\ '-configuration',
|
|
\ ale#Escape(b:cfg),
|
|
\ '-data',
|
|
\ ale#Escape(ale#path#Simplify(''))
|
|
\]
|
|
AssertLinter 'java', join(cmd, ' ')
|
|
|
|
Execute(The eclipselsp callback should allow custom executable):
|
|
let b:ale_java_eclipselsp_executable='/bin/foobar'
|
|
let cmd = [ ale#Escape('/bin/foobar'),
|
|
\ '-Declipse.application=org.eclipse.jdt.ls.core.id1',
|
|
\ '-Dosgi.bundles.defaultStartLevel=4',
|
|
\ '-Declipse.product=org.eclipse.jdt.ls.core.product',
|
|
\ '-Dlog.level=ALL',
|
|
\ '-noverify',
|
|
\ '-Xmx1G',
|
|
\ '-jar',
|
|
\ ale#Escape(''),
|
|
\ '-configuration',
|
|
\ ale#Escape(b:cfg),
|
|
\ '-data',
|
|
\ ale#Escape(ale#path#Simplify(''))
|
|
\]
|
|
AssertLinter '/bin/foobar', join(cmd, ' ')
|
|
|
|
Execute(The eclipselsp callback should allow custom configuration path):
|
|
let b:ale_java_eclipselsp_config_path = '/home/config'
|
|
let cmd = [ ale#Escape('java'),
|
|
\ '-Declipse.application=org.eclipse.jdt.ls.core.id1',
|
|
\ '-Dosgi.bundles.defaultStartLevel=4',
|
|
\ '-Declipse.product=org.eclipse.jdt.ls.core.product',
|
|
\ '-Dlog.level=ALL',
|
|
\ '-noverify',
|
|
\ '-Xmx1G',
|
|
\ '-jar',
|
|
\ ale#Escape(''),
|
|
\ '-configuration',
|
|
\ ale#Escape(ale#path#Simplify('/home/config')),
|
|
\ '-data',
|
|
\ ale#Escape(ale#path#Simplify(''))
|
|
\]
|
|
AssertLinter 'java', join(cmd, ' ')
|