This repository was archived by the owner on Mar 21, 2023. It is now read-only.
File tree 2 files changed +41
-4
lines changed
2 files changed +41
-4
lines changed Original file line number Diff line number Diff line change
1
+ import { calcServerDependency } from "../fetchMetals" ;
2
+
3
+ describe ( "fetchMetals" , ( ) => {
4
+ describe ( "calcServerDependency" , ( ) => {
5
+ function expectedDep ( binaryVersion : string , serverVersion : string ) : string {
6
+ return `org.scalameta:metals_${ binaryVersion } :${ serverVersion } ` ;
7
+ }
8
+ it ( "should download from appropriate binaryVersion" , ( ) => {
9
+ expect ( calcServerDependency ( "0.11.1" ) ) . toBe (
10
+ expectedDep ( "2.12" , "0.11.1" )
11
+ ) ;
12
+ expect ( calcServerDependency ( "0.11.2" ) ) . toBe (
13
+ expectedDep ( "2.12" , "0.11.2" )
14
+ ) ;
15
+ expect ( calcServerDependency ( "0.11.2-SNAPSHOT" ) ) . toBe (
16
+ expectedDep ( "2.12" , "0.11.2-SNAPSHOT" )
17
+ ) ;
18
+ expect ( calcServerDependency ( "0.11.2-RC1" ) ) . toBe (
19
+ expectedDep ( "2.12" , "0.11.2-RC1" )
20
+ ) ;
21
+ expect ( calcServerDependency ( "0.11.3" ) ) . toBe (
22
+ expectedDep ( "2.13" , "0.11.3" )
23
+ ) ;
24
+ expect ( calcServerDependency ( "0.11.3-SNAPSHOT" ) ) . toBe (
25
+ expectedDep ( "2.13" , "0.11.3-SNAPSHOT" )
26
+ ) ;
27
+ expect ( calcServerDependency ( "0.11.3-RC1" ) ) . toBe (
28
+ expectedDep ( "2.13" , "0.11.3-RC1" )
29
+ ) ;
30
+ } ) ;
31
+ } ) ;
32
+ } ) ;
Original file line number Diff line number Diff line change
1
+ import * as semver from "semver" ;
1
2
import { ChildProcessPromise , spawn } from "promisify-child-process" ;
2
3
import { JavaConfig } from "./getJavaConfig" ;
3
4
@@ -16,10 +17,7 @@ export function fetchMetals({
16
17
( p ) => ! p . startsWith ( "-agentlib" )
17
18
) ;
18
19
19
- const serverDependency = serverVersion . includes ( ":" )
20
- ? serverVersion
21
- : `org.scalameta:metals_2.12:${ serverVersion } ` ;
22
-
20
+ const serverDependency = calcServerDependency ( serverVersion ) ;
23
21
return spawn (
24
22
javaPath ,
25
23
[
@@ -54,3 +52,10 @@ export function fetchMetals({
54
52
}
55
53
) ;
56
54
}
55
+
56
+ export function calcServerDependency ( serverVersion : string ) : string {
57
+ const binaryVersion = semver . gt ( serverVersion , "0.11.2" ) ? "2.13" : "2.12" ;
58
+ return serverVersion . includes ( ":" )
59
+ ? serverVersion
60
+ : `org.scalameta:metals_${ binaryVersion } :${ serverVersion } ` ;
61
+ }
You can’t perform that action at this time.
0 commit comments