19
19
20
20
import java .io .Serializable ;
21
21
import java .lang .reflect .Method ;
22
+ import java .util .ArrayList ;
23
+ import java .util .Collection ;
24
+ import java .util .List ;
22
25
import java .util .Map ;
23
26
import java .util .NavigableMap ;
24
27
import java .util .Objects ;
25
28
import java .util .TreeMap ;
26
29
import java .util .function .Consumer ;
27
30
31
+ import com .diffplug .spotless .Jvm ;
32
+
28
33
import org .slf4j .Logger ;
29
34
import org .slf4j .LoggerFactory ;
30
35
@@ -42,6 +47,10 @@ private FreshMarkStep() {}
42
47
private static final String DEFAULT_VERSION = "1.3.1" ;
43
48
private static final String NAME = "freshmark" ;
44
49
private static final String MAVEN_COORDINATE = "com.diffplug.freshmark:freshmark:" ;
50
+
51
+ private static final String NASHORN_MAVEN_COORDINATE = "org.openjdk.nashorn:nashorn-core:" ;
52
+
53
+ private static final String NASHORN_VERSION = "15.4" ;
45
54
private static final String FORMATTER_CLASS = "com.diffplug.freshmark.FreshMark" ;
46
55
private static final String FORMATTER_METHOD = "compile" ;
47
56
@@ -55,8 +64,15 @@ public static FormatterStep create(String version, Supplier<Map<String, ?>> prop
55
64
Objects .requireNonNull (version , "version" );
56
65
Objects .requireNonNull (properties , "properties" );
57
66
Objects .requireNonNull (provisioner , "provisioner" );
67
+
68
+ List <String > mavenCoordinates = new ArrayList <>();
69
+ mavenCoordinates .add (MAVEN_COORDINATE + version );
70
+ if (Jvm .version () >= 15 ) {
71
+ mavenCoordinates .add (NASHORN_MAVEN_COORDINATE + NASHORN_VERSION );
72
+ }
73
+
58
74
return FormatterStep .createLazy (NAME ,
59
- () -> new State (JarState .from (MAVEN_COORDINATE + version , provisioner ), properties .get ()),
75
+ () -> new State (JarState .from (mavenCoordinates , provisioner ), properties .get ()),
60
76
State ::createFormat );
61
77
}
62
78
0 commit comments