@@ -19,6 +19,7 @@ object Versions {
19
19
def coursier = " 2.1.14"
20
20
def osLib = " 0.11.3"
21
21
def uTest = " 0.8.4"
22
+ def jline = " 3.25.0"
22
23
}
23
24
24
25
trait JavaMainClassNativeImage extends NativeImage {
@@ -45,17 +46,30 @@ trait JavaMainClassNativeImage extends NativeImage {
45
46
}
46
47
}
47
48
48
- object `scala3-graal-processor` extends ScalaModule {
49
- def scalaVersion = Versions .scala
50
- def mainClass = Some (" scala.cli.graal.CoursierCacheProcessor" )
51
- def ivyDeps = Agg (
52
- ivy " org.virtuslab.scala-cli::scala3-graal: ${Versions .scalaCli}"
49
+ trait JavaClassNameModule extends ScalaModule {
50
+ override def scalaVersion = Versions .scala
51
+ override def transitiveIvyDeps = T {
52
+ super .transitiveIvyDeps()
53
+ .map(_.exclude(" org.jline" -> " jline-reader" ))
54
+ .map(_.exclude(" org.jline" -> " jline-terminal" ))
55
+ .map(_.exclude(" org.jline" -> " jline-terminal-jna" ))
56
+ }
57
+ def jlineDeps = Agg (
58
+ ivy " org.jline:jline-reader: ${Versions .jline}" ,
59
+ ivy " org.jline:jline-terminal: ${Versions .jline}" ,
60
+ ivy " org.jline:jline-terminal-jna: ${Versions .jline}"
53
61
)
62
+ override def ivyDeps = super .ivyDeps() ++ jlineDeps
54
63
}
55
64
56
- object `java-class-name` extends ScalaModule with JavaMainClassNativeImage with JavaClassNamePublishModule {
57
- def scalaVersion = Versions .scala
65
+ object `scala3-graal-processor` extends JavaClassNameModule {
66
+ override def mainClass = Some (" scala.cli.graal.CoursierCacheProcessor" )
67
+ override def ivyDeps = jlineDeps ++ Agg (
68
+ ivy " org.virtuslab.scala-cli::scala3-graal: ${Versions .scalaCli}"
69
+ )
70
+ }
58
71
72
+ object `java-class-name` extends JavaClassNameModule with JavaMainClassNativeImage with JavaClassNamePublishModule {
59
73
def nativeImageClassPath = T {
60
74
// adapted from https://github.com/VirtusLab/scala-cli/blob/b19086697401827a6f8185040ceb248d8865bf21/build.sc#L732-L744
61
75
@@ -77,10 +91,10 @@ object `java-class-name` extends ScalaModule with JavaMainClassNativeImage with
77
91
System .err.println(s " $f" )
78
92
cp.split(File .pathSeparator).toSeq.map(p => mill.PathRef (os.Path (p)))
79
93
}
80
- def ivyDeps = super .ivyDeps() ++ Seq (
94
+ override def ivyDeps = super .ivyDeps() ++ jlineDeps ++ Agg (
81
95
ivy " org.scala-lang::scala3-compiler: ${Versions .scala}"
82
96
)
83
- def compileIvyDeps = super .compileIvyDeps() ++ Seq (
97
+ override def compileIvyDeps = super .compileIvyDeps() ++ Agg (
84
98
ivy " org.graalvm.nativeimage:svm: ${Versions .graalVmVersion}"
85
99
)
86
100
@@ -123,11 +137,10 @@ object `java-class-name` extends ScalaModule with JavaMainClassNativeImage with
123
137
}
124
138
}
125
139
126
- object `java-class-name-tests` extends ScalaModule with SbtModule {
127
- def scalaVersion = Versions .scala
140
+ object `java-class-name-tests` extends JavaClassNameModule with SbtModule {
128
141
trait Tests extends ScalaModule with super .SbtModuleTests with TestModule .Utest {
129
142
def launcher : T [PathRef ]
130
- def ivyDeps = super .ivyDeps() ++ Seq (
143
+ def ivyDeps = super .ivyDeps() ++ jlineDeps ++ Seq (
131
144
ivy " com.lihaoyi::os-lib: ${Versions .osLib}" ,
132
145
ivy " com.lihaoyi::utest: ${Versions .uTest}"
133
146
)
0 commit comments