1
1
import $ivy .`com.lihaoyi::mill-contrib-bloop:$MILL_VERSION`
2
2
import $ivy .`de.tototec::de.tobiasroeser.mill.vcs.version_mill0.9:0.1.1`
3
3
4
- import $file .jarmanifest
5
- import $file .zip
6
-
7
4
import de .tobiasroeser .mill .vcs .version ._
8
5
import mill ._
9
6
import mill .scalalib ._
@@ -15,11 +12,7 @@ def scala213 = "2.13.7"
15
12
def scala212 = " 2.12.15"
16
13
def scalaVersions = Seq (scala3, scala213, scala212)
17
14
18
- object library extends Cross [Library ](scalaVersions : _* )
19
- object tests extends Cross [Tests ](scalaVersions : _* )
20
- object `jni-tests` extends Cross [JniTests ](scalaVersions : _* )
21
-
22
- object library16 extends Cross [Library16 ](scalaVersions : _* )
15
+ object library extends Cross [Library ](scalaVersions : _* )
23
16
24
17
def tmpDirBase =
25
18
if (System .getenv(" CI" ) == null )
@@ -31,60 +24,16 @@ def tmpDirBase =
31
24
PathRef (os.home / " .test-data" )
32
25
}
33
26
34
- def libraryDeps = Seq (
35
- ivy " org.scala-sbt.ipcsocket:ipcsocket:1.4.0 "
36
- )
37
-
38
27
class Library (val crossScalaVersion : String ) extends CrossScalaModule with LibDaemonPublish {
39
28
def artifactName = " libdaemon"
40
- def ivyDeps = super .ivyDeps() ++ libraryDeps
41
29
def compileIvyDeps = super .compileIvyDeps() ++ Seq (
42
30
ivy " org.graalvm.nativeimage:svm:21.2.0 "
43
31
)
44
32
def javacOptions = super .javacOptions() ++ Seq (
45
33
" --release" ,
46
- " 8 "
34
+ " 16 "
47
35
)
48
-
49
- def baseJar = T {
50
- super .jar()
51
- }
52
- def mrJar = T {
53
- val newJar = T .dest / " mr.jar"
54
- val baseJar0 = baseJar()
55
- val java16Jar = library16().jar()
56
- val extraEntries = zip.entries(java16Jar.path)
57
- .filter(_._1.getName.startsWith(" libdaemonjvm" ))
58
- .map {
59
- case (e, b) =>
60
- val e0 = zip.newEntry(" META-INF/versions/16/" + e.getName, e)
61
- (e0, b)
62
- }
63
- assert(extraEntries.nonEmpty)
64
- val (manifestEntries, baseEntries) =
65
- zip.entries(baseJar0.path).partition(_._1.getName == " META-INF/MANIFEST.MF" )
66
- assert(manifestEntries.length == 1 )
67
- val (manifestEntry, manifestContent) = manifestEntries.head
68
- val updatedManifestContent = jarmanifest.addAttributes(manifestContent)(
69
- " Multi-Release" -> " true"
70
- )
71
- val allEntries = ((manifestEntry, updatedManifestContent) +: baseEntries) ++ extraEntries
72
- zip.write(newJar, allEntries)
73
- PathRef (newJar)
74
- }
75
- def jar = mrJar()
76
- }
77
-
78
- class Library16 (val crossScalaVersion : String ) extends CrossScalaModule {
79
- def moduleDeps = Seq (
80
- library()
81
- )
82
- }
83
-
84
- abstract class TestsBase extends CrossScalaModule { self =>
85
- def ivyDeps = super .ivyDeps() ++ libraryDeps
86
- trait Tests extends super .Tests {
87
- def unmanagedClasspath = super .unmanagedClasspath() ++ self.unmanagedClasspath()
36
+ object test extends Tests {
88
37
def ivyDeps = super .ivyDeps() ++ Seq (
89
38
ivy " org.scalameta::munit:0.7.29 " ,
90
39
ivy " com.eed3si9n.expecty::expecty:0.15.4 " ,
@@ -97,24 +46,6 @@ abstract class TestsBase extends CrossScalaModule { self =>
97
46
}
98
47
}
99
48
100
- class Tests (val crossScalaVersion : String ) extends TestsBase {
101
- def unmanagedClasspath = super .unmanagedClasspath() ++ Seq (
102
- library().jar()
103
- )
104
- object test extends Tests
105
- }
106
-
107
- class JniTests (val crossScalaVersion : String ) extends TestsBase {
108
- def unmanagedClasspath = super .unmanagedClasspath() ++ Seq (
109
- library().baseJar()
110
- )
111
- object test extends Tests {
112
- def sources = T .sources {
113
- tests().test.sources()
114
- }
115
- }
116
- }
117
-
118
49
object manual extends Module {
119
50
object server extends ScalaModule {
120
51
def scalaVersion = scala3
0 commit comments