Skip to content

Commit 5262bce

Browse files
committed
.
1 parent 24b8f12 commit 5262bce

File tree

3 files changed

+67
-80
lines changed

3 files changed

+67
-80
lines changed

integration/failure/root-module-compile-error/src/RootModuleCompileErrorTests.scala

Lines changed: 60 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -12,71 +12,67 @@ object RootModuleCompileErrorTests extends UtestIntegrationTestSuite {
1212

1313
assert(!res.isSuccess)
1414

15-
locally {
16-
// For now these error messages still show generated/mangled code; not ideal, but it'll do
17-
assert(res.err.contains("""build.mill:7:67"""))
18-
assert(res.err.contains("""Not found: type UnknownRootModule"""))
19-
assert(res.err.contains(
20-
"""abstract class package_ extends _root_.mill.util.MainRootModule, UnknownRootModule {"""
21-
))
22-
assert(
23-
res.err.contains(""" ^^^^^^^^^^^^^^^^^""")
24-
)
25-
}
26-
27-
locally {
28-
// For now these error messages still show generated/mangled code; not ideal, but it'll do
29-
assert(res.err.replace('\\', '/').contains("""foo/package.mill:6:96"""))
30-
assert(res.err.contains("""Not found: type UnknownFooModule"""))
31-
assert(res.err.contains(
32-
"""abstract class package_ extends _root_.mill.api.internal.SubfolderModule(build.millDiscover), UnknownFooModule {"""
33-
))
34-
assert(res.err.contains(
35-
""" ^^^^^^^^^^^^^^^^"""
36-
))
37-
}
38-
39-
locally {
40-
assert(res.err.contains("""build.mill:8:22"""))
41-
assert(res.err.contains("""Not found: unknownRootInternalDef"""))
42-
assert(res.err.contains("""def scalaVersion = unknownRootInternalDef"""))
43-
assert(res.err.contains(""" ^^^^^^^^^^^^^^^^^^^^^^"""))
44-
}
45-
46-
locally {
47-
assert(res.err.contains("""build.mill:5:23"""))
48-
assert(res.err.contains("""Not found: type UnknownBeforeModule"""))
49-
assert(res.err.contains("""object before extends UnknownBeforeModule"""))
50-
assert(res.err.contains(""" ^^^^^^^^^^^^^^^^^^^"""))
51-
}
15+
val normalizedError = res.err
16+
.replace(workspacePath.toString, "<workspace-path>")
17+
.linesIterator
18+
.filter(_.startsWith("[error] "))
19+
.toVector
5220

53-
locally {
54-
assert(res.err.contains("""build.mill:12:22"""))
55-
assert(res.err.contains("""Not found: type UnknownAfterModule"""))
56-
assert(res.err.contains("""object after extends UnknownAfterModule"""))
57-
assert(res.err.contains(""" ^^^^^^^^^^^^^^^^^^"""))
58-
}
59-
60-
locally {
61-
assert(res.err.replace('\\', '/').contains("""foo/package.mill:7:22"""))
62-
assert(res.err.contains("""Not found: unknownFooInternalDef"""))
63-
assert(res.err.contains("""def scalaVersion = unknownFooInternalDef"""))
64-
assert(res.err.contains(""" ^^^^^^^^^^^^^^^^^^^^^"""))
65-
}
66-
67-
locally {
68-
assert(res.err.replace('\\', '/').contains("""foo/package.mill:4:23"""))
69-
assert(res.err.contains("""Not found: type UnknownBeforeFooModule"""))
70-
assert(res.err.contains("""object before extends UnknownBeforeFooModule"""))
71-
assert(res.err.contains(""" ^^^^^^^^^^^^^^^^^^^^^^"""))
72-
}
73-
74-
locally {
75-
assert(res.err.replace('\\', '/').contains("""foo/package.mill:11:22"""))
76-
assert(res.err.contains("""Not found: type UnknownAfterFooModule"""))
77-
assert(res.err.contains("""object after extends UnknownAfterFooModule"""))
78-
assert(res.err.contains(""" ^^^^^^^^^^^^^^^^^^^^^"""))
79-
}
21+
// For now some error messages still show generated/mangled code; not ideal, but it'll do
22+
assertGoldenLiteral(
23+
normalizedError,
24+
Vector(
25+
"[error] -- [E006] Not Found Error: <workspace-path>/out/mill-build/generatedScriptSources.dest/wrapped/build_/build.mill:17:65 ",
26+
"[error] 17 |class _MillRootModulePa extends _root_.mill.util.MainRootModule, UnknownRootModule",
27+
"[error] | ^^^^^^^^^^^^^^^^^",
28+
"[error] | Not found: type UnknownRootModule",
29+
"[error] |",
30+
"[error] | longer explanation available when compiling with `-explain`",
31+
"[error] -- [E006] Not Found Error: <workspace-path>/out/mill-build/generatedScriptSources.dest/wrapped/build_/foo/package.mill:17:93 ",
32+
"[error] 17 |class _MillRootModuleP extends _root_.mill.api.internal.SubfolderModule(build.millDiscover), UnknownFooModule",
33+
"[error] | ^^^^^^^^^^^^^^^^",
34+
"[error] | Not found: type UnknownFooModule",
35+
"[error] |",
36+
"[error] | longer explanation available when compiling with `-explain`",
37+
"[error] -- [E006] Not Found Error: <workspace-path>/build.mill:5:22 ",
38+
"[error] 5 |object before extends UnknownBeforeModule",
39+
"[error] | ^^^^^^^^^^^^^^^^^^^",
40+
"[error] | Not found: type UnknownBeforeModule",
41+
"[error] |",
42+
"[error] | longer explanation available when compiling with `-explain`",
43+
"[error] -- [E006] Not Found Error: <workspace-path>/build.mill:8:21 ",
44+
"[error] 8 | def scalaVersion = unknownRootInternalDef",
45+
"[error] | ^^^^^^^^^^^^^^^^^^^^^^",
46+
"[error] | Not found: unknownRootInternalDef",
47+
"[error] |",
48+
"[error] | longer explanation available when compiling with `-explain`",
49+
"[error] -- [E006] Not Found Error: <workspace-path>/build.mill:11:21 ",
50+
"[error] 11 |object after extends UnknownAfterModule",
51+
"[error] | ^^^^^^^^^^^^^^^^^^",
52+
"[error] | Not found: type UnknownAfterModule",
53+
"[error] |",
54+
"[error] | longer explanation available when compiling with `-explain`",
55+
"[error] -- [E006] Not Found Error: <workspace-path>/foo/package.mill:4:22 ",
56+
"[error] 4 |object before extends UnknownBeforeFooModule",
57+
"[error] | ^^^^^^^^^^^^^^^^^^^^^^",
58+
"[error] | Not found: type UnknownBeforeFooModule",
59+
"[error] |",
60+
"[error] | longer explanation available when compiling with `-explain`",
61+
"[error] -- [E006] Not Found Error: <workspace-path>/foo/package.mill:7:21 ",
62+
"[error] 7 | def scalaVersion = unknownFooInternalDef",
63+
"[error] | ^^^^^^^^^^^^^^^^^^^^^",
64+
"[error] | Not found: unknownFooInternalDef",
65+
"[error] |",
66+
"[error] | longer explanation available when compiling with `-explain`",
67+
"[error] -- [E006] Not Found Error: <workspace-path>/foo/package.mill:10:21 ",
68+
"[error] 10 |object after extends UnknownAfterFooModule",
69+
"[error] | ^^^^^^^^^^^^^^^^^^^^^",
70+
"[error] | Not found: type UnknownAfterFooModule",
71+
"[error] |",
72+
"[error] | longer explanation available when compiling with `-explain`",
73+
"[error] 8 errors found"
74+
)
75+
)
8076
}
8177
}
8278
}

runner/meta/src/mill/meta/CodeGen.scala

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ object CodeGen {
3030
// Provide `build` as an alias to the root `build_.package_`, since from the user's
3131
// perspective it looks like they're writing things that live in `package build`,
3232
// but at compile-time we rename things, we so provide an alias to preserve the fiction
33-
val aliasImports = "import build_.{package_ => build}"
33+
3434

3535
for (scriptPath <- scriptSources) {
3636
val scriptFolderPath = scriptPath / os.up
@@ -336,16 +336,6 @@ object CodeGen {
336336
case None =>
337337
()
338338
}
339-
objectData.finalStat match {
340-
case Some((_, finalStat)) =>
341-
val statLines = finalStat.text.linesWithSeparators.toSeq
342-
val fenced = Seq(
343-
"",
344-
if statLines.sizeIs > 1 then statLines.tail.mkString else finalStat.text
345-
).mkString(System.lineSeparator())
346-
newScriptCode = finalStat.applyTo(newScriptCode, fenced)
347-
case None => ()
348-
}
349339

350340
var generatedStub: String = ""
351341
newScriptCode = objectData.parent.applyTo(
@@ -382,8 +372,7 @@ object CodeGen {
382372

383373
s"""$headerCode
384374
|$generatedStub
385-
|$markerComment
386-
|$newScriptCode
375+
|$markerComment$newScriptCode
387376
|""".stripMargin
388377

389378
case None =>

runner/meta/src/mill/meta/FileImportGraph.scala

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@ import mill.internal.Util.backtickWrap
1717
* @param metaBuild If `true`, a meta-build is enabled
1818
*/
1919
@internal
20-
case class FileImportGraph(seenScripts: Map[os.Path, String],
21-
errors: Seq[String],
22-
seenPkgStatements: Map[os.Path, String])
20+
case class FileImportGraph(
21+
seenScripts: Map[os.Path, String],
22+
errors: Seq[String],
23+
seenPkgStatements: Map[os.Path, String]
24+
)
2325

2426
/**
2527
* Logic around traversing the `import $file` graph, extracting necessary info

0 commit comments

Comments
 (0)