Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incorrect zinc modified binary dependencies #1901

Closed
jilen opened this issue Jun 18, 2022 · 21 comments · Fixed by #1904
Closed

Incorrect zinc modified binary dependencies #1901

jilen opened this issue Jun 18, 2022 · 21 comments · Fixed by #1904
Milestone

Comments

@jilen
Copy link
Contributor

jilen commented Jun 18, 2022

Recently I report incremental compiling not working for me in gitter. After some investigation I found the following zinc log shows that the jdk internal class are marked modified binary dependenices while recompiling. Seems jdk jars are not in classpath.

[debug] Modified binary dependencies: HashSet(/modules/java.base/java/time/ZoneId.class, /modules/java.base/java/time/DayOfWeek.class, /modules/java.base/java/time/Duration.class, /modules/java.base/java/time/Instant.class, /modules/java.base/java/io/Serializable.class, /modules/java.base/java/lang/Class.class, /modules/java.base/java/nio/charset/Charset.class, /modules/java.base/java/security/MessageDigest.class, /modules/java.base/java/time/LocalTime.class, /modules/java.base/java/lang/Throwable.class, /modules/java.base/java/time/temporal/TemporalAccessor.class, /modules/java.base/java/lang/CharSequence.class, /modules/java.base/java/nio/charset/StandardCharsets.class, /modules/java.base/java/time/ZonedDateTime.class, /modules/java.base/java/time/chrono/ChronoLocalDate.class, /modules/java.base/java/time/chrono/ChronoLocalDateTime.class, /modules/java.base/java/time/chrono/ChronoZonedDateTime.class, /modules/java.base/java/lang/RuntimeException.class, /modules/java.base/java/time/OffsetDateTime.class, /modules/java.base/java/time/LocalDateTime.class, /modules/java.base/java/lang/String.class, /modules/java.base/java/lang/Math.class, /modules/java.base/java/lang/Object.class, /modules/java.base/java/time/format/DateTimeFormatter.class, /modules/java.base/java/time/ZoneOffset.class, /modules/java.base/java/lang/Exception.class, /modules/java.base/java/time/temporal/ChronoUnit.class, /modules/java.base/java/time/LocalDate.class, /modules/java.base/java/time/temporal/Temporal.class)
[debug] Invalidating '/modules/java.base/java/time/Instant.class' because could not find class java.time.Instant on the classpath.
[debug] Invalidating '/modules/java.base/java/lang/Throwable.class' because could not find class java.lang.Throwable on the classpath.
[debug] Invalidating '/modules/java.base/java/time/ZoneOffset.class' because could not find class java.time.ZoneOffset on the classpath.
[debug] Invalidating '/modules/java.base/java/lang/RuntimeException.class' because could not find class java.lang.RuntimeException on the classpath.
[debug] Invalidating '/modules/java.base/java/nio/charset/Charset.class' because could not find class java.nio.charset.Charset on the classpath.
[debug] Invalidating '/modules/java.base/java/time/ZoneId.class' because could not find class java.time.ZoneId on the classpath.
[debug] Invalidating '/modules/java.base/java/io/Serializable.class' because could not find class java.io.Serializable on the classpath.
[debug] Invalidating '/modules/java.base/java/time/OffsetDateTime.class' because could not find class java.time.OffsetDateTime on the classpath.
[debug] Invalidating '/modules/java.base/java/lang/Exception.class' because could not find class java.lang.Exception on the classpath.
[debug] Invalidating '/modules/java.base/java/time/temporal/TemporalAccessor.class' because could not find class java.time.temporal.TemporalAccessor on the classpath.
[debug] Invalidating '/modules/java.base/java/lang/CharSequence.class' because could not find class java.lang.CharSequence on the classpath.
[debug] Invalidating '/modules/java.base/java/time/LocalDateTime.class' because could not find class java.time.LocalDateTime on the classpath.
[debug] Invalidating '/modules/java.base/java/time/DayOfWeek.class' because could not find class java.time.DayOfWeek on the classpath.
[debug] Invalidating '/modules/java.base/java/time/temporal/ChronoUnit.class' because could not find class java.time.temporal.ChronoUnit on the classpath.
[debug] Invalidating '/modules/java.base/java/lang/String.class' because could not find class java.lang.String on the classpath.
[debug] Invalidating '/modules/java.base/java/time/Duration.class' because could not find class java.time.Duration on the classpath.
[debug] Invalidating '/modules/java.base/java/time/LocalDate.class' because could not find class java.time.LocalDate on the classpath.
[debug] Invalidating '/modules/java.base/java/nio/charset/StandardCharsets.class' because could not find class java.nio.charset.StandardCharsets on the classpath.
[debug] Invalidating '/modules/java.base/java/time/chrono/ChronoLocalDateTime.class' because could not find class java.time.chrono.ChronoLocalDateTime on the classpath.
[debug] Invalidating '/modules/java.base/java/security/MessageDigest.class' because could not find class java.security.MessageDigest on the classpath.
[debug] Invalidating '/modules/java.base/java/time/temporal/Temporal.class' because could not find class java.time.temporal.Temporal on the classpath.
[debug] Invalidating '/modules/java.base/java/time/LocalTime.class' because could not find class java.time.LocalTime on the classpath.
[debug] Invalidating '/modules/java.base/java/time/ZonedDateTime.class' because could not find class java.time.ZonedDateTime on the classpath.
[debug] Invalidating '/modules/java.base/java/lang/Math.class' because could not find class java.lang.Math on the classpath.
[debug] Invalidating '/modules/java.base/java/time/chrono/ChronoLocalDate.class' because could not find class java.time.chrono.ChronoLocalDate on the classpath.
[debug] Invalidating '/modules/java.base/java/time/chrono/ChronoZonedDateTime.class' because could not find class java.time.chrono.ChronoZonedDateTime on the classpath.
[debug] Invalidating '/modules/java.base/java/lang/Object.class' because could not find class java.lang.Object on the classpath.
[debug] Invalidating '/modules/java.base/java/time/format/DateTimeFormatter.class' because could not find class java.time.format.DateTimeFormatter on the classpath.
[debug] Invalidating '/modules/java.base/java/lang/Class.class' because could not find class java.lang.Class on the classpath.

Note, this log can be turned on by changing logger level in ZincWorkerImpl to Debug

LogExchange.bindLoggerAppenders(loggerId, (consoleAppender -> sbt.util.Level.Info) :: Nil)

And most my source files referring to java.time related classes.
Also, this not apply to sbt, sbt did incremental compiling without any issue.

@lefou lefou added the need-more-info More information is needed to reproduce or fix the issue label Jun 19, 2022
@lefou
Copy link
Member

lefou commented Jun 19, 2022

More info needed, e.g. your OS, Java version, shell, Mill version, build.sc?

@jilen
Copy link
Contributor Author

jilen commented Jun 20, 2022

OS: Linux and MacOs
Java version: java 17
MIll verson: fresh build from the mill latest codebase.

Java 8 don't has this issue. Haven't test other java versions yet.

Could be reproduced with this repo https://github.com/jilen/mill-format-prj

https://github.com/jilen/mill-format-prj/runs/6959591588?check_suite_focus=true#step:5:469

@lefou
Copy link
Member

lefou commented Jun 20, 2022

I can reproduce this issue with Open JDK 17.

Side note: To use Mill with Zinc debug logging, I applied PR #1903 locally (dev-mill).

09:23:45 θ77° lefou:~/work/tmp/mill-format-prj main* ± JAVA_HOME=/opt/openjdk-bin-17 dev-mill --version
Mill Build Tool version 0.10.4-26-160b65-DIRTY763bd008
Java version: 17.0.2, vendor: Eclipse Adoptium, runtime: /opt/openjdk-bin-17.0.2_p8
Default locale: de_DE, platform encoding: UTF-8
OS name: "Linux", version: 5.15.32-gentoo-r1-x86_64, arch: amd64

First compilation

09:23:48 θ72° lefou:~/work/tmp/mill-format-prj main* ± JAVA_HOME=/opt/openjdk-bin-17 dev-mill --no-server --debug __.compile
[32/32] app.compile 
Compiling compiler interface...
[debug] [zinc] IncrementalCompile -----------
[debug] IncrementalCompile.incrementalCompile
[debug] previous = Stamps for: 0 products, 0 sources, 0 libraries
[debug] current source = Set(/home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala, /home/lefou/work/tmp/mill-format-prj/app/src/main/scala/models/TestModel1.scala)
[debug] > initialChanges = InitialChanges(Changes(added = Set(/home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala, /home/lefou/work/tmp/mill-format-prj/app/src/main/scala/models/TestModel1.scala), removed = Set(), changed = Set(), unmodified = ...),Set(),Set(),API Changes: Set())
[debug] Full compilation, no sources in previous analysis.
[debug] all 2 sources are invalidated
[debug] Initial set of included nodes: 
2022-06-20 09:24:04,725 main ERROR Unable to format msg: Recompiling all sources: number of invalidated sources > 50.0% of all sources java.util.IllegalFormatConversionException: o != [Ljava.lang.Object;
        at java.base/java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4442)
        at java.base/java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2963)
        at java.base/java.util.Formatter$FormatSpecifier.print(Formatter.java:2918)
        at java.base/java.util.Formatter.format(Formatter.java:2689)
        at java.base/java.util.Formatter.format(Formatter.java:2625)
        at java.base/java.lang.String.format(String.java:4181)
        at org.apache.logging.log4j.message.StringFormattedMessage.formatMessage(StringFormattedMessage.java:116)
        at org.apache.logging.log4j.message.StringFormattedMessage.getFormattedMessage(StringFormattedMessage.java:88)
        at sbt.internal.util.Appender.$anonfun$appendMessage$1(ConsoleAppender.scala:508)
        at sbt.internal.util.Appender.appendLog(ConsoleAppender.scala:426)
        at sbt.internal.util.Appender.appendLog$(ConsoleAppender.scala:425)
        at sbt.internal.util.ConsoleAppender.appendLog(ConsoleAppender.scala:336)
        at sbt.internal.util.Appender.appendMessage(ConsoleAppender.scala:508)
        at sbt.internal.util.Appender.appendMessage$(ConsoleAppender.scala:504)
        at sbt.internal.util.ConsoleAppender.appendMessage(ConsoleAppender.scala:336)
        at sbt.internal.util.ConsoleAppender.$anonfun$toLog4J$1(ConsoleAppender.scala:350)
        at sbt.internal.util.ConsoleAppender.$anonfun$toLog4J$1$adapted(ConsoleAppender.scala:347)
        at sbt.internal.util.Log4JConsoleAppender.append(ConsoleAppender.scala:571)
        at sbt.internal.util.ConsoleAppenderFromLog4J.appendLog(ConsoleAppender.scala:584)
        at sbt.util.LoggerContext$LoggerContextImpl$Log.$anonfun$log$2(LoggerContext.scala:123)
        at sbt.util.LoggerContext$LoggerContextImpl$Log.$anonfun$log$2$adapted(LoggerContext.scala:123)
        at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
        at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
        at scala.collection.AbstractIterable.foreach(Iterable.scala:926)
        at sbt.util.LoggerContext$LoggerContextImpl$Log.log(LoggerContext.scala:123)
        at sbt.internal.util.ManagedLogger.log(ManagedLogger.scala:41)
        at sbt.util.Logger.debug(Logger.scala:25)
        at sbt.internal.inc.IncrementalCommon.expand$1(IncrementalCommon.scala:285)
        at sbt.internal.inc.IncrementalCommon.mapInvalidationsToSources(IncrementalCommon.scala:291)
        at sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:88)
        at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:56)
        at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:52)
        at sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:263)
        at sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:416)
        at sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:503)
        at sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:403)
        at sbt.internal.inc.Incremental$.apply(Incremental.scala:169)
        at sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:528)
        at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:482)
        at sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:332)
        at sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:420)
        at sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:137)
        at mill.scalalib.worker.ZincWorkerImpl.compileInternal(ZincWorkerImpl.scala:547)
        at mill.scalalib.worker.ZincWorkerImpl.$anonfun$compileMixed0$1(ZincWorkerImpl.scala:319)
        at mill.api.FixSizedCache.withCachedValue(FixSizedCache.scala:66)
        at mill.scalalib.worker.ZincWorkerImpl.withCompilers(ZincWorkerImpl.scala:401)
        at mill.scalalib.worker.ZincWorkerImpl.compileMixed0(ZincWorkerImpl.scala:318)
        at mill.scalalib.worker.ZincWorkerImpl.compileMixed(ZincWorkerImpl.scala:286)
        at mill.scalalib.ScalaModule.$anonfun$compile$2(ScalaModule.scala:195)
        at mill.define.Task$TraverseCtx.evaluate(Task.scala:380)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$13(Evaluator.scala:627)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withErr(Console.scala:193)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$12(Evaluator.scala:627)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withOut(Console.scala:164)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$11(Evaluator.scala:626)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withIn(Console.scala:227)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$8(Evaluator.scala:625)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$8$adapted(Evaluator.scala:586)
        at scala.collection.immutable.Vector.foreach(Vector.scala:1856)
        at mill.eval.Evaluator.evaluateGroup(Evaluator.scala:586)
        at mill.eval.Evaluator.$anonfun$evaluateGroupCached$21(Evaluator.scala:478)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at mill.eval.Evaluator.evaluateGroupCached(Evaluator.scala:469)
        at mill.eval.Evaluator.$anonfun$sequentialEvaluate$2(Evaluator.scala:202)
        at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
        at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1293)
        at mill.eval.Evaluator.sequentialEvaluate(Evaluator.scala:177)
        at mill.eval.Evaluator.evaluate(Evaluator.scala:162)
        at mill.main.RunScript$.evaluateNamed(RunScript.scala:364)
        at mill.main.RunScript$.evaluate(RunScript.scala:349)
        at mill.main.RunScript$.$anonfun$evaluateTasks$1(RunScript.scala:314)
        at scala.util.Either.map(Either.scala:382)
        at mill.main.RunScript$.evaluateTasks(RunScript.scala:312)
        at mill.main.RunScript$.$anonfun$runScript$8(RunScript.scala:105)
        at ammonite.util.Res$Success.flatMap(Res.scala:62)
        at mill.main.RunScript$.runScript(RunScript.scala:104)
        at mill.main.MainRunner.$anonfun$runScript$1(MainRunner.scala:119)
        at mill.main.MainRunner.watchLoop2(MainRunner.scala:67)
        at mill.main.MainRunner.runScript(MainRunner.scala:92)
        at mill.MillMain$.main0(MillMain.scala:310)
        at mill.MillMain$.main(MillMain.scala:52)
        at mill.MillMain.main(MillMain.scala)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at mill.main.client.IsolatedMillMainLoader.runMain(IsolatedMillMainLoader.java:58)
        at mill.main.client.MillClientMain.main(MillClientMain.java:67)

[debug] Recompiling all sources: number of invalidated sources > 50.0% of all sources
[debug] compilation cycle 1
[info] compiling 2 Scala sources to /home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes ...
[debug] Returning already retrieved and compiled bridge: /home/lefou/work/tmp/mill-format-prj/out/mill/scalalib/ZincWorkerModule/worker.dest/zinc-1.6.1/2.13.8/compiled.
[debug] [zinc] Running cached compiler 8fa7a01 for Scala compiler version 2.13.8
[debug] [zinc] The Scala compiler is invoked with:
[debug]         -bootclasspath
[debug]         /home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.8/scala-library-2.13.8.jar
[debug]         -classpath
[debug]         /home/lefou/work/tmp/mill-format-prj/app/src/main/resources:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-sql_2.13/3.18.0/quill-sql_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-engine_2.13/3.18.0/quill-engine_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-core_2.13/3.18.0/quill-core_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/pprint_2.13/0.6.6/pprint_2.13-0.6.6.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.13/2.7.0/scala-collection-compat_2.13-2.7.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/scala-logging/scala-logging_2.13/3.9.4/scala-logging_2.13-3.9.4.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/takayahilton/sql-formatter_2.13/1.2.1/sql-formatter_2.13-1.2.1.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/suzaku/boopickle_2.13/1.4.0/boopickle_2.13-1.4.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-logging_2.13/0.5.14/zio-logging_2.13-0.5.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fansi_2.13/0.2.14/fansi_2.13-0.2.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.13/0.2.7/sourcecode_2.13-0.2.7.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.8/scala-reflect-2.13.8.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio_2.13/1.0.12/zio_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-streams_2.13/1.0.12/zio-streams_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-stacktracer_2.13/1.0.12/zio-stacktracer_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect_2.13/1.1.3/izumi-reflect_2.13-1.1.3.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect-thirdparty-boopickle-shaded_2.13/1.1.3/izumi-reflect-thirdparty-boopickle-shaded_2.13-1.1.3.jar:/home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes
2022-06-20 09:24:09,295 main ERROR Unable to format msg: /home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala:19:12: SELECT c.name, c.age FROM person c WHERE c.name like ('% $1' || ?) || '%' java.util.UnknownFormatConversionException: Conversion = ' '
        at java.base/java.util.Formatter.parse(Formatter.java:2750)
        at java.base/java.util.Formatter.format(Formatter.java:2671)
        at java.base/java.util.Formatter.format(Formatter.java:2625)
        at java.base/java.lang.String.format(String.java:4181)
        at org.apache.logging.log4j.message.StringFormattedMessage.formatMessage(StringFormattedMessage.java:116)
        at org.apache.logging.log4j.message.StringFormattedMessage.getFormattedMessage(StringFormattedMessage.java:88)
        at sbt.internal.util.Appender.$anonfun$appendMessage$1(ConsoleAppender.scala:508)
        at sbt.internal.util.Appender.appendLog(ConsoleAppender.scala:426)
        at sbt.internal.util.Appender.appendLog$(ConsoleAppender.scala:425)
        at sbt.internal.util.ConsoleAppender.appendLog(ConsoleAppender.scala:336)
        at sbt.internal.util.Appender.appendMessage(ConsoleAppender.scala:508)
        at sbt.internal.util.Appender.appendMessage$(ConsoleAppender.scala:504)
        at sbt.internal.util.ConsoleAppender.appendMessage(ConsoleAppender.scala:336)
        at sbt.internal.util.ConsoleAppender.$anonfun$toLog4J$1(ConsoleAppender.scala:350)
        at sbt.internal.util.ConsoleAppender.$anonfun$toLog4J$1$adapted(ConsoleAppender.scala:347)
        at sbt.internal.util.Log4JConsoleAppender.append(ConsoleAppender.scala:571)
        at sbt.internal.util.ConsoleAppenderFromLog4J.appendLog(ConsoleAppender.scala:584)
        at sbt.internal.util.Appender.$anonfun$appendMessageContent$3(ConsoleAppender.scala:544)
        at sbt.internal.util.Appender.$anonfun$appendMessageContent$3$adapted(ConsoleAppender.scala:542)
        at scala.collection.immutable.Vector.foreach(Vector.scala:1856)
        at sbt.internal.util.Appender.appendEvent$1(ConsoleAppender.scala:542)
        at sbt.internal.util.Appender.appendMessageContent(ConsoleAppender.scala:553)
        at sbt.internal.util.Appender.appendObjectEvent(ConsoleAppender.scala:558)
        at sbt.internal.util.Appender.appendObjectEvent$(ConsoleAppender.scala:557)
        at sbt.internal.util.ConsoleAppenderFromLog4J.appendObjectEvent(ConsoleAppender.scala:573)
        at sbt.util.LoggerContext$LoggerContextImpl$Log.$anonfun$log$4(LoggerContext.scala:129)
        at java.base/java.util.Vector.forEach(Vector.java:1365)
        at sbt.util.LoggerContext$LoggerContextImpl$Log.log(LoggerContext.scala:127)
        at sbt.internal.util.ManagedLogger.logEvent(ManagedLogger.scala:92)
        at sbt.internal.util.ManagedLogger.infoEvent(ManagedLogger.scala:79)
        at sbt.internal.inc.ManagedLoggedReporter.logInfo(LoggedReporter.scala:88)
        at sbt.internal.inc.LoggedReporter.display(LoggedReporter.scala:169)
        at sbt.internal.inc.LoggedReporter.log(LoggedReporter.scala:144)
        at xsbt.DelegatingReporter.info0(DelegatingReporter.scala:185)
        at scala.tools.nsc.reporters.MakeFilteringForwardingReporter.doReport(ForwardingReporter.scala:59)
        at scala.tools.nsc.reporters.FilteringReporter.info0(Reporter.scala:104)
        at scala.reflect.internal.Reporter.echo(Reporting.scala:109)
        at scala.reflect.macros.contexts.FrontEnds.info(FrontEnds.scala:25)
        at scala.reflect.macros.contexts.FrontEnds.info$(FrontEnds.scala:25)
        at scala.reflect.macros.contexts.Context.info(Context.scala:18)
        at scala.reflect.macros.contexts.Context.info(Context.scala:18)
        at io.getquill.util.MacroContextExt$RichContext.query(MacroContextExt.scala:35)
        at io.getquill.context.ContextMacro.translateStatic(ContextMacro.scala:70)
        at io.getquill.context.ContextMacro.translate(ContextMacro.scala:35)
        at io.getquill.context.ContextMacro.expand(ContextMacro.scala:22)
        at io.getquill.context.ContextMacro.expand$(ContextMacro.scala:19)
        at io.getquill.context.QueryMacro.expand(QueryMacro.scala:9)
        at io.getquill.context.QueryMacro.expandQueryWithMeta(QueryMacro.scala:208)
        at io.getquill.context.QueryMacro.expandQuery(QueryMacro.scala:53)
        at io.getquill.context.QueryMacro.runQuery(QueryMacro.scala:35)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at scala.reflect.macros.runtime.JavaReflectionRuntimes$JavaReflectionResolvers.$anonfun$resolveJavaReflectionRuntime$5(JavaReflectionRuntimes.scala:45)
        at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:770)
        at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:746)
        at scala.tools.nsc.Global$$anon$6.macroExpandWithRuntime(Global.scala:490)
        at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:576)
        at scala.tools.nsc.Global.withInfoLevel(Global.scala:233)
        at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:569)
        at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:556)
        at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:731)
        at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:729)
        at scala.tools.nsc.Global$$anon$6.standardMacroExpand(Global.scala:490)
        at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$11.default(AnalyzerPlugins.scala:473)
        at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$11.default(AnalyzerPlugins.scala:470)
        at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:427)
        at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:470)
        at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:470)
        at scala.tools.nsc.Global$$anon$6.pluginsMacroExpand(Global.scala:490)
        at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:720)
        at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:713)
        at scala.tools.nsc.Global$$anon$6.macroExpand(Global.scala:490)
        at scala.tools.nsc.typechecker.Typers$Typer.vanillaAdapt$1(Typers.scala:1209)
        at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1278)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6056)
        at scala.tools.nsc.typechecker.Typers$Typer.typedBlock(Typers.scala:2565)
        at scala.tools.nsc.typechecker.Typers$Typer.typedOutsidePatternMode$1(Typers.scala:5960)
        at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5995)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6041)
        at scala.tools.nsc.typechecker.Typers$Typer.computeType(Typers.scala:6130)
        at scala.tools.nsc.typechecker.Namers$Namer.assignTypeToTree(Namers.scala:1127)
        at scala.tools.nsc.typechecker.Namers$Namer.methodSig(Namers.scala:1449)
        at scala.tools.nsc.typechecker.Namers$Namer.memberSig(Namers.scala:1929)
        at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:1880)
        at scala.tools.nsc.typechecker.Namers$Namer$MonoTypeCompleter.completeImpl(Namers.scala:874)
        at scala.tools.nsc.typechecker.Namers$LockingTypeCompleter.complete(Namers.scala:2078)
        at scala.tools.nsc.typechecker.Namers$LockingTypeCompleter.complete$(Namers.scala:2076)
        at scala.tools.nsc.typechecker.Namers$TypeCompleterBase.complete(Namers.scala:2071)
        at scala.reflect.internal.Symbols$Symbol.completeInfo(Symbols.scala:1561)
        at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1533)
        at scala.reflect.internal.Symbols$Symbol.initialize(Symbols.scala:1722)
        at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5625)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6041)
        at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:6119)
        at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$8(Typers.scala:3410)
        at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3410)
        at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:2064)
        at scala.tools.nsc.typechecker.Typers$Typer.typedModuleDef(Typers.scala:1940)
        at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5952)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6041)
        at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:6119)
        at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$8(Typers.scala:3410)
        at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3410)
        at scala.tools.nsc.typechecker.Typers$Typer.typedPackageDef$1(Typers.scala:5634)
        at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5954)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6041)
        at scala.tools.nsc.typechecker.Analyzer$typerFactory$TyperPhase.apply(Analyzer.scala:117)
        at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:459)
        at scala.tools.nsc.typechecker.Analyzer$typerFactory$TyperPhase.run(Analyzer.scala:106)
        at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1524)
        at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1508)
        at scala.tools.nsc.Global$Run.compileSources(Global.scala:1500)
        at scala.tools.nsc.Global$Run.compileFiles(Global.scala:1613)
        at xsbt.CachedCompiler0.run(CompilerBridge.scala:163)
        at xsbt.CachedCompiler0.run(CompilerBridge.scala:134)
        at xsbt.CompilerBridge.run(CompilerBridge.scala:39)
        at sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:91)
        at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$7(MixedAnalyzingCompiler.scala:192)
        at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
        at sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:247)
        at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:182)
        at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4$adapted(MixedAnalyzingCompiler.scala:163)
        at sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:239)
        at sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:163)
        at sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:210)
        at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:528)
        at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:528)
        at sbt.internal.inc.Incremental$.$anonfun$apply$5(Incremental.scala:177)
        at sbt.internal.inc.Incremental$.$anonfun$apply$5$adapted(Incremental.scala:175)
        at sbt.internal.inc.Incremental$$anon$2.run(Incremental.scala:461)
        at sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:116)
        at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:56)
        at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:52)
        at sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:263)
        at sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:416)
        at sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:503)
        at sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:403)
        at sbt.internal.inc.Incremental$.apply(Incremental.scala:169)
        at sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:528)
        at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:482)
        at sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:332)
        at sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:420)
        at sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:137)
        at mill.scalalib.worker.ZincWorkerImpl.compileInternal(ZincWorkerImpl.scala:547)
        at mill.scalalib.worker.ZincWorkerImpl.$anonfun$compileMixed0$1(ZincWorkerImpl.scala:319)
        at mill.api.FixSizedCache.withCachedValue(FixSizedCache.scala:66)
        at mill.scalalib.worker.ZincWorkerImpl.withCompilers(ZincWorkerImpl.scala:401)
        at mill.scalalib.worker.ZincWorkerImpl.compileMixed0(ZincWorkerImpl.scala:318)
        at mill.scalalib.worker.ZincWorkerImpl.compileMixed(ZincWorkerImpl.scala:286)
        at mill.scalalib.ScalaModule.$anonfun$compile$2(ScalaModule.scala:195)
        at mill.define.Task$TraverseCtx.evaluate(Task.scala:380)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$13(Evaluator.scala:627)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withErr(Console.scala:193)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$12(Evaluator.scala:627)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withOut(Console.scala:164)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$11(Evaluator.scala:626)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withIn(Console.scala:227)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$8(Evaluator.scala:625)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$8$adapted(Evaluator.scala:586)
        at scala.collection.immutable.Vector.foreach(Vector.scala:1856)
        at mill.eval.Evaluator.evaluateGroup(Evaluator.scala:586)
        at mill.eval.Evaluator.$anonfun$evaluateGroupCached$21(Evaluator.scala:478)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at mill.eval.Evaluator.evaluateGroupCached(Evaluator.scala:469)
        at mill.eval.Evaluator.$anonfun$sequentialEvaluate$2(Evaluator.scala:202)
        at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
        at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1293)
        at mill.eval.Evaluator.sequentialEvaluate(Evaluator.scala:177)
        at mill.eval.Evaluator.evaluate(Evaluator.scala:162)
        at mill.main.RunScript$.evaluateNamed(RunScript.scala:364)
        at mill.main.RunScript$.evaluate(RunScript.scala:349)
        at mill.main.RunScript$.$anonfun$evaluateTasks$1(RunScript.scala:314)
        at scala.util.Either.map(Either.scala:382)
        at mill.main.RunScript$.evaluateTasks(RunScript.scala:312)
        at mill.main.RunScript$.$anonfun$runScript$8(RunScript.scala:105)
        at ammonite.util.Res$Success.flatMap(Res.scala:62)
        at mill.main.RunScript$.runScript(RunScript.scala:104)
        at mill.main.MainRunner.$anonfun$runScript$1(MainRunner.scala:119)
        at mill.main.MainRunner.watchLoop2(MainRunner.scala:67)
        at mill.main.MainRunner.runScript(MainRunner.scala:92)
        at mill.MillMain$.main0(MillMain.scala:310)
        at mill.MillMain$.main(MillMain.scala:52)
        at mill.MillMain.main(MillMain.scala)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at mill.main.client.IsolatedMillMainLoader.runMain(IsolatedMillMainLoader.java:58)
        at mill.main.client.MillClientMain.main(MillClientMain.java:67)

[info] /home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala:19:12: SELECT c.name, c.age FROM person c WHERE c.name like ('% $1' || ?) || '%'
[info]     ctx.run(q)
[info]            ^
[debug] Scala compilation took 6.594329847 s
[info] done compiling

Second compilation:

I changed one file.

09:24:11 θ77° lefou:~/work/tmp/mill-format-prj main* 21s ± echo " " >> app/src/main/scala/App.scala

Expectation: Only one file needs recompilation.

Watched effect: Two (all) files are reported to be re-compiled.

09:24:20 θ64° lefou:~/work/tmp/mill-format-prj main(+1/-0)* ± JAVA_HOME=/opt/openjdk-bin-17 dev-mill --no-server --debug __.compile
[32/32] app.compile 
[debug] [zinc] IncrementalCompile -----------
[debug] IncrementalCompile.incrementalCompile
[debug] previous = Stamps for: 10 products, 2 sources, 9 libraries
[debug] current source = Set(/home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala, /home/lefou/work/tmp/mill-format-prj/app/src/main/scala/models/TestModel1.scala)
[debug] Invalidating '/modules/java.base/java/lang/String.class' because could not find class java.lang.String on the classpath.
[debug] Invalidating '/modules/java.base/java/io/Serializable.class' because could not find class java.io.Serializable on the classpath.
[debug] Invalidating '/modules/java.base/java/time/LocalDateTime.class' because could not find class java.time.LocalDateTime on the classpath.
[debug] Invalidating '/modules/java.base/java/lang/Object.class' because could not find class java.lang.Object on the classpath.
[debug] Invalidating '/modules/java.base/java/lang/Class.class' because could not find class java.lang.Class on the classpath.
[debug] > initialChanges = InitialChanges(Changes(added = Set(), removed = Set(), changed = Set(/home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala), unmodified = ...),Set(),HashSet(/modules/java.base/java/time/LocalDateTime.class, /modules/java.base/java/lang/String.class, /modules/java.base/java/io/Serializable.class, /modules/java.base/java/lang/Object.class, /modules/java.base/java/lang/Class.class),API Changes: Set())
[debug] 
[debug] Initial source changes:
[debug]         removed: Set()
[debug]         added: Set()
[debug]         modified: Set(/home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala)
[debug] Invalidated products: Set()
[debug] External API changes: API Changes: Set()
[debug] Modified binary dependencies: HashSet(/modules/java.base/java/time/LocalDateTime.class, /modules/java.base/java/lang/String.class, /modules/java.base/java/io/Serializable.class, /modules/java.base/java/lang/Object.class, /modules/java.base/java/lang/Class.class)
[debug] Initial directly invalidated classes: Set(app.App.Person, app.App)
[debug] Sources indirectly invalidated by:
[debug]         product: Set()
[debug]         binary dep: HashSet(/home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala, /home/lefou/work/tmp/mill-format-prj/app/src/main/scala/models/TestModel1.scala)
[debug]         external source: Set()
[debug] all 2 sources are invalidated
[debug] Initial set of included nodes: app.App.Person, app.App
2022-06-20 09:24:29,064 main ERROR Unable to format msg: Recompiling all sources: number of invalidated sources > 50.0% of all sources java.util.IllegalFormatConversionException: o != [Ljava.lang.Object;
        at java.base/java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4442)
        at java.base/java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2963)
        at java.base/java.util.Formatter$FormatSpecifier.print(Formatter.java:2918)
        at java.base/java.util.Formatter.format(Formatter.java:2689)
        at java.base/java.util.Formatter.format(Formatter.java:2625)
        at java.base/java.lang.String.format(String.java:4181)
        at org.apache.logging.log4j.message.StringFormattedMessage.formatMessage(StringFormattedMessage.java:116)
        at org.apache.logging.log4j.message.StringFormattedMessage.getFormattedMessage(StringFormattedMessage.java:88)
        at sbt.internal.util.Appender.$anonfun$appendMessage$1(ConsoleAppender.scala:508)
        at sbt.internal.util.Appender.appendLog(ConsoleAppender.scala:426)
        at sbt.internal.util.Appender.appendLog$(ConsoleAppender.scala:425)
        at sbt.internal.util.ConsoleAppender.appendLog(ConsoleAppender.scala:336)
        at sbt.internal.util.Appender.appendMessage(ConsoleAppender.scala:508)
        at sbt.internal.util.Appender.appendMessage$(ConsoleAppender.scala:504)
        at sbt.internal.util.ConsoleAppender.appendMessage(ConsoleAppender.scala:336)
        at sbt.internal.util.ConsoleAppender.$anonfun$toLog4J$1(ConsoleAppender.scala:350)
        at sbt.internal.util.ConsoleAppender.$anonfun$toLog4J$1$adapted(ConsoleAppender.scala:347)
        at sbt.internal.util.Log4JConsoleAppender.append(ConsoleAppender.scala:571)
        at sbt.internal.util.ConsoleAppenderFromLog4J.appendLog(ConsoleAppender.scala:584)
        at sbt.util.LoggerContext$LoggerContextImpl$Log.$anonfun$log$2(LoggerContext.scala:123)
        at sbt.util.LoggerContext$LoggerContextImpl$Log.$anonfun$log$2$adapted(LoggerContext.scala:123)
        at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
        at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
        at scala.collection.AbstractIterable.foreach(Iterable.scala:926)
        at sbt.util.LoggerContext$LoggerContextImpl$Log.log(LoggerContext.scala:123)
        at sbt.internal.util.ManagedLogger.log(ManagedLogger.scala:41)
        at sbt.util.Logger.debug(Logger.scala:25)
        at sbt.internal.inc.IncrementalCommon.expand$1(IncrementalCommon.scala:285)
        at sbt.internal.inc.IncrementalCommon.mapInvalidationsToSources(IncrementalCommon.scala:291)
        at sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:88)
        at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:56)
        at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:52)
        at sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:263)
        at sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:416)
        at sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:503)
        at sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:403)
        at sbt.internal.inc.Incremental$.apply(Incremental.scala:169)
        at sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:528)
        at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:482)
        at sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:332)
        at sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:420)
        at sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:137)
        at mill.scalalib.worker.ZincWorkerImpl.compileInternal(ZincWorkerImpl.scala:547)
        at mill.scalalib.worker.ZincWorkerImpl.$anonfun$compileMixed0$1(ZincWorkerImpl.scala:319)
        at mill.api.FixSizedCache.withCachedValue(FixSizedCache.scala:66)
        at mill.scalalib.worker.ZincWorkerImpl.withCompilers(ZincWorkerImpl.scala:401)
        at mill.scalalib.worker.ZincWorkerImpl.compileMixed0(ZincWorkerImpl.scala:318)
        at mill.scalalib.worker.ZincWorkerImpl.compileMixed(ZincWorkerImpl.scala:286)
        at mill.scalalib.ScalaModule.$anonfun$compile$2(ScalaModule.scala:195)
        at mill.define.Task$TraverseCtx.evaluate(Task.scala:380)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$13(Evaluator.scala:627)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withErr(Console.scala:193)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$12(Evaluator.scala:627)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withOut(Console.scala:164)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$11(Evaluator.scala:626)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withIn(Console.scala:227)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$8(Evaluator.scala:625)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$8$adapted(Evaluator.scala:586)
        at scala.collection.immutable.Vector.foreach(Vector.scala:1856)
        at mill.eval.Evaluator.evaluateGroup(Evaluator.scala:586)
        at mill.eval.Evaluator.$anonfun$evaluateGroupCached$21(Evaluator.scala:478)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at mill.eval.Evaluator.evaluateGroupCached(Evaluator.scala:469)
        at mill.eval.Evaluator.$anonfun$sequentialEvaluate$2(Evaluator.scala:202)
        at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
        at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1293)
        at mill.eval.Evaluator.sequentialEvaluate(Evaluator.scala:177)
        at mill.eval.Evaluator.evaluate(Evaluator.scala:162)
        at mill.main.RunScript$.evaluateNamed(RunScript.scala:364)
        at mill.main.RunScript$.evaluate(RunScript.scala:349)
        at mill.main.RunScript$.$anonfun$evaluateTasks$1(RunScript.scala:314)
        at scala.util.Either.map(Either.scala:382)
        at mill.main.RunScript$.evaluateTasks(RunScript.scala:312)
        at mill.main.RunScript$.$anonfun$runScript$8(RunScript.scala:105)
        at ammonite.util.Res$Success.flatMap(Res.scala:62)
        at mill.main.RunScript$.runScript(RunScript.scala:104)
        at mill.main.MainRunner.$anonfun$runScript$1(MainRunner.scala:119)
        at mill.main.MainRunner.watchLoop2(MainRunner.scala:67)
        at mill.main.MainRunner.runScript(MainRunner.scala:92)
        at mill.MillMain$.main0(MillMain.scala:310)
        at mill.MillMain$.main(MillMain.scala:52)
        at mill.MillMain.main(MillMain.scala)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at mill.main.client.IsolatedMillMainLoader.runMain(IsolatedMillMainLoader.java:58)
        at mill.main.client.MillClientMain.main(MillClientMain.java:67)

[debug] Recompiling all sources: number of invalidated sources > 50.0% of all sources
[debug] compilation cycle 1
[info] compiling 2 Scala sources to /home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes ...
[debug] Returning already retrieved and compiled bridge: /home/lefou/work/tmp/mill-format-prj/out/mill/scalalib/ZincWorkerModule/worker.dest/zinc-1.6.1/2.13.8/compiled.
[debug] [zinc] Running cached compiler 230232b0 for Scala compiler version 2.13.8
[debug] [zinc] The Scala compiler is invoked with:
[debug]         -bootclasspath
[debug]         /home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.8/scala-library-2.13.8.jar
[debug]         -classpath
[debug]         /home/lefou/work/tmp/mill-format-prj/app/src/main/resources:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-sql_2.13/3.18.0/quill-sql_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-engine_2.13/3.18.0/quill-engine_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-core_2.13/3.18.0/quill-core_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/pprint_2.13/0.6.6/pprint_2.13-0.6.6.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.13/2.7.0/scala-collection-compat_2.13-2.7.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/scala-logging/scala-logging_2.13/3.9.4/scala-logging_2.13-3.9.4.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/takayahilton/sql-formatter_2.13/1.2.1/sql-formatter_2.13-1.2.1.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/suzaku/boopickle_2.13/1.4.0/boopickle_2.13-1.4.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-logging_2.13/0.5.14/zio-logging_2.13-0.5.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fansi_2.13/0.2.14/fansi_2.13-0.2.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.13/0.2.7/sourcecode_2.13-0.2.7.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.8/scala-reflect-2.13.8.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio_2.13/1.0.12/zio_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-streams_2.13/1.0.12/zio-streams_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-stacktracer_2.13/1.0.12/zio-stacktracer_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect_2.13/1.1.3/izumi-reflect_2.13-1.1.3.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect-thirdparty-boopickle-shaded_2.13/1.1.3/izumi-reflect-thirdparty-boopickle-shaded_2.13-1.1.3.jar:/home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes
2022-06-20 09:24:33,645 main ERROR Unable to format msg: /home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala:19:12: SELECT c.name, c.age FROM person c WHERE c.name like ('% $1' || ?) || '%' java.util.UnknownFormatConversionException: Conversion = ' '
        at java.base/java.util.Formatter.parse(Formatter.java:2750)
        at java.base/java.util.Formatter.format(Formatter.java:2671)
        at java.base/java.util.Formatter.format(Formatter.java:2625)
        at java.base/java.lang.String.format(String.java:4181)
        at org.apache.logging.log4j.message.StringFormattedMessage.formatMessage(StringFormattedMessage.java:116)
        at org.apache.logging.log4j.message.StringFormattedMessage.getFormattedMessage(StringFormattedMessage.java:88)
        at sbt.internal.util.Appender.$anonfun$appendMessage$1(ConsoleAppender.scala:508)
        at sbt.internal.util.Appender.appendLog(ConsoleAppender.scala:426)
        at sbt.internal.util.Appender.appendLog$(ConsoleAppender.scala:425)
        at sbt.internal.util.ConsoleAppender.appendLog(ConsoleAppender.scala:336)
        at sbt.internal.util.Appender.appendMessage(ConsoleAppender.scala:508)
        at sbt.internal.util.Appender.appendMessage$(ConsoleAppender.scala:504)
        at sbt.internal.util.ConsoleAppender.appendMessage(ConsoleAppender.scala:336)
        at sbt.internal.util.ConsoleAppender.$anonfun$toLog4J$1(ConsoleAppender.scala:350)
        at sbt.internal.util.ConsoleAppender.$anonfun$toLog4J$1$adapted(ConsoleAppender.scala:347)
        at sbt.internal.util.Log4JConsoleAppender.append(ConsoleAppender.scala:571)
        at sbt.internal.util.ConsoleAppenderFromLog4J.appendLog(ConsoleAppender.scala:584)
        at sbt.internal.util.Appender.$anonfun$appendMessageContent$3(ConsoleAppender.scala:544)
        at sbt.internal.util.Appender.$anonfun$appendMessageContent$3$adapted(ConsoleAppender.scala:542)
        at scala.collection.immutable.Vector.foreach(Vector.scala:1856)
        at sbt.internal.util.Appender.appendEvent$1(ConsoleAppender.scala:542)
        at sbt.internal.util.Appender.appendMessageContent(ConsoleAppender.scala:553)
        at sbt.internal.util.Appender.appendObjectEvent(ConsoleAppender.scala:558)
        at sbt.internal.util.Appender.appendObjectEvent$(ConsoleAppender.scala:557)
        at sbt.internal.util.ConsoleAppenderFromLog4J.appendObjectEvent(ConsoleAppender.scala:573)
        at sbt.util.LoggerContext$LoggerContextImpl$Log.$anonfun$log$4(LoggerContext.scala:129)
        at java.base/java.util.Vector.forEach(Vector.java:1365)
        at sbt.util.LoggerContext$LoggerContextImpl$Log.log(LoggerContext.scala:127)
        at sbt.internal.util.ManagedLogger.logEvent(ManagedLogger.scala:92)
        at sbt.internal.util.ManagedLogger.infoEvent(ManagedLogger.scala:79)
        at sbt.internal.inc.ManagedLoggedReporter.logInfo(LoggedReporter.scala:88)
        at sbt.internal.inc.LoggedReporter.display(LoggedReporter.scala:169)
        at sbt.internal.inc.LoggedReporter.log(LoggedReporter.scala:144)
        at xsbt.DelegatingReporter.info0(DelegatingReporter.scala:185)
        at scala.tools.nsc.reporters.MakeFilteringForwardingReporter.doReport(ForwardingReporter.scala:59)
        at scala.tools.nsc.reporters.FilteringReporter.info0(Reporter.scala:104)
        at scala.reflect.internal.Reporter.echo(Reporting.scala:109)
        at scala.reflect.macros.contexts.FrontEnds.info(FrontEnds.scala:25)
        at scala.reflect.macros.contexts.FrontEnds.info$(FrontEnds.scala:25)
        at scala.reflect.macros.contexts.Context.info(Context.scala:18)
        at scala.reflect.macros.contexts.Context.info(Context.scala:18)
        at io.getquill.util.MacroContextExt$RichContext.query(MacroContextExt.scala:35)
        at io.getquill.context.ContextMacro.translateStatic(ContextMacro.scala:70)
        at io.getquill.context.ContextMacro.translate(ContextMacro.scala:35)
        at io.getquill.context.ContextMacro.expand(ContextMacro.scala:22)
        at io.getquill.context.ContextMacro.expand$(ContextMacro.scala:19)
        at io.getquill.context.QueryMacro.expand(QueryMacro.scala:9)
        at io.getquill.context.QueryMacro.expandQueryWithMeta(QueryMacro.scala:208)
        at io.getquill.context.QueryMacro.expandQuery(QueryMacro.scala:53)
        at io.getquill.context.QueryMacro.runQuery(QueryMacro.scala:35)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at scala.reflect.macros.runtime.JavaReflectionRuntimes$JavaReflectionResolvers.$anonfun$resolveJavaReflectionRuntime$5(JavaReflectionRuntimes.scala:45)
        at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:770)
        at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:746)
        at scala.tools.nsc.Global$$anon$6.macroExpandWithRuntime(Global.scala:490)
        at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:576)
        at scala.tools.nsc.Global.withInfoLevel(Global.scala:233)
        at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:569)
        at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:556)
        at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:731)
        at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:729)
        at scala.tools.nsc.Global$$anon$6.standardMacroExpand(Global.scala:490)
        at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$11.default(AnalyzerPlugins.scala:473)
        at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$11.default(AnalyzerPlugins.scala:470)
        at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:427)
        at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:470)
        at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:470)
        at scala.tools.nsc.Global$$anon$6.pluginsMacroExpand(Global.scala:490)
        at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:720)
        at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:713)
        at scala.tools.nsc.Global$$anon$6.macroExpand(Global.scala:490)
        at scala.tools.nsc.typechecker.Typers$Typer.vanillaAdapt$1(Typers.scala:1209)
        at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1278)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6056)
        at scala.tools.nsc.typechecker.Typers$Typer.typedBlock(Typers.scala:2565)
        at scala.tools.nsc.typechecker.Typers$Typer.typedOutsidePatternMode$1(Typers.scala:5960)
        at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5995)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6041)
        at scala.tools.nsc.typechecker.Typers$Typer.computeType(Typers.scala:6130)
        at scala.tools.nsc.typechecker.Namers$Namer.assignTypeToTree(Namers.scala:1127)
        at scala.tools.nsc.typechecker.Namers$Namer.methodSig(Namers.scala:1449)
        at scala.tools.nsc.typechecker.Namers$Namer.memberSig(Namers.scala:1929)
        at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:1880)
        at scala.tools.nsc.typechecker.Namers$Namer$MonoTypeCompleter.completeImpl(Namers.scala:874)
        at scala.tools.nsc.typechecker.Namers$LockingTypeCompleter.complete(Namers.scala:2078)
        at scala.tools.nsc.typechecker.Namers$LockingTypeCompleter.complete$(Namers.scala:2076)
        at scala.tools.nsc.typechecker.Namers$TypeCompleterBase.complete(Namers.scala:2071)
        at scala.reflect.internal.Symbols$Symbol.completeInfo(Symbols.scala:1561)
        at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1533)
        at scala.reflect.internal.Symbols$Symbol.initialize(Symbols.scala:1722)
        at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5625)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6041)
        at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:6119)
        at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$8(Typers.scala:3410)
        at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3410)
        at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:2064)
        at scala.tools.nsc.typechecker.Typers$Typer.typedModuleDef(Typers.scala:1940)
        at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5952)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6041)
        at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:6119)
        at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$8(Typers.scala:3410)
        at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3410)
        at scala.tools.nsc.typechecker.Typers$Typer.typedPackageDef$1(Typers.scala:5634)
        at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5954)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6041)
        at scala.tools.nsc.typechecker.Analyzer$typerFactory$TyperPhase.apply(Analyzer.scala:117)
        at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:459)
        at scala.tools.nsc.typechecker.Analyzer$typerFactory$TyperPhase.run(Analyzer.scala:106)
        at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1524)
        at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1508)
        at scala.tools.nsc.Global$Run.compileSources(Global.scala:1500)
        at scala.tools.nsc.Global$Run.compileFiles(Global.scala:1613)
        at xsbt.CachedCompiler0.run(CompilerBridge.scala:163)
        at xsbt.CachedCompiler0.run(CompilerBridge.scala:134)
        at xsbt.CompilerBridge.run(CompilerBridge.scala:39)
        at sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:91)
        at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$7(MixedAnalyzingCompiler.scala:192)
        at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
        at sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:247)
        at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:182)
        at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4$adapted(MixedAnalyzingCompiler.scala:163)
        at sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:239)
        at sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:163)
        at sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:210)
        at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:528)
        at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:528)
        at sbt.internal.inc.Incremental$.$anonfun$apply$5(Incremental.scala:177)
        at sbt.internal.inc.Incremental$.$anonfun$apply$5$adapted(Incremental.scala:175)
        at sbt.internal.inc.Incremental$$anon$2.run(Incremental.scala:461)
        at sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:116)
        at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:56)
        at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:52)
        at sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:263)
        at sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:416)
        at sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:503)
        at sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:403)
        at sbt.internal.inc.Incremental$.apply(Incremental.scala:169)
        at sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:528)
        at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:482)
        at sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:332)
        at sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:420)
        at sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:137)
        at mill.scalalib.worker.ZincWorkerImpl.compileInternal(ZincWorkerImpl.scala:547)
        at mill.scalalib.worker.ZincWorkerImpl.$anonfun$compileMixed0$1(ZincWorkerImpl.scala:319)
        at mill.api.FixSizedCache.withCachedValue(FixSizedCache.scala:66)
        at mill.scalalib.worker.ZincWorkerImpl.withCompilers(ZincWorkerImpl.scala:401)
        at mill.scalalib.worker.ZincWorkerImpl.compileMixed0(ZincWorkerImpl.scala:318)
        at mill.scalalib.worker.ZincWorkerImpl.compileMixed(ZincWorkerImpl.scala:286)
        at mill.scalalib.ScalaModule.$anonfun$compile$2(ScalaModule.scala:195)
        at mill.define.Task$TraverseCtx.evaluate(Task.scala:380)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$13(Evaluator.scala:627)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withErr(Console.scala:193)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$12(Evaluator.scala:627)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withOut(Console.scala:164)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$11(Evaluator.scala:626)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withIn(Console.scala:227)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$8(Evaluator.scala:625)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$8$adapted(Evaluator.scala:586)
        at scala.collection.immutable.Vector.foreach(Vector.scala:1856)
        at mill.eval.Evaluator.evaluateGroup(Evaluator.scala:586)
        at mill.eval.Evaluator.$anonfun$evaluateGroupCached$21(Evaluator.scala:478)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at mill.eval.Evaluator.evaluateGroupCached(Evaluator.scala:469)
        at mill.eval.Evaluator.$anonfun$sequentialEvaluate$2(Evaluator.scala:202)
        at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
        at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1293)
        at mill.eval.Evaluator.sequentialEvaluate(Evaluator.scala:177)
        at mill.eval.Evaluator.evaluate(Evaluator.scala:162)
        at mill.main.RunScript$.evaluateNamed(RunScript.scala:364)
        at mill.main.RunScript$.evaluate(RunScript.scala:349)
        at mill.main.RunScript$.$anonfun$evaluateTasks$1(RunScript.scala:314)
        at scala.util.Either.map(Either.scala:382)
        at mill.main.RunScript$.evaluateTasks(RunScript.scala:312)
        at mill.main.RunScript$.$anonfun$runScript$8(RunScript.scala:105)
        at ammonite.util.Res$Success.flatMap(Res.scala:62)
        at mill.main.RunScript$.runScript(RunScript.scala:104)
        at mill.main.MainRunner.$anonfun$runScript$1(MainRunner.scala:119)
        at mill.main.MainRunner.watchLoop2(MainRunner.scala:67)
        at mill.main.MainRunner.runScript(MainRunner.scala:92)
        at mill.MillMain$.main0(MillMain.scala:310)
        at mill.MillMain$.main(MillMain.scala:52)
        at mill.MillMain.main(MillMain.scala)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at mill.main.client.IsolatedMillMainLoader.runMain(IsolatedMillMainLoader.java:58)
        at mill.main.client.MillClientMain.main(MillClientMain.java:67)

[info] /home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala:19:12: SELECT c.name, c.age FROM person c WHERE c.name like ('% $1' || ?) || '%'
[info]     ctx.run(q)
[info]            ^
[debug] Scala compilation took 6.492909444 s
[info] done compiling

Conclusion

I did the same without --no-server option, in which case, zinc properly re-compiles only one file.

I also cannot reproduce this issue with Open JDK 11.

So, it seems an issue with Open JDK 17 and --no-server mode. I can only speculate about the reasons, maybe some instable hashing, that is stable while the VM is running.

Please note, that the given code example also produces another format exception, so this could be related and even causing this issue. Although, the reported exception is also seen in all successful runs, so it is probably unrelated.

@jilen
Copy link
Contributor Author

jilen commented Jun 20, 2022

[debug] Invalidating '/modules/java.base/java/lang/String.class' because could not find class java.lang.String on the classpath.
[debug] Invalidating '/modules/java.base/java/io/Serializable.class' because could not find class java.io.Serializable on the classpath.
[debug] Invalidating '/modules/java.base/java/time/LocalDateTime.class' because could not find class java.time.LocalDateTime on the classpath.
[debug] Invalidating '/modules/java.base/java/lang/Object.class' because could not find class java.lang.Object on the classpath.

Note these lines. It could also be cause by incorrect classpath

@lefou lefou removed the need-more-info More information is needed to reproduce or fix the issue label Jun 20, 2022
@lefou
Copy link
Member

lefou commented Jun 20, 2022

@jilen Could you add a minimal sbt buildfile?

@jilen
Copy link
Contributor Author

jilen commented Jun 20, 2022

Of course, I've add a build.sbt . You can see the sbt debug log by run sbt -debug

@jilen
Copy link
Contributor Author

jilen commented Jun 20, 2022

@lefou I find add vm options -Dscala.ext.dirs=/path/to/java9-rt-ext-oracle_corporation_17_0_3

Unluckily, this not solve the problem.

@lefou
Copy link
Member

lefou commented Jun 20, 2022

@lefou
Copy link
Member

lefou commented Jun 20, 2022

@jilen Is there any reference documentation, describing scala.ext.dirs system property?

I only found the reference to it in the issue linked above.

@jilen
Copy link
Contributor Author

jilen commented Jun 20, 2022

@lefou I found it won't solve the problem.

The difference I found, is:
sbt zinc analysis file won't contain classes like /modules/java.base/java/lang/String.class
but mill does

@lefou
Copy link
Member

lefou commented Jun 21, 2022

I still don't get why this is only relevant when cold-starting zinc?

@jilen
Copy link
Contributor Author

jilen commented Jun 22, 2022

@lefou
Confirmed actually related to scala.ext.dirs.
Add the scalacOption -Vclasspath, then I found with sbt

  scalaExtDirs         = /path/to/rt.jar
  ...
   After java boot/extdirs classpath has 22 entries:
  ZipArchiveClassPath(/path/to/scalalib.jar,None)
  ZipArchiveClassPath(/path/to/rt.jar,None)

But with mill scalac shows scalaExtDirs is empty.

Note, scalaExtDirs is empty even with -Dscala.ext.dirs=/home/jilen/.mill/ammonite in .mill-jvm-opts

@jilen
Copy link
Contributor Author

jilen commented Jun 22, 2022

I still don't get why this is only relevant when cold-starting zinc?

This could be possible.

  • First zinc will filter binary deps from rt.jar
  • And if scala.ext.dirs is not set, scalac report deps associated with file /modules/java.base/xxx.class instead of rt.jar.
  • Zinc persist that binary dep, since compiler says it is not from rt.jar.
  • When compiler is hot, it is ok, compiler can find that path(/modules/java.base/xxx.class).
  • For cold start, zinc try to restore analysis from file, and find the java.lang.XXX binary dep that associated with file /modules/java.base/xxx.class not exists.

@lefou
Copy link
Member

lefou commented Jun 22, 2022

@jilen Can you test, whether this patch fixes the issue?

diff --git a/main/src/mill/MillMain.scala b/main/src/mill/MillMain.scala
index 8dd9c07a8..2eb410d52 100644
--- a/main/src/mill/MillMain.scala
+++ b/main/src/mill/MillMain.scala
@@ -230,6 +230,7 @@ object MillMain {
                 )
                 Export.rtTo(rt.toIO, false)
               }
+              System.setProperty("scala.ext.dirs", rt.toIO.getPath)
             }
 
             if (useRepl) {
* When compiler is hot, it is ok, compiler can find that path(`/modules/java.base/xxx.class`).

* For cold start, zinc try to restore analysis from file, and find the `java.lang.XXX` binary  dep that associated with file `/modules/java.base/xxx.class` not exists.

I don't get the distinction you make here. We always feed the analysis file to zinc, even when the JVM is hot. And zinc has to load it. If some of its content refers to non existing classes/files, it should also report these when hot. What you say makes me believe, that zinc itself is keeping the analysis in memory or some other kind of cache, so that it does not need to read it again. Without looking at it's code, I doubt, that is the case. Also, in Mill, one zinc instance is potentially used multiple times and for different modules. Not reading the given analysis file would probably mess a lot of things and raise the memory consumption to a non-acceptable amount.

@jilen
Copy link
Contributor Author

jilen commented Jun 22, 2022

I've made same scala.ext.dirs as sbt, unfortunately it won't fix this issue.

@lefou
Copy link
Member

lefou commented Jun 22, 2022

Here is my output with the applied patch from #1901 (comment) and the -Vclasspath option added to scalacOptions.

13:29:56 θ81° lefou:~/work/tmp/mill-format-prj main(+2/-0)* ± JAVA_HOME=/opt/openjdk-bin-17 dev-mill --version
Mill Build Tool version 0.10.4-27-8c2a5b-DIRTYbba31d3e
Java version: 17.0.3, vendor: Eclipse Adoptium, runtime: /opt/openjdk-bin-17.0.3_p7
Default locale: de_DE, platform encoding: UTF-8
OS name: "Linux", version: 5.15.32-gentoo-r1-x86_64, arch: amd64
13:29:57 θ80° lefou:~/work/tmp/mill-format-prj main(+2/-0)* ± JAVA_HOME=/opt/openjdk-bin-17 dev-mill --no-server --debug __.compile
Preparing Java 17.0.3 runtime; this may take a minute or two ...
Using explicit system properties: Map()
Compiling /home/lefou/work/tmp/mill-format-prj/build.sc
[32/32] app.compile 
[debug] Found differing options:
[debug] a: scala= java=
[debug] b: scala=-Vclasspath java=
[debug] [zinc] IncrementalCompile -----------
[debug] IncrementalCompile.incrementalCompile
[debug] previous = Stamps for: 0 products, 0 sources, 0 libraries
[debug] current source = Set(/home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala, /home/lefou/work/tmp/mill-format-prj/app/src/main/scala/models/TestModel1.scala)
[debug] > initialChanges = InitialChanges(Changes(added = Set(/home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala, /home/lefou/work/tmp/mill-format-prj/app/src/main/scala/models/TestModel1.scala), removed = Set(), changed = Set(), unmodified = ...),Set(),Set(),API Changes: Set())
[debug] Full compilation, no sources in previous analysis.
[debug] all 2 sources are invalidated
[debug] Initial set of included nodes: 
2022-06-22 13:30:39,121 main ERROR Unable to format msg: Recompiling all sources: number of invalidated sources > 50.0% of all sources java.util.IllegalFormatConversionException: o != [Ljava.lang.Object;
        at java.base/java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4442)
        at java.base/java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2963)
        at java.base/java.util.Formatter$FormatSpecifier.print(Formatter.java:2918)
        at java.base/java.util.Formatter.format(Formatter.java:2689)
        at java.base/java.util.Formatter.format(Formatter.java:2625)
        at java.base/java.lang.String.format(String.java:4184)
        at org.apache.logging.log4j.message.StringFormattedMessage.formatMessage(StringFormattedMessage.java:116)
        at org.apache.logging.log4j.message.StringFormattedMessage.getFormattedMessage(StringFormattedMessage.java:88)
        at sbt.internal.util.Appender.$anonfun$appendMessage$1(ConsoleAppender.scala:508)
        at sbt.internal.util.Appender.appendLog(ConsoleAppender.scala:426)
        at sbt.internal.util.Appender.appendLog$(ConsoleAppender.scala:425)
        at sbt.internal.util.ConsoleAppender.appendLog(ConsoleAppender.scala:336)
        at sbt.internal.util.Appender.appendMessage(ConsoleAppender.scala:508)
        at sbt.internal.util.Appender.appendMessage$(ConsoleAppender.scala:504)
        at sbt.internal.util.ConsoleAppender.appendMessage(ConsoleAppender.scala:336)
        at sbt.internal.util.ConsoleAppender.$anonfun$toLog4J$1(ConsoleAppender.scala:350)
        at sbt.internal.util.ConsoleAppender.$anonfun$toLog4J$1$adapted(ConsoleAppender.scala:347)
        at sbt.internal.util.Log4JConsoleAppender.append(ConsoleAppender.scala:571)
        at sbt.internal.util.ConsoleAppenderFromLog4J.appendLog(ConsoleAppender.scala:584)
        at sbt.util.LoggerContext$LoggerContextImpl$Log.$anonfun$log$2(LoggerContext.scala:123)
        at sbt.util.LoggerContext$LoggerContextImpl$Log.$anonfun$log$2$adapted(LoggerContext.scala:123)
        at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
        at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
        at scala.collection.AbstractIterable.foreach(Iterable.scala:926)
        at sbt.util.LoggerContext$LoggerContextImpl$Log.log(LoggerContext.scala:123)
        at sbt.internal.util.ManagedLogger.log(ManagedLogger.scala:41)
        at sbt.util.Logger.debug(Logger.scala:25)
        at sbt.internal.inc.IncrementalCommon.expand$1(IncrementalCommon.scala:285)
        at sbt.internal.inc.IncrementalCommon.mapInvalidationsToSources(IncrementalCommon.scala:291)
        at sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:88)
        at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:56)
        at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:52)
        at sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:263)
        at sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:416)
        at sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:503)
        at sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:403)
        at sbt.internal.inc.Incremental$.apply(Incremental.scala:169)
        at sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:528)
        at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:482)
        at sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:332)
        at sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:420)
        at sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:137)
        at mill.scalalib.worker.ZincWorkerImpl.compileInternal(ZincWorkerImpl.scala:547)
        at mill.scalalib.worker.ZincWorkerImpl.$anonfun$compileMixed0$1(ZincWorkerImpl.scala:319)
        at mill.api.FixSizedCache.withCachedValue(FixSizedCache.scala:66)
        at mill.scalalib.worker.ZincWorkerImpl.withCompilers(ZincWorkerImpl.scala:401)
        at mill.scalalib.worker.ZincWorkerImpl.compileMixed0(ZincWorkerImpl.scala:318)
        at mill.scalalib.worker.ZincWorkerImpl.compileMixed(ZincWorkerImpl.scala:286)
        at mill.scalalib.ScalaModule.$anonfun$compile$2(ScalaModule.scala:195)
        at mill.define.Task$TraverseCtx.evaluate(Task.scala:380)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$13(Evaluator.scala:627)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withErr(Console.scala:193)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$12(Evaluator.scala:627)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withOut(Console.scala:164)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$11(Evaluator.scala:626)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withIn(Console.scala:227)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$8(Evaluator.scala:625)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$8$adapted(Evaluator.scala:586)
        at scala.collection.immutable.Vector.foreach(Vector.scala:1856)
        at mill.eval.Evaluator.evaluateGroup(Evaluator.scala:586)
        at mill.eval.Evaluator.$anonfun$evaluateGroupCached$21(Evaluator.scala:478)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at mill.eval.Evaluator.evaluateGroupCached(Evaluator.scala:469)
        at mill.eval.Evaluator.$anonfun$sequentialEvaluate$2(Evaluator.scala:202)
        at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
        at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1293)
        at mill.eval.Evaluator.sequentialEvaluate(Evaluator.scala:177)
        at mill.eval.Evaluator.evaluate(Evaluator.scala:162)
        at mill.main.RunScript$.evaluateNamed(RunScript.scala:364)
        at mill.main.RunScript$.evaluate(RunScript.scala:349)
        at mill.main.RunScript$.$anonfun$evaluateTasks$1(RunScript.scala:314)
        at scala.util.Either.map(Either.scala:382)
        at mill.main.RunScript$.evaluateTasks(RunScript.scala:312)
        at mill.main.RunScript$.$anonfun$runScript$8(RunScript.scala:105)
        at ammonite.util.Res$Success.flatMap(Res.scala:62)
        at mill.main.RunScript$.runScript(RunScript.scala:104)
        at mill.main.MainRunner.$anonfun$runScript$1(MainRunner.scala:119)
        at mill.main.MainRunner.watchLoop2(MainRunner.scala:67)
        at mill.main.MainRunner.runScript(MainRunner.scala:92)
        at mill.MillMain$.main0(MillMain.scala:311)
        at mill.MillMain$.main(MillMain.scala:52)
        at mill.MillMain.main(MillMain.scala)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at mill.main.client.IsolatedMillMainLoader.runMain(IsolatedMillMainLoader.java:58)
        at mill.main.client.MillClientMain.main(MillClientMain.java:67)

[debug] Recompiling all sources: number of invalidated sources > 50.0% of all sources
[debug] compilation cycle 1
[info] compiling 2 Scala sources to /home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes ...
[debug] Returning already retrieved and compiled bridge: /home/lefou/work/tmp/mill-format-prj/out/mill/scalalib/ZincWorkerModule/worker.dest/zinc-1.6.1/2.13.8/compiled.
Classpath built from (-bootclasspath = /home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.8/scala-library-2.13.8.jar -encoding = UTF-8 -classpath = /home/lefou/work/tmp/mill-format-prj/app/src/main/resources:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-sql_2.13/3.18.0/quill-sql_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-engine_2.13/3.18.0/quill-engine_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-core_2.13/3.18.0/quill-core_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/pprint_2.13/0.6.6/pprint_2.13-0.6.6.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.13/2.7.0/scala-collection-compat_2.13-2.7.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/scala-logging/scala-logging_2.13/3.9.4/scala-logging_2.13-3.9.4.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/takayahilton/sql-formatter_2.13/1.2.1/sql-formatter_2.13-1.2.1.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/suzaku/boopickle_2.13/1.4.0/boopickle_2.13-1.4.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-logging_2.13/0.5.14/zio-logging_2.13-0.5.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fansi_2.13/0.2.14/fansi_2.13-0.2.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.13/0.2.7/sourcecode_2.13-0.2.7.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.8/scala-reflect-2.13.8.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio_2.13/1.0.12/zio_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-streams_2.13/1.0.12/zio-streams_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-stacktracer_2.13/1.0.12/zio-stacktracer_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect_2.13/1.1.3/izumi-reflect_2.13-1.1.3.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect-thirdparty-boopickle-shaded_2.13/1.1.3/izumi-reflect-thirdparty-boopickle-shaded_2.13-1.1.3.jar:/home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes -Vclasspath = true) 
Defaults: object Defaults {
  scalaHome            = 
  javaBootClassPath    = 
  scalaLibDirFound     = None
  scalaLibFound        = 
  scalaBootClassPath   = 
  scalaPluginPath      = misc/scala-devel/plugins
}
Calculated: object Calculated {
  scalaHome            = 
  javaBootClassPath    = 
  javaExtDirs          = 
  javaUserClassPath    = 
  useJavaClassPath     = false
  scalaBootClassPath   = /home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.8/scala-library-2.13.8.jar
  scalaExtDirs         = /home/lefou/.mill/ammonite/rt-17.0.3.jar
  userClassPath        = 
/home/lefou/work/tmp/mill-format-prj/app/src/main/resources
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-sql_2.13/3.18.0/quill-sql_2.13-3.18.0.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-engine_2.13/3.18.0/quill-engine_2.13-3.18.0.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-core_2.13/3.18.0/quill-core_2.13-3.18.0.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/pprint_2.13/0.6.6/pprint_2.13-0.6.6.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.13/2.7.0/scala-collection-compat_2.13-2.7.0.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/scala-logging/scala-logging_2.13/3.9.4/scala-logging_2.13-3.9.4.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/takayahilton/sql-formatter_2.13/1.2.1/sql-formatter_2.13-1.2.1.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/suzaku/boopickle_2.13/1.4.0/boopickle_2.13-1.4.0.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-logging_2.13/0.5.14/zio-logging_2.13-0.5.14.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fansi_2.13/0.2.14/fansi_2.13-0.2.14.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.13/0.2.7/sourcecode_2.13-0.2.7.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.8/scala-reflect-2.13.8.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio_2.13/1.0.12/zio_2.13-1.0.12.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-streams_2.13/1.0.12/zio-streams_2.13-1.0.12.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-stacktracer_2.13/1.0.12/zio-stacktracer_2.13-1.0.12.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect_2.13/1.1.3/izumi-reflect_2.13-1.1.3.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect-thirdparty-boopickle-shaded_2.13/1.1.3/izumi-reflect-thirdparty-boopickle-shaded_2.13-1.1.3.jar
/home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes
  sourcePath           = 
}
After java boot/extdirs classpath has 21 entries:
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.8/scala-library-2.13.8.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-sql_2.13/3.18.0/quill-sql_2.13-3.18.0.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-engine_2.13/3.18.0/quill-engine_2.13-3.18.0.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-core_2.13/3.18.0/quill-core_2.13-3.18.0.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/pprint_2.13/0.6.6/pprint_2.13-0.6.6.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.13/2.7.0/scala-collection-compat_2.13-2.7.0.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/scala-logging/scala-logging_2.13/3.9.4/scala-logging_2.13-3.9.4.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/takayahilton/sql-formatter_2.13/1.2.1/sql-formatter_2.13-1.2.1.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/suzaku/boopickle_2.13/1.4.0/boopickle_2.13-1.4.0.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-logging_2.13/0.5.14/zio-logging_2.13-0.5.14.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fansi_2.13/0.2.14/fansi_2.13-0.2.14.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.13/0.2.7/sourcecode_2.13-0.2.7.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.8/scala-reflect-2.13.8.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio_2.13/1.0.12/zio_2.13-1.0.12.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-streams_2.13/1.0.12/zio-streams_2.13-1.0.12.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-stacktracer_2.13/1.0.12/zio-stacktracer_2.13-1.0.12.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect_2.13/1.1.3/izumi-reflect_2.13-1.1.3.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect-thirdparty-boopickle-shaded_2.13/1.1.3/izumi-reflect-thirdparty-boopickle-shaded_2.13-1.1.3.jar,None)
  DirectoryClassPath(/home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes)
[info] [search path for source files: ]
[info] [search path for class files: /home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.8/scala-library-2.13.8.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-sql_2.13/3.18.0/quill-sql_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-engine_2.13/3.18.0/quill-engine_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-core_2.13/3.18.0/quill-core_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/pprint_2.13/0.6.6/pprint_2.13-0.6.6.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.13/2.7.0/scala-collection-compat_2.13-2.7.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/scala-logging/scala-logging_2.13/3.9.4/scala-logging_2.13-3.9.4.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/takayahilton/sql-formatter_2.13/1.2.1/sql-formatter_2.13-1.2.1.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/suzaku/boopickle_2.13/1.4.0/boopickle_2.13-1.4.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-logging_2.13/0.5.14/zio-logging_2.13-0.5.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fansi_2.13/0.2.14/fansi_2.13-0.2.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.13/0.2.7/sourcecode_2.13-0.2.7.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.8/scala-reflect-2.13.8.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio_2.13/1.0.12/zio_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-streams_2.13/1.0.12/zio-streams_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-stacktracer_2.13/1.0.12/zio-stacktracer_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect_2.13/1.1.3/izumi-reflect_2.13-1.1.3.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect-thirdparty-boopickle-shaded_2.13/1.1.3/izumi-reflect-thirdparty-boopickle-shaded_2.13-1.1.3.jar:/home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes]
[debug] [zinc] Running cached compiler 474aeac5 for Scala compiler version 2.13.8
[debug] [zinc] The Scala compiler is invoked with:
[debug]         -Vclasspath
[debug]         -bootclasspath
[debug]         /home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.8/scala-library-2.13.8.jar
[debug]         -classpath
[debug]         /home/lefou/work/tmp/mill-format-prj/app/src/main/resources:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-sql_2.13/3.18.0/quill-sql_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-engine_2.13/3.18.0/quill-engine_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-core_2.13/3.18.0/quill-core_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/pprint_2.13/0.6.6/pprint_2.13-0.6.6.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.13/2.7.0/scala-collection-compat_2.13-2.7.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/scala-logging/scala-logging_2.13/3.9.4/scala-logging_2.13-3.9.4.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/takayahilton/sql-formatter_2.13/1.2.1/sql-formatter_2.13-1.2.1.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/suzaku/boopickle_2.13/1.4.0/boopickle_2.13-1.4.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-logging_2.13/0.5.14/zio-logging_2.13-0.5.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fansi_2.13/0.2.14/fansi_2.13-0.2.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.13/0.2.7/sourcecode_2.13-0.2.7.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.8/scala-reflect-2.13.8.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio_2.13/1.0.12/zio_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-streams_2.13/1.0.12/zio-streams_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-stacktracer_2.13/1.0.12/zio-stacktracer_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect_2.13/1.1.3/izumi-reflect_2.13-1.1.3.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect-thirdparty-boopickle-shaded_2.13/1.1.3/izumi-reflect-thirdparty-boopickle-shaded_2.13-1.1.3.jar:/home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes
2022-06-22 13:30:43,856 main ERROR Unable to format msg: /home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala:19:12: SELECT c.name, c.age FROM person c WHERE c.name like ('% $1' || ?) || '%' java.util.UnknownFormatConversionException: Conversion = ' '
        at java.base/java.util.Formatter.parse(Formatter.java:2750)
        at java.base/java.util.Formatter.format(Formatter.java:2671)
        at java.base/java.util.Formatter.format(Formatter.java:2625)
        at java.base/java.lang.String.format(String.java:4184)
        at org.apache.logging.log4j.message.StringFormattedMessage.formatMessage(StringFormattedMessage.java:116)
        at org.apache.logging.log4j.message.StringFormattedMessage.getFormattedMessage(StringFormattedMessage.java:88)
        at sbt.internal.util.Appender.$anonfun$appendMessage$1(ConsoleAppender.scala:508)
        at sbt.internal.util.Appender.appendLog(ConsoleAppender.scala:426)
        at sbt.internal.util.Appender.appendLog$(ConsoleAppender.scala:425)
        at sbt.internal.util.ConsoleAppender.appendLog(ConsoleAppender.scala:336)
        at sbt.internal.util.Appender.appendMessage(ConsoleAppender.scala:508)
        at sbt.internal.util.Appender.appendMessage$(ConsoleAppender.scala:504)
        at sbt.internal.util.ConsoleAppender.appendMessage(ConsoleAppender.scala:336)
        at sbt.internal.util.ConsoleAppender.$anonfun$toLog4J$1(ConsoleAppender.scala:350)
        at sbt.internal.util.ConsoleAppender.$anonfun$toLog4J$1$adapted(ConsoleAppender.scala:347)
        at sbt.internal.util.Log4JConsoleAppender.append(ConsoleAppender.scala:571)
        at sbt.internal.util.ConsoleAppenderFromLog4J.appendLog(ConsoleAppender.scala:584)
        at sbt.internal.util.Appender.$anonfun$appendMessageContent$3(ConsoleAppender.scala:544)
        at sbt.internal.util.Appender.$anonfun$appendMessageContent$3$adapted(ConsoleAppender.scala:542)
        at scala.collection.immutable.Vector.foreach(Vector.scala:1856)
        at sbt.internal.util.Appender.appendEvent$1(ConsoleAppender.scala:542)
        at sbt.internal.util.Appender.appendMessageContent(ConsoleAppender.scala:553)
        at sbt.internal.util.Appender.appendObjectEvent(ConsoleAppender.scala:558)
        at sbt.internal.util.Appender.appendObjectEvent$(ConsoleAppender.scala:557)
        at sbt.internal.util.ConsoleAppenderFromLog4J.appendObjectEvent(ConsoleAppender.scala:573)
        at sbt.util.LoggerContext$LoggerContextImpl$Log.$anonfun$log$4(LoggerContext.scala:129)
        at java.base/java.util.Vector.forEach(Vector.java:1365)
        at sbt.util.LoggerContext$LoggerContextImpl$Log.log(LoggerContext.scala:127)
        at sbt.internal.util.ManagedLogger.logEvent(ManagedLogger.scala:92)
        at sbt.internal.util.ManagedLogger.infoEvent(ManagedLogger.scala:79)
        at sbt.internal.inc.ManagedLoggedReporter.logInfo(LoggedReporter.scala:88)
        at sbt.internal.inc.LoggedReporter.display(LoggedReporter.scala:169)
        at sbt.internal.inc.LoggedReporter.log(LoggedReporter.scala:144)
        at xsbt.DelegatingReporter.info0(DelegatingReporter.scala:185)
        at scala.tools.nsc.reporters.MakeFilteringForwardingReporter.doReport(ForwardingReporter.scala:59)
        at scala.tools.nsc.reporters.FilteringReporter.info0(Reporter.scala:104)
        at scala.reflect.internal.Reporter.echo(Reporting.scala:109)
        at scala.reflect.macros.contexts.FrontEnds.info(FrontEnds.scala:25)
        at scala.reflect.macros.contexts.FrontEnds.info$(FrontEnds.scala:25)
        at scala.reflect.macros.contexts.Context.info(Context.scala:18)
        at scala.reflect.macros.contexts.Context.info(Context.scala:18)
        at io.getquill.util.MacroContextExt$RichContext.query(MacroContextExt.scala:35)
        at io.getquill.context.ContextMacro.translateStatic(ContextMacro.scala:70)
        at io.getquill.context.ContextMacro.translate(ContextMacro.scala:35)
        at io.getquill.context.ContextMacro.expand(ContextMacro.scala:22)
        at io.getquill.context.ContextMacro.expand$(ContextMacro.scala:19)
        at io.getquill.context.QueryMacro.expand(QueryMacro.scala:9)
        at io.getquill.context.QueryMacro.expandQueryWithMeta(QueryMacro.scala:208)
        at io.getquill.context.QueryMacro.expandQuery(QueryMacro.scala:53)
        at io.getquill.context.QueryMacro.runQuery(QueryMacro.scala:35)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at scala.reflect.macros.runtime.JavaReflectionRuntimes$JavaReflectionResolvers.$anonfun$resolveJavaReflectionRuntime$5(JavaReflectionRuntimes.scala:45)
        at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:770)
        at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:746)
        at scala.tools.nsc.Global$$anon$6.macroExpandWithRuntime(Global.scala:490)
        at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:576)
        at scala.tools.nsc.Global.withInfoLevel(Global.scala:233)
        at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:569)
        at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:556)
        at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:731)
        at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:729)
        at scala.tools.nsc.Global$$anon$6.standardMacroExpand(Global.scala:490)
        at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$11.default(AnalyzerPlugins.scala:473)
        at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$11.default(AnalyzerPlugins.scala:470)
        at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:427)
        at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:470)
        at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:470)
        at scala.tools.nsc.Global$$anon$6.pluginsMacroExpand(Global.scala:490)
        at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:720)
        at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:713)
        at scala.tools.nsc.Global$$anon$6.macroExpand(Global.scala:490)
        at scala.tools.nsc.typechecker.Typers$Typer.vanillaAdapt$1(Typers.scala:1209)
        at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1278)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6056)
        at scala.tools.nsc.typechecker.Typers$Typer.typedBlock(Typers.scala:2565)
        at scala.tools.nsc.typechecker.Typers$Typer.typedOutsidePatternMode$1(Typers.scala:5960)
        at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5995)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6041)
        at scala.tools.nsc.typechecker.Typers$Typer.computeType(Typers.scala:6130)
        at scala.tools.nsc.typechecker.Namers$Namer.assignTypeToTree(Namers.scala:1127)
        at scala.tools.nsc.typechecker.Namers$Namer.methodSig(Namers.scala:1449)
        at scala.tools.nsc.typechecker.Namers$Namer.memberSig(Namers.scala:1929)
        at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:1880)
        at scala.tools.nsc.typechecker.Namers$Namer$MonoTypeCompleter.completeImpl(Namers.scala:874)
        at scala.tools.nsc.typechecker.Namers$LockingTypeCompleter.complete(Namers.scala:2078)
        at scala.tools.nsc.typechecker.Namers$LockingTypeCompleter.complete$(Namers.scala:2076)
        at scala.tools.nsc.typechecker.Namers$TypeCompleterBase.complete(Namers.scala:2071)
        at scala.reflect.internal.Symbols$Symbol.completeInfo(Symbols.scala:1561)
        at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1533)
        at scala.reflect.internal.Symbols$Symbol.initialize(Symbols.scala:1722)
        at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5625)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6041)
        at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:6119)
        at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$8(Typers.scala:3410)
        at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3410)
        at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:2064)
        at scala.tools.nsc.typechecker.Typers$Typer.typedModuleDef(Typers.scala:1940)
        at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5952)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6041)
        at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:6119)
        at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$8(Typers.scala:3410)
        at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3410)
        at scala.tools.nsc.typechecker.Typers$Typer.typedPackageDef$1(Typers.scala:5634)
        at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5954)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6041)
        at scala.tools.nsc.typechecker.Analyzer$typerFactory$TyperPhase.apply(Analyzer.scala:117)
        at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:459)
        at scala.tools.nsc.typechecker.Analyzer$typerFactory$TyperPhase.run(Analyzer.scala:106)
        at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1524)
        at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1508)
        at scala.tools.nsc.Global$Run.compileSources(Global.scala:1500)
        at scala.tools.nsc.Global$Run.compileFiles(Global.scala:1613)
        at xsbt.CachedCompiler0.run(CompilerBridge.scala:163)
        at xsbt.CachedCompiler0.run(CompilerBridge.scala:134)
        at xsbt.CompilerBridge.run(CompilerBridge.scala:39)
        at sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:91)
        at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$7(MixedAnalyzingCompiler.scala:192)
        at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
        at sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:247)
        at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:182)
        at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4$adapted(MixedAnalyzingCompiler.scala:163)
        at sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:239)
        at sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:163)
        at sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:210)
        at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:528)
        at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:528)
        at sbt.internal.inc.Incremental$.$anonfun$apply$5(Incremental.scala:177)
        at sbt.internal.inc.Incremental$.$anonfun$apply$5$adapted(Incremental.scala:175)
        at sbt.internal.inc.Incremental$$anon$2.run(Incremental.scala:461)
        at sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:116)
        at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:56)
        at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:52)
        at sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:263)
        at sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:416)
        at sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:503)
        at sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:403)
        at sbt.internal.inc.Incremental$.apply(Incremental.scala:169)
        at sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:528)
        at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:482)
        at sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:332)
        at sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:420)
        at sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:137)
        at mill.scalalib.worker.ZincWorkerImpl.compileInternal(ZincWorkerImpl.scala:547)
        at mill.scalalib.worker.ZincWorkerImpl.$anonfun$compileMixed0$1(ZincWorkerImpl.scala:319)
        at mill.api.FixSizedCache.withCachedValue(FixSizedCache.scala:66)
        at mill.scalalib.worker.ZincWorkerImpl.withCompilers(ZincWorkerImpl.scala:401)
        at mill.scalalib.worker.ZincWorkerImpl.compileMixed0(ZincWorkerImpl.scala:318)
        at mill.scalalib.worker.ZincWorkerImpl.compileMixed(ZincWorkerImpl.scala:286)
        at mill.scalalib.ScalaModule.$anonfun$compile$2(ScalaModule.scala:195)
        at mill.define.Task$TraverseCtx.evaluate(Task.scala:380)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$13(Evaluator.scala:627)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withErr(Console.scala:193)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$12(Evaluator.scala:627)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withOut(Console.scala:164)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$11(Evaluator.scala:626)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withIn(Console.scala:227)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$8(Evaluator.scala:625)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$8$adapted(Evaluator.scala:586)
        at scala.collection.immutable.Vector.foreach(Vector.scala:1856)
        at mill.eval.Evaluator.evaluateGroup(Evaluator.scala:586)
        at mill.eval.Evaluator.$anonfun$evaluateGroupCached$21(Evaluator.scala:478)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at mill.eval.Evaluator.evaluateGroupCached(Evaluator.scala:469)
        at mill.eval.Evaluator.$anonfun$sequentialEvaluate$2(Evaluator.scala:202)
        at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
        at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1293)
        at mill.eval.Evaluator.sequentialEvaluate(Evaluator.scala:177)
        at mill.eval.Evaluator.evaluate(Evaluator.scala:162)
        at mill.main.RunScript$.evaluateNamed(RunScript.scala:364)
        at mill.main.RunScript$.evaluate(RunScript.scala:349)
        at mill.main.RunScript$.$anonfun$evaluateTasks$1(RunScript.scala:314)
        at scala.util.Either.map(Either.scala:382)
        at mill.main.RunScript$.evaluateTasks(RunScript.scala:312)
        at mill.main.RunScript$.$anonfun$runScript$8(RunScript.scala:105)
        at ammonite.util.Res$Success.flatMap(Res.scala:62)
        at mill.main.RunScript$.runScript(RunScript.scala:104)
        at mill.main.MainRunner.$anonfun$runScript$1(MainRunner.scala:119)
        at mill.main.MainRunner.watchLoop2(MainRunner.scala:67)
        at mill.main.MainRunner.runScript(MainRunner.scala:92)
        at mill.MillMain$.main0(MillMain.scala:311)
        at mill.MillMain$.main(MillMain.scala:52)
        at mill.MillMain.main(MillMain.scala)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at mill.main.client.IsolatedMillMainLoader.runMain(IsolatedMillMainLoader.java:58)
        at mill.main.client.MillClientMain.main(MillClientMain.java:67)

[info] /home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala:19:12: SELECT c.name, c.age FROM person c WHERE c.name like ('% $1' || ?) || '%'
[info]     ctx.run(q)
[info]            ^
[debug] Scala compilation took 6.865323528 s
[info] done compiling
13:30:46 θ79° lefou:~/work/tmp/mill-format-prj main(+2/-0)* 21s ± echo " " >> app/src/main/scala/App.scala 
13:32:04 θ79° lefou:~/work/tmp/mill-format-prj main(+3/-0)* ± JAVA_HOME=/opt/openjdk-bin-17 dev-mill --no-server --debug __.compile
Using explicit system properties: Map()
[32/32] app.compile 
[debug] [zinc] IncrementalCompile -----------
[debug] IncrementalCompile.incrementalCompile
[debug] previous = Stamps for: 10 products, 2 sources, 9 libraries
[debug] current source = Set(/home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala, /home/lefou/work/tmp/mill-format-prj/app/src/main/scala/models/TestModel1.scala)
[debug] Invalidating '/modules/java.base/java/lang/Object.class' because could not find class java.lang.Object on the classpath.
[debug] Invalidating '/modules/java.base/java/lang/Class.class' because could not find class java.lang.Class on the classpath.
[debug] Invalidating '/modules/java.base/java/time/LocalDateTime.class' because could not find class java.time.LocalDateTime on the classpath.
[debug] Invalidating '/modules/java.base/java/lang/String.class' because could not find class java.lang.String on the classpath.
[debug] Invalidating '/modules/java.base/java/io/Serializable.class' because could not find class java.io.Serializable on the classpath.
[debug] > initialChanges = InitialChanges(Changes(added = Set(), removed = Set(), changed = Set(/home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala), unmodified = ...),Set(),HashSet(/modules/java.base/java/time/LocalDateTime.class, /modules/java.base/java/lang/String.class, /modules/java.base/java/io/Serializable.class, /modules/java.base/java/lang/Object.class, /modules/java.base/java/lang/Class.class),API Changes: Set())
[debug] 
[debug] Initial source changes:
[debug]         removed: Set()
[debug]         added: Set()
[debug]         modified: Set(/home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala)
[debug] Invalidated products: Set()
[debug] External API changes: API Changes: Set()
[debug] Modified binary dependencies: HashSet(/modules/java.base/java/time/LocalDateTime.class, /modules/java.base/java/lang/String.class, /modules/java.base/java/io/Serializable.class, /modules/java.base/java/lang/Object.class, /modules/java.base/java/lang/Class.class)
[debug] Initial directly invalidated classes: Set(app.App.Person, app.App)
[debug] Sources indirectly invalidated by:
[debug]         product: Set()
[debug]         binary dep: HashSet(/home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala, /home/lefou/work/tmp/mill-format-prj/app/src/main/scala/models/TestModel1.scala)
[debug]         external source: Set()
[debug] all 2 sources are invalidated
[debug] Initial set of included nodes: app.App.Person, app.App
2022-06-22 13:32:23,440 main ERROR Unable to format msg: Recompiling all sources: number of invalidated sources > 50.0% of all sources java.util.IllegalFormatConversionException: o != [Ljava.lang.Object;
        at java.base/java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4442)
        at java.base/java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2963)
        at java.base/java.util.Formatter$FormatSpecifier.print(Formatter.java:2918)
        at java.base/java.util.Formatter.format(Formatter.java:2689)
        at java.base/java.util.Formatter.format(Formatter.java:2625)
        at java.base/java.lang.String.format(String.java:4184)
        at org.apache.logging.log4j.message.StringFormattedMessage.formatMessage(StringFormattedMessage.java:116)
        at org.apache.logging.log4j.message.StringFormattedMessage.getFormattedMessage(StringFormattedMessage.java:88)
        at sbt.internal.util.Appender.$anonfun$appendMessage$1(ConsoleAppender.scala:508)
        at sbt.internal.util.Appender.appendLog(ConsoleAppender.scala:426)
        at sbt.internal.util.Appender.appendLog$(ConsoleAppender.scala:425)
        at sbt.internal.util.ConsoleAppender.appendLog(ConsoleAppender.scala:336)
        at sbt.internal.util.Appender.appendMessage(ConsoleAppender.scala:508)
        at sbt.internal.util.Appender.appendMessage$(ConsoleAppender.scala:504)
        at sbt.internal.util.ConsoleAppender.appendMessage(ConsoleAppender.scala:336)
        at sbt.internal.util.ConsoleAppender.$anonfun$toLog4J$1(ConsoleAppender.scala:350)
        at sbt.internal.util.ConsoleAppender.$anonfun$toLog4J$1$adapted(ConsoleAppender.scala:347)
        at sbt.internal.util.Log4JConsoleAppender.append(ConsoleAppender.scala:571)
        at sbt.internal.util.ConsoleAppenderFromLog4J.appendLog(ConsoleAppender.scala:584)
        at sbt.util.LoggerContext$LoggerContextImpl$Log.$anonfun$log$2(LoggerContext.scala:123)
        at sbt.util.LoggerContext$LoggerContextImpl$Log.$anonfun$log$2$adapted(LoggerContext.scala:123)
        at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
        at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
        at scala.collection.AbstractIterable.foreach(Iterable.scala:926)
        at sbt.util.LoggerContext$LoggerContextImpl$Log.log(LoggerContext.scala:123)
        at sbt.internal.util.ManagedLogger.log(ManagedLogger.scala:41)
        at sbt.util.Logger.debug(Logger.scala:25)
        at sbt.internal.inc.IncrementalCommon.expand$1(IncrementalCommon.scala:285)
        at sbt.internal.inc.IncrementalCommon.mapInvalidationsToSources(IncrementalCommon.scala:291)
        at sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:88)
        at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:56)
        at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:52)
        at sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:263)
        at sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:416)
        at sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:503)
        at sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:403)
        at sbt.internal.inc.Incremental$.apply(Incremental.scala:169)
        at sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:528)
        at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:482)
        at sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:332)
        at sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:420)
        at sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:137)
        at mill.scalalib.worker.ZincWorkerImpl.compileInternal(ZincWorkerImpl.scala:547)
        at mill.scalalib.worker.ZincWorkerImpl.$anonfun$compileMixed0$1(ZincWorkerImpl.scala:319)
        at mill.api.FixSizedCache.withCachedValue(FixSizedCache.scala:66)
        at mill.scalalib.worker.ZincWorkerImpl.withCompilers(ZincWorkerImpl.scala:401)
        at mill.scalalib.worker.ZincWorkerImpl.compileMixed0(ZincWorkerImpl.scala:318)
        at mill.scalalib.worker.ZincWorkerImpl.compileMixed(ZincWorkerImpl.scala:286)
        at mill.scalalib.ScalaModule.$anonfun$compile$2(ScalaModule.scala:195)
        at mill.define.Task$TraverseCtx.evaluate(Task.scala:380)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$13(Evaluator.scala:627)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withErr(Console.scala:193)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$12(Evaluator.scala:627)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withOut(Console.scala:164)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$11(Evaluator.scala:626)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withIn(Console.scala:227)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$8(Evaluator.scala:625)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$8$adapted(Evaluator.scala:586)
        at scala.collection.immutable.Vector.foreach(Vector.scala:1856)
        at mill.eval.Evaluator.evaluateGroup(Evaluator.scala:586)
        at mill.eval.Evaluator.$anonfun$evaluateGroupCached$21(Evaluator.scala:478)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at mill.eval.Evaluator.evaluateGroupCached(Evaluator.scala:469)
        at mill.eval.Evaluator.$anonfun$sequentialEvaluate$2(Evaluator.scala:202)
        at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
        at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1293)
        at mill.eval.Evaluator.sequentialEvaluate(Evaluator.scala:177)
        at mill.eval.Evaluator.evaluate(Evaluator.scala:162)
        at mill.main.RunScript$.evaluateNamed(RunScript.scala:364)
        at mill.main.RunScript$.evaluate(RunScript.scala:349)
        at mill.main.RunScript$.$anonfun$evaluateTasks$1(RunScript.scala:314)
        at scala.util.Either.map(Either.scala:382)
        at mill.main.RunScript$.evaluateTasks(RunScript.scala:312)
        at mill.main.RunScript$.$anonfun$runScript$8(RunScript.scala:105)
        at ammonite.util.Res$Success.flatMap(Res.scala:62)
        at mill.main.RunScript$.runScript(RunScript.scala:104)
        at mill.main.MainRunner.$anonfun$runScript$1(MainRunner.scala:119)
        at mill.main.MainRunner.watchLoop2(MainRunner.scala:67)
        at mill.main.MainRunner.runScript(MainRunner.scala:92)
        at mill.MillMain$.main0(MillMain.scala:311)
        at mill.MillMain$.main(MillMain.scala:52)
        at mill.MillMain.main(MillMain.scala)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at mill.main.client.IsolatedMillMainLoader.runMain(IsolatedMillMainLoader.java:58)
        at mill.main.client.MillClientMain.main(MillClientMain.java:67)

[debug] Recompiling all sources: number of invalidated sources > 50.0% of all sources
[debug] compilation cycle 1
[info] compiling 2 Scala sources to /home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes ...
[debug] Returning already retrieved and compiled bridge: /home/lefou/work/tmp/mill-format-prj/out/mill/scalalib/ZincWorkerModule/worker.dest/zinc-1.6.1/2.13.8/compiled.
Classpath built from (-bootclasspath = /home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.8/scala-library-2.13.8.jar -encoding = UTF-8 -classpath = /home/lefou/work/tmp/mill-format-prj/app/src/main/resources:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-sql_2.13/3.18.0/quill-sql_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-engine_2.13/3.18.0/quill-engine_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-core_2.13/3.18.0/quill-core_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/pprint_2.13/0.6.6/pprint_2.13-0.6.6.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.13/2.7.0/scala-collection-compat_2.13-2.7.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/scala-logging/scala-logging_2.13/3.9.4/scala-logging_2.13-3.9.4.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/takayahilton/sql-formatter_2.13/1.2.1/sql-formatter_2.13-1.2.1.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/suzaku/boopickle_2.13/1.4.0/boopickle_2.13-1.4.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-logging_2.13/0.5.14/zio-logging_2.13-0.5.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fansi_2.13/0.2.14/fansi_2.13-0.2.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.13/0.2.7/sourcecode_2.13-0.2.7.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.8/scala-reflect-2.13.8.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio_2.13/1.0.12/zio_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-streams_2.13/1.0.12/zio-streams_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-stacktracer_2.13/1.0.12/zio-stacktracer_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect_2.13/1.1.3/izumi-reflect_2.13-1.1.3.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect-thirdparty-boopickle-shaded_2.13/1.1.3/izumi-reflect-thirdparty-boopickle-shaded_2.13-1.1.3.jar:/home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes -Vclasspath = true) 
Defaults: object Defaults {
  scalaHome            = 
  javaBootClassPath    = 
  scalaLibDirFound     = None
  scalaLibFound        = 
  scalaBootClassPath   = 
  scalaPluginPath      = misc/scala-devel/plugins
}
Calculated: object Calculated {
  scalaHome            = 
  javaBootClassPath    = 
  javaExtDirs          = 
  javaUserClassPath    = 
  useJavaClassPath     = false
  scalaBootClassPath   = /home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.8/scala-library-2.13.8.jar
  scalaExtDirs         = /home/lefou/.mill/ammonite/rt-17.0.3.jar
  userClassPath        = 
/home/lefou/work/tmp/mill-format-prj/app/src/main/resources
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-sql_2.13/3.18.0/quill-sql_2.13-3.18.0.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-engine_2.13/3.18.0/quill-engine_2.13-3.18.0.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-core_2.13/3.18.0/quill-core_2.13-3.18.0.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/pprint_2.13/0.6.6/pprint_2.13-0.6.6.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.13/2.7.0/scala-collection-compat_2.13-2.7.0.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/scala-logging/scala-logging_2.13/3.9.4/scala-logging_2.13-3.9.4.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/takayahilton/sql-formatter_2.13/1.2.1/sql-formatter_2.13-1.2.1.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/suzaku/boopickle_2.13/1.4.0/boopickle_2.13-1.4.0.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-logging_2.13/0.5.14/zio-logging_2.13-0.5.14.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fansi_2.13/0.2.14/fansi_2.13-0.2.14.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.13/0.2.7/sourcecode_2.13-0.2.7.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.8/scala-reflect-2.13.8.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio_2.13/1.0.12/zio_2.13-1.0.12.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-streams_2.13/1.0.12/zio-streams_2.13-1.0.12.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-stacktracer_2.13/1.0.12/zio-stacktracer_2.13-1.0.12.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect_2.13/1.1.3/izumi-reflect_2.13-1.1.3.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect-thirdparty-boopickle-shaded_2.13/1.1.3/izumi-reflect-thirdparty-boopickle-shaded_2.13-1.1.3.jar
/home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes
  sourcePath           = 
}
After java boot/extdirs classpath has 21 entries:
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.8/scala-library-2.13.8.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-sql_2.13/3.18.0/quill-sql_2.13-3.18.0.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-engine_2.13/3.18.0/quill-engine_2.13-3.18.0.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-core_2.13/3.18.0/quill-core_2.13-3.18.0.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/pprint_2.13/0.6.6/pprint_2.13-0.6.6.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.13/2.7.0/scala-collection-compat_2.13-2.7.0.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/scala-logging/scala-logging_2.13/3.9.4/scala-logging_2.13-3.9.4.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/takayahilton/sql-formatter_2.13/1.2.1/sql-formatter_2.13-1.2.1.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/suzaku/boopickle_2.13/1.4.0/boopickle_2.13-1.4.0.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-logging_2.13/0.5.14/zio-logging_2.13-0.5.14.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fansi_2.13/0.2.14/fansi_2.13-0.2.14.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.13/0.2.7/sourcecode_2.13-0.2.7.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.8/scala-reflect-2.13.8.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio_2.13/1.0.12/zio_2.13-1.0.12.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-streams_2.13/1.0.12/zio-streams_2.13-1.0.12.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-stacktracer_2.13/1.0.12/zio-stacktracer_2.13-1.0.12.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect_2.13/1.1.3/izumi-reflect_2.13-1.1.3.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect-thirdparty-boopickle-shaded_2.13/1.1.3/izumi-reflect-thirdparty-boopickle-shaded_2.13-1.1.3.jar,None)
  DirectoryClassPath(/home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes)
[info] [search path for source files: ]
[info] [search path for class files: /home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.8/scala-library-2.13.8.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-sql_2.13/3.18.0/quill-sql_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-engine_2.13/3.18.0/quill-engine_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-core_2.13/3.18.0/quill-core_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/pprint_2.13/0.6.6/pprint_2.13-0.6.6.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.13/2.7.0/scala-collection-compat_2.13-2.7.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/scala-logging/scala-logging_2.13/3.9.4/scala-logging_2.13-3.9.4.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/takayahilton/sql-formatter_2.13/1.2.1/sql-formatter_2.13-1.2.1.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/suzaku/boopickle_2.13/1.4.0/boopickle_2.13-1.4.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-logging_2.13/0.5.14/zio-logging_2.13-0.5.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fansi_2.13/0.2.14/fansi_2.13-0.2.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.13/0.2.7/sourcecode_2.13-0.2.7.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.8/scala-reflect-2.13.8.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio_2.13/1.0.12/zio_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-streams_2.13/1.0.12/zio-streams_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-stacktracer_2.13/1.0.12/zio-stacktracer_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect_2.13/1.1.3/izumi-reflect_2.13-1.1.3.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect-thirdparty-boopickle-shaded_2.13/1.1.3/izumi-reflect-thirdparty-boopickle-shaded_2.13-1.1.3.jar:/home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes]
[debug] [zinc] Running cached compiler 27bc1d44 for Scala compiler version 2.13.8
[debug] [zinc] The Scala compiler is invoked with:
[debug]         -Vclasspath
[debug]         -bootclasspath
[debug]         /home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.8/scala-library-2.13.8.jar
[debug]         -classpath
[debug]         /home/lefou/work/tmp/mill-format-prj/app/src/main/resources:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-sql_2.13/3.18.0/quill-sql_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-engine_2.13/3.18.0/quill-engine_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-core_2.13/3.18.0/quill-core_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/pprint_2.13/0.6.6/pprint_2.13-0.6.6.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.13/2.7.0/scala-collection-compat_2.13-2.7.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/scala-logging/scala-logging_2.13/3.9.4/scala-logging_2.13-3.9.4.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/takayahilton/sql-formatter_2.13/1.2.1/sql-formatter_2.13-1.2.1.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/suzaku/boopickle_2.13/1.4.0/boopickle_2.13-1.4.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-logging_2.13/0.5.14/zio-logging_2.13-0.5.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fansi_2.13/0.2.14/fansi_2.13-0.2.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.13/0.2.7/sourcecode_2.13-0.2.7.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.8/scala-reflect-2.13.8.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio_2.13/1.0.12/zio_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-streams_2.13/1.0.12/zio-streams_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-stacktracer_2.13/1.0.12/zio-stacktracer_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect_2.13/1.1.3/izumi-reflect_2.13-1.1.3.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect-thirdparty-boopickle-shaded_2.13/1.1.3/izumi-reflect-thirdparty-boopickle-shaded_2.13-1.1.3.jar:/home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes
2022-06-22 13:32:28,323 main ERROR Unable to format msg: /home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala:19:12: SELECT c.name, c.age FROM person c WHERE c.name like ('% $1' || ?) || '%' java.util.UnknownFormatConversionException: Conversion = ' '
        at java.base/java.util.Formatter.parse(Formatter.java:2750)
        at java.base/java.util.Formatter.format(Formatter.java:2671)
        at java.base/java.util.Formatter.format(Formatter.java:2625)
        at java.base/java.lang.String.format(String.java:4184)
        at org.apache.logging.log4j.message.StringFormattedMessage.formatMessage(StringFormattedMessage.java:116)
        at org.apache.logging.log4j.message.StringFormattedMessage.getFormattedMessage(StringFormattedMessage.java:88)
        at sbt.internal.util.Appender.$anonfun$appendMessage$1(ConsoleAppender.scala:508)
        at sbt.internal.util.Appender.appendLog(ConsoleAppender.scala:426)
        at sbt.internal.util.Appender.appendLog$(ConsoleAppender.scala:425)
        at sbt.internal.util.ConsoleAppender.appendLog(ConsoleAppender.scala:336)
        at sbt.internal.util.Appender.appendMessage(ConsoleAppender.scala:508)
        at sbt.internal.util.Appender.appendMessage$(ConsoleAppender.scala:504)
        at sbt.internal.util.ConsoleAppender.appendMessage(ConsoleAppender.scala:336)
        at sbt.internal.util.ConsoleAppender.$anonfun$toLog4J$1(ConsoleAppender.scala:350)
        at sbt.internal.util.ConsoleAppender.$anonfun$toLog4J$1$adapted(ConsoleAppender.scala:347)
        at sbt.internal.util.Log4JConsoleAppender.append(ConsoleAppender.scala:571)
        at sbt.internal.util.ConsoleAppenderFromLog4J.appendLog(ConsoleAppender.scala:584)
        at sbt.internal.util.Appender.$anonfun$appendMessageContent$3(ConsoleAppender.scala:544)
        at sbt.internal.util.Appender.$anonfun$appendMessageContent$3$adapted(ConsoleAppender.scala:542)
        at scala.collection.immutable.Vector.foreach(Vector.scala:1856)
        at sbt.internal.util.Appender.appendEvent$1(ConsoleAppender.scala:542)
        at sbt.internal.util.Appender.appendMessageContent(ConsoleAppender.scala:553)
        at sbt.internal.util.Appender.appendObjectEvent(ConsoleAppender.scala:558)
        at sbt.internal.util.Appender.appendObjectEvent$(ConsoleAppender.scala:557)
        at sbt.internal.util.ConsoleAppenderFromLog4J.appendObjectEvent(ConsoleAppender.scala:573)
        at sbt.util.LoggerContext$LoggerContextImpl$Log.$anonfun$log$4(LoggerContext.scala:129)
        at java.base/java.util.Vector.forEach(Vector.java:1365)
        at sbt.util.LoggerContext$LoggerContextImpl$Log.log(LoggerContext.scala:127)
        at sbt.internal.util.ManagedLogger.logEvent(ManagedLogger.scala:92)
        at sbt.internal.util.ManagedLogger.infoEvent(ManagedLogger.scala:79)
        at sbt.internal.inc.ManagedLoggedReporter.logInfo(LoggedReporter.scala:88)
        at sbt.internal.inc.LoggedReporter.display(LoggedReporter.scala:169)
        at sbt.internal.inc.LoggedReporter.log(LoggedReporter.scala:144)
        at xsbt.DelegatingReporter.info0(DelegatingReporter.scala:185)
        at scala.tools.nsc.reporters.MakeFilteringForwardingReporter.doReport(ForwardingReporter.scala:59)
        at scala.tools.nsc.reporters.FilteringReporter.info0(Reporter.scala:104)
        at scala.reflect.internal.Reporter.echo(Reporting.scala:109)
        at scala.reflect.macros.contexts.FrontEnds.info(FrontEnds.scala:25)
        at scala.reflect.macros.contexts.FrontEnds.info$(FrontEnds.scala:25)
        at scala.reflect.macros.contexts.Context.info(Context.scala:18)
        at scala.reflect.macros.contexts.Context.info(Context.scala:18)
        at io.getquill.util.MacroContextExt$RichContext.query(MacroContextExt.scala:35)
        at io.getquill.context.ContextMacro.translateStatic(ContextMacro.scala:70)
        at io.getquill.context.ContextMacro.translate(ContextMacro.scala:35)
        at io.getquill.context.ContextMacro.expand(ContextMacro.scala:22)
        at io.getquill.context.ContextMacro.expand$(ContextMacro.scala:19)
        at io.getquill.context.QueryMacro.expand(QueryMacro.scala:9)
        at io.getquill.context.QueryMacro.expandQueryWithMeta(QueryMacro.scala:208)
        at io.getquill.context.QueryMacro.expandQuery(QueryMacro.scala:53)
        at io.getquill.context.QueryMacro.runQuery(QueryMacro.scala:35)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at scala.reflect.macros.runtime.JavaReflectionRuntimes$JavaReflectionResolvers.$anonfun$resolveJavaReflectionRuntime$5(JavaReflectionRuntimes.scala:45)
        at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:770)
        at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:746)
        at scala.tools.nsc.Global$$anon$6.macroExpandWithRuntime(Global.scala:490)
        at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:576)
        at scala.tools.nsc.Global.withInfoLevel(Global.scala:233)
        at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:569)
        at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:556)
        at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:731)
        at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:729)
        at scala.tools.nsc.Global$$anon$6.standardMacroExpand(Global.scala:490)
        at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$11.default(AnalyzerPlugins.scala:473)
        at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$11.default(AnalyzerPlugins.scala:470)
        at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:427)
        at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:470)
        at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:470)
        at scala.tools.nsc.Global$$anon$6.pluginsMacroExpand(Global.scala:490)
        at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:720)
        at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:713)
        at scala.tools.nsc.Global$$anon$6.macroExpand(Global.scala:490)
        at scala.tools.nsc.typechecker.Typers$Typer.vanillaAdapt$1(Typers.scala:1209)
        at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1278)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6056)
        at scala.tools.nsc.typechecker.Typers$Typer.typedBlock(Typers.scala:2565)
        at scala.tools.nsc.typechecker.Typers$Typer.typedOutsidePatternMode$1(Typers.scala:5960)
        at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5995)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6041)
        at scala.tools.nsc.typechecker.Typers$Typer.computeType(Typers.scala:6130)
        at scala.tools.nsc.typechecker.Namers$Namer.assignTypeToTree(Namers.scala:1127)
        at scala.tools.nsc.typechecker.Namers$Namer.methodSig(Namers.scala:1449)
        at scala.tools.nsc.typechecker.Namers$Namer.memberSig(Namers.scala:1929)
        at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:1880)
        at scala.tools.nsc.typechecker.Namers$Namer$MonoTypeCompleter.completeImpl(Namers.scala:874)
        at scala.tools.nsc.typechecker.Namers$LockingTypeCompleter.complete(Namers.scala:2078)
        at scala.tools.nsc.typechecker.Namers$LockingTypeCompleter.complete$(Namers.scala:2076)
        at scala.tools.nsc.typechecker.Namers$TypeCompleterBase.complete(Namers.scala:2071)
        at scala.reflect.internal.Symbols$Symbol.completeInfo(Symbols.scala:1561)
        at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1533)
        at scala.reflect.internal.Symbols$Symbol.initialize(Symbols.scala:1722)
        at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5625)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6041)
        at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:6119)
        at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$8(Typers.scala:3410)
        at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3410)
        at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:2064)
        at scala.tools.nsc.typechecker.Typers$Typer.typedModuleDef(Typers.scala:1940)
        at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5952)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6041)
        at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:6119)
        at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$8(Typers.scala:3410)
        at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3410)
        at scala.tools.nsc.typechecker.Typers$Typer.typedPackageDef$1(Typers.scala:5634)
        at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5954)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6041)
        at scala.tools.nsc.typechecker.Analyzer$typerFactory$TyperPhase.apply(Analyzer.scala:117)
        at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:459)
        at scala.tools.nsc.typechecker.Analyzer$typerFactory$TyperPhase.run(Analyzer.scala:106)
        at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1524)
        at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1508)
        at scala.tools.nsc.Global$Run.compileSources(Global.scala:1500)
        at scala.tools.nsc.Global$Run.compileFiles(Global.scala:1613)
        at xsbt.CachedCompiler0.run(CompilerBridge.scala:163)
        at xsbt.CachedCompiler0.run(CompilerBridge.scala:134)
        at xsbt.CompilerBridge.run(CompilerBridge.scala:39)
        at sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:91)
        at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$7(MixedAnalyzingCompiler.scala:192)
        at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
        at sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:247)
        at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:182)
        at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4$adapted(MixedAnalyzingCompiler.scala:163)
        at sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:239)
        at sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:163)
        at sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:210)
        at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:528)
        at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:528)
        at sbt.internal.inc.Incremental$.$anonfun$apply$5(Incremental.scala:177)
        at sbt.internal.inc.Incremental$.$anonfun$apply$5$adapted(Incremental.scala:175)
        at sbt.internal.inc.Incremental$$anon$2.run(Incremental.scala:461)
        at sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:116)
        at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:56)
        at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:52)
        at sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:263)
        at sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:416)
        at sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:503)
        at sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:403)
        at sbt.internal.inc.Incremental$.apply(Incremental.scala:169)
        at sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:528)
        at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:482)
        at sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:332)
        at sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:420)
        at sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:137)
        at mill.scalalib.worker.ZincWorkerImpl.compileInternal(ZincWorkerImpl.scala:547)
        at mill.scalalib.worker.ZincWorkerImpl.$anonfun$compileMixed0$1(ZincWorkerImpl.scala:319)
        at mill.api.FixSizedCache.withCachedValue(FixSizedCache.scala:66)
        at mill.scalalib.worker.ZincWorkerImpl.withCompilers(ZincWorkerImpl.scala:401)
        at mill.scalalib.worker.ZincWorkerImpl.compileMixed0(ZincWorkerImpl.scala:318)
        at mill.scalalib.worker.ZincWorkerImpl.compileMixed(ZincWorkerImpl.scala:286)
        at mill.scalalib.ScalaModule.$anonfun$compile$2(ScalaModule.scala:195)
        at mill.define.Task$TraverseCtx.evaluate(Task.scala:380)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$13(Evaluator.scala:627)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withErr(Console.scala:193)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$12(Evaluator.scala:627)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withOut(Console.scala:164)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$11(Evaluator.scala:626)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withIn(Console.scala:227)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$8(Evaluator.scala:625)
        at mill.eval.Evaluator.$anonfun$evaluateGroup$8$adapted(Evaluator.scala:586)
        at scala.collection.immutable.Vector.foreach(Vector.scala:1856)
        at mill.eval.Evaluator.evaluateGroup(Evaluator.scala:586)
        at mill.eval.Evaluator.$anonfun$evaluateGroupCached$21(Evaluator.scala:478)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at mill.eval.Evaluator.evaluateGroupCached(Evaluator.scala:469)
        at mill.eval.Evaluator.$anonfun$sequentialEvaluate$2(Evaluator.scala:202)
        at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
        at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1293)
        at mill.eval.Evaluator.sequentialEvaluate(Evaluator.scala:177)
        at mill.eval.Evaluator.evaluate(Evaluator.scala:162)
        at mill.main.RunScript$.evaluateNamed(RunScript.scala:364)
        at mill.main.RunScript$.evaluate(RunScript.scala:349)
        at mill.main.RunScript$.$anonfun$evaluateTasks$1(RunScript.scala:314)
        at scala.util.Either.map(Either.scala:382)
        at mill.main.RunScript$.evaluateTasks(RunScript.scala:312)
        at mill.main.RunScript$.$anonfun$runScript$8(RunScript.scala:105)
        at ammonite.util.Res$Success.flatMap(Res.scala:62)
        at mill.main.RunScript$.runScript(RunScript.scala:104)
        at mill.main.MainRunner.$anonfun$runScript$1(MainRunner.scala:119)
        at mill.main.MainRunner.watchLoop2(MainRunner.scala:67)
        at mill.main.MainRunner.runScript(MainRunner.scala:92)
        at mill.MillMain$.main0(MillMain.scala:311)
        at mill.MillMain$.main(MillMain.scala:52)
        at mill.MillMain.main(MillMain.scala)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at mill.main.client.IsolatedMillMainLoader.runMain(IsolatedMillMainLoader.java:58)
        at mill.main.client.MillClientMain.main(MillClientMain.java:67)

[info] /home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala:19:12: SELECT c.name, c.age FROM person c WHERE c.name like ('% $1' || ?) || '%'
[info]     ctx.run(q)
[info]            ^
[debug] Scala compilation took 6.907669716 s
[info] done compiling

The scala.ext.dirs property is successfully applied and seen by zinc, yet, the compilation is still a full compilation, probably because of these lines:

[debug] Invalidating '/modules/java.base/java/lang/Object.class' because could not find class java.lang.Object on the classpath.
[debug] Invalidating '/modules/java.base/java/lang/Class.class' because could not find class java.lang.Class on the classpath.
[debug] Invalidating '/modules/java.base/java/time/LocalDateTime.class' because could not find class java.time.LocalDateTime on the classpath.
[debug] Invalidating '/modules/java.base/java/lang/String.class' because could not find class java.lang.String on the classpath.
[debug] Invalidating '/modules/java.base/java/io/Serializable.class' because could not find class java.io.Serializable on the classpath.

For comparison, here is also the output of the same commands, but without the --no-server option, hence with a Mill server. In this setup, zinc properly only compiles the changed files.

13:40:20 θ68° lefou:~/work/tmp/mill-format-prj main(+2/-0)* ± JAVA_HOME=/opt/openjdk-bin-17 dev-mill --debug __.compile
Using explicit system properties: Map()
[32/32] app.compile 
[debug] [zinc] IncrementalCompile -----------
[debug] IncrementalCompile.incrementalCompile
[debug] previous = Stamps for: 0 products, 0 sources, 0 libraries
[debug] current source = Set(/home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala, /home/lefou/work/tmp/mill-format-prj/app/src/main/scala/models/TestModel1.scala)
[debug] > initialChanges = InitialChanges(Changes(added = Set(/home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala, /home/lefou/work/tmp/mill-format-prj/app/src/main/scala/models/TestModel1.scala), removed = Set(), changed = Set(), unmodified = ...),Set(),Set(),API Changes: Set())
[debug] Full compilation, no sources in previous analysis.
[debug] all 2 sources are invalidated
[debug] Initial set of included nodes: 
[debug] Recompiling all sources: number of invalidated sources > 50.0% of all sources
[debug] compilation cycle 1
[info] compiling 2 Scala sources to /home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes ...
[debug] Returning already retrieved and compiled bridge: /home/lefou/work/tmp/mill-format-prj/out/mill/scalalib/ZincWorkerModule/worker.dest/zinc-1.6.1/2.13.8/compiled.
Classpath built from (-bootclasspath = /home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.8/scala-library-2.13.8.jar -encoding = UTF-8 -classpath = /home/lefou/work/tmp/mill-format-prj/app/src/main/resources:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-sql_2.13/3.18.0/quill-sql_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-engine_2.13/3.18.0/quill-engine_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-core_2.13/3.18.0/quill-core_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/pprint_2.13/0.6.6/pprint_2.13-0.6.6.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.13/2.7.0/scala-collection-compat_2.13-2.7.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/scala-logging/scala-logging_2.13/3.9.4/scala-logging_2.13-3.9.4.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/takayahilton/sql-formatter_2.13/1.2.1/sql-formatter_2.13-1.2.1.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/suzaku/boopickle_2.13/1.4.0/boopickle_2.13-1.4.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-logging_2.13/0.5.14/zio-logging_2.13-0.5.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fansi_2.13/0.2.14/fansi_2.13-0.2.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.13/0.2.7/sourcecode_2.13-0.2.7.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.8/scala-reflect-2.13.8.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio_2.13/1.0.12/zio_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-streams_2.13/1.0.12/zio-streams_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-stacktracer_2.13/1.0.12/zio-stacktracer_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect_2.13/1.1.3/izumi-reflect_2.13-1.1.3.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect-thirdparty-boopickle-shaded_2.13/1.1.3/izumi-reflect-thirdparty-boopickle-shaded_2.13-1.1.3.jar:/home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes -Vclasspath = true) 
Defaults: object Defaults {
  scalaHome            = 
  javaBootClassPath    = 
  scalaLibDirFound     = None
  scalaLibFound        = 
  scalaBootClassPath   = 
  scalaPluginPath      = misc/scala-devel/plugins
}
Calculated: object Calculated {
  scalaHome            = 
  javaBootClassPath    = 
  javaExtDirs          = 
  javaUserClassPath    = 
  useJavaClassPath     = false
  scalaBootClassPath   = /home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.8/scala-library-2.13.8.jar
  scalaExtDirs         = /home/lefou/.mill/ammonite/rt-17.0.3.jar
  userClassPath        = 
/home/lefou/work/tmp/mill-format-prj/app/src/main/resources
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-sql_2.13/3.18.0/quill-sql_2.13-3.18.0.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-engine_2.13/3.18.0/quill-engine_2.13-3.18.0.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-core_2.13/3.18.0/quill-core_2.13-3.18.0.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/pprint_2.13/0.6.6/pprint_2.13-0.6.6.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.13/2.7.0/scala-collection-compat_2.13-2.7.0.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/scala-logging/scala-logging_2.13/3.9.4/scala-logging_2.13-3.9.4.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/takayahilton/sql-formatter_2.13/1.2.1/sql-formatter_2.13-1.2.1.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/suzaku/boopickle_2.13/1.4.0/boopickle_2.13-1.4.0.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-logging_2.13/0.5.14/zio-logging_2.13-0.5.14.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fansi_2.13/0.2.14/fansi_2.13-0.2.14.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.13/0.2.7/sourcecode_2.13-0.2.7.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.8/scala-reflect-2.13.8.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio_2.13/1.0.12/zio_2.13-1.0.12.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-streams_2.13/1.0.12/zio-streams_2.13-1.0.12.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-stacktracer_2.13/1.0.12/zio-stacktracer_2.13-1.0.12.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect_2.13/1.1.3/izumi-reflect_2.13-1.1.3.jar
/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect-thirdparty-boopickle-shaded_2.13/1.1.3/izumi-reflect-thirdparty-boopickle-shaded_2.13-1.1.3.jar
/home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes
  sourcePath           = 
}
After java boot/extdirs classpath has 21 entries:
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.8/scala-library-2.13.8.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-sql_2.13/3.18.0/quill-sql_2.13-3.18.0.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-engine_2.13/3.18.0/quill-engine_2.13-3.18.0.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-core_2.13/3.18.0/quill-core_2.13-3.18.0.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/pprint_2.13/0.6.6/pprint_2.13-0.6.6.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.13/2.7.0/scala-collection-compat_2.13-2.7.0.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/scala-logging/scala-logging_2.13/3.9.4/scala-logging_2.13-3.9.4.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/takayahilton/sql-formatter_2.13/1.2.1/sql-formatter_2.13-1.2.1.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/suzaku/boopickle_2.13/1.4.0/boopickle_2.13-1.4.0.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-logging_2.13/0.5.14/zio-logging_2.13-0.5.14.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fansi_2.13/0.2.14/fansi_2.13-0.2.14.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.13/0.2.7/sourcecode_2.13-0.2.7.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.8/scala-reflect-2.13.8.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio_2.13/1.0.12/zio_2.13-1.0.12.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-streams_2.13/1.0.12/zio-streams_2.13-1.0.12.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-stacktracer_2.13/1.0.12/zio-stacktracer_2.13-1.0.12.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect_2.13/1.1.3/izumi-reflect_2.13-1.1.3.jar,None)
  ZipArchiveClassPath(/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect-thirdparty-boopickle-shaded_2.13/1.1.3/izumi-reflect-thirdparty-boopickle-shaded_2.13-1.1.3.jar,None)
  DirectoryClassPath(/home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes)
[info] [search path for source files: ]
[info] [search path for class files: /home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.8/scala-library-2.13.8.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-sql_2.13/3.18.0/quill-sql_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-engine_2.13/3.18.0/quill-engine_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-core_2.13/3.18.0/quill-core_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/pprint_2.13/0.6.6/pprint_2.13-0.6.6.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.13/2.7.0/scala-collection-compat_2.13-2.7.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/scala-logging/scala-logging_2.13/3.9.4/scala-logging_2.13-3.9.4.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/takayahilton/sql-formatter_2.13/1.2.1/sql-formatter_2.13-1.2.1.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/suzaku/boopickle_2.13/1.4.0/boopickle_2.13-1.4.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-logging_2.13/0.5.14/zio-logging_2.13-0.5.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fansi_2.13/0.2.14/fansi_2.13-0.2.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.13/0.2.7/sourcecode_2.13-0.2.7.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.8/scala-reflect-2.13.8.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio_2.13/1.0.12/zio_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-streams_2.13/1.0.12/zio-streams_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-stacktracer_2.13/1.0.12/zio-stacktracer_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect_2.13/1.1.3/izumi-reflect_2.13-1.1.3.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect-thirdparty-boopickle-shaded_2.13/1.1.3/izumi-reflect-thirdparty-boopickle-shaded_2.13-1.1.3.jar:/home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes]
[debug] [zinc] Running cached compiler 317122e6 for Scala compiler version 2.13.8
[debug] [zinc] The Scala compiler is invoked with:
[debug]         -Vclasspath
[debug]         -bootclasspath
[debug]         /home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.8/scala-library-2.13.8.jar
[debug]         -classpath
[debug]         /home/lefou/work/tmp/mill-format-prj/app/src/main/resources:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-sql_2.13/3.18.0/quill-sql_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-engine_2.13/3.18.0/quill-engine_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-core_2.13/3.18.0/quill-core_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/pprint_2.13/0.6.6/pprint_2.13-0.6.6.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.13/2.7.0/scala-collection-compat_2.13-2.7.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/scala-logging/scala-logging_2.13/3.9.4/scala-logging_2.13-3.9.4.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/takayahilton/sql-formatter_2.13/1.2.1/sql-formatter_2.13-1.2.1.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/suzaku/boopickle_2.13/1.4.0/boopickle_2.13-1.4.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-logging_2.13/0.5.14/zio-logging_2.13-0.5.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fansi_2.13/0.2.14/fansi_2.13-0.2.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.13/0.2.7/sourcecode_2.13-0.2.7.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.8/scala-reflect-2.13.8.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio_2.13/1.0.12/zio_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-streams_2.13/1.0.12/zio-streams_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-stacktracer_2.13/1.0.12/zio-stacktracer_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect_2.13/1.1.3/izumi-reflect_2.13-1.1.3.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect-thirdparty-boopickle-shaded_2.13/1.1.3/izumi-reflect-thirdparty-boopickle-shaded_2.13-1.1.3.jar:/home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes
[info] /home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala:19:12: SELECT c.name, c.age FROM person c WHERE c.name like ('% $1' || ?) || '%'
[info]     ctx.run(q)
[info]            ^
[debug] Scala compilation took 6.207257566 s
[info] done compiling
13:40:43 θ74° lefou:~/work/tmp/mill-format-prj main(+2/-0)* 16s ± echo " " >> app/src/main/scala/App.scala 
13:40:46 θ80° lefou:~/work/tmp/mill-format-prj main(+3/-0)* ± JAVA_HOME=/opt/openjdk-bin-17 dev-mill --debug __.compile
Using explicit system properties: Map()
[32/32] app.compile 
[debug] [zinc] IncrementalCompile -----------
[debug] IncrementalCompile.incrementalCompile
[debug] previous = Stamps for: 10 products, 2 sources, 9 libraries
[debug] current source = Set(/home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala, /home/lefou/work/tmp/mill-format-prj/app/src/main/scala/models/TestModel1.scala)
[debug] > initialChanges = InitialChanges(Changes(added = Set(), removed = Set(), changed = Set(/home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala), unmodified = ...),Set(),Set(),API Changes: Set())
[debug] 
[debug] Initial source changes:
[debug]         removed: Set()
[debug]         added: Set()
[debug]         modified: Set(/home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala)
[debug] Invalidated products: Set()
[debug] External API changes: API Changes: Set()
[debug] Modified binary dependencies: Set()
[debug] Initial directly invalidated classes: Set(app.App.Person, app.App)
[debug] Sources indirectly invalidated by:
[debug]         product: Set()
[debug]         binary dep: Set()
[debug]         external source: Set()
[debug] All initially invalidated classes: Set(app.App.Person, app.App)
[debug] All initially invalidated sources:Set(/home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala)
[debug] Initial set of included nodes: app.App.Person, app.App
[debug] compilation cycle 1
[info] compiling 1 Scala source to /home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes ...
[debug] Returning already retrieved and compiled bridge: /home/lefou/work/tmp/mill-format-prj/out/mill/scalalib/ZincWorkerModule/worker.dest/zinc-1.6.1/2.13.8/compiled.
[info] [search path for source files: ]
[info] [search path for class files: /home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.8/scala-library-2.13.8.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-sql_2.13/3.18.0/quill-sql_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-engine_2.13/3.18.0/quill-engine_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-core_2.13/3.18.0/quill-core_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/pprint_2.13/0.6.6/pprint_2.13-0.6.6.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.13/2.7.0/scala-collection-compat_2.13-2.7.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/scala-logging/scala-logging_2.13/3.9.4/scala-logging_2.13-3.9.4.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/takayahilton/sql-formatter_2.13/1.2.1/sql-formatter_2.13-1.2.1.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/suzaku/boopickle_2.13/1.4.0/boopickle_2.13-1.4.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-logging_2.13/0.5.14/zio-logging_2.13-0.5.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fansi_2.13/0.2.14/fansi_2.13-0.2.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.13/0.2.7/sourcecode_2.13-0.2.7.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.8/scala-reflect-2.13.8.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio_2.13/1.0.12/zio_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-streams_2.13/1.0.12/zio-streams_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-stacktracer_2.13/1.0.12/zio-stacktracer_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect_2.13/1.1.3/izumi-reflect_2.13-1.1.3.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect-thirdparty-boopickle-shaded_2.13/1.1.3/izumi-reflect-thirdparty-boopickle-shaded_2.13-1.1.3.jar:/home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes]
[debug] [zinc] Running cached compiler 29dfc17d for Scala compiler version 2.13.8
[debug] [zinc] The Scala compiler is invoked with:
[debug]         -Vclasspath
[debug]         -bootclasspath
[debug]         /home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.8/scala-library-2.13.8.jar
[debug]         -classpath
[debug]         /home/lefou/work/tmp/mill-format-prj/app/src/main/resources:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-sql_2.13/3.18.0/quill-sql_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-engine_2.13/3.18.0/quill-engine_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/getquill/quill-core_2.13/3.18.0/quill-core_2.13-3.18.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/pprint_2.13/0.6.6/pprint_2.13-0.6.6.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.13/2.7.0/scala-collection-compat_2.13-2.7.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/scala-logging/scala-logging_2.13/3.9.4/scala-logging_2.13-3.9.4.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/takayahilton/sql-formatter_2.13/1.2.1/sql-formatter_2.13-1.2.1.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/io/suzaku/boopickle_2.13/1.4.0/boopickle_2.13-1.4.0.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-logging_2.13/0.5.14/zio-logging_2.13-0.5.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fansi_2.13/0.2.14/fansi_2.13-0.2.14.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.13/0.2.7/sourcecode_2.13-0.2.7.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.8/scala-reflect-2.13.8.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio_2.13/1.0.12/zio_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-streams_2.13/1.0.12/zio-streams_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-stacktracer_2.13/1.0.12/zio-stacktracer_2.13-1.0.12.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect_2.13/1.1.3/izumi-reflect_2.13-1.1.3.jar:/home/lefou/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect-thirdparty-boopickle-shaded_2.13/1.1.3/izumi-reflect-thirdparty-boopickle-shaded_2.13-1.1.3.jar:/home/lefou/work/tmp/mill-format-prj/out/app/compile.dest/classes
[info] /home/lefou/work/tmp/mill-format-prj/app/src/main/scala/App.scala:19:12: SELECT c.name, c.age FROM person c WHERE c.name like ('% $1' || ?) || '%'
[info]     ctx.run(q)
[info]            ^
[debug] New invalidations:
[debug] Initial set of included nodes: 
[debug] Previously invalidated, but (transitively) depend on new invalidations:
[debug] Final step, transitive dependencies:
[debug]         Set()
[debug] No classes were invalidated.
[debug] Scala compilation took 2.404951767 s
[info] done compiling


@jilen
Copy link
Contributor Author

jilen commented Jun 23, 2022

@lefou I think I have found the cause.
sbt use a MappedFileConverter which will map /modules/java.base/xxx to rt.jar

        def isCtSym =
          path.getFileSystem
            .provider()
            .getScheme == "jar" && path.getFileSystem.toString.endsWith("ct.sym")
        def isJrt = path.getFileSystem.provider().getScheme == "jrt"
        if (isJrt || path.getFileName.toString == "rt.jar" || isCtSym)
          DummyVirtualFile("rt.jar", path)

@lefou
Copy link
Member

lefou commented Jun 23, 2022

@jilen Nice finding!

I think we should also try to create an integration test from this issue.

@lefou
Copy link
Member

lefou commented Jun 23, 2022

@lefou I think I have found the cause. sbt use a MappedFileConverter which will map /modules/java.base/xxx to rt.jar

        def isCtSym =
          path.getFileSystem
            .provider()
            .getScheme == "jar" && path.getFileSystem.toString.endsWith("ct.sym")
        def isJrt = path.getFileSystem.provider().getScheme == "jrt"
        if (isJrt || path.getFileName.toString == "rt.jar" || isCtSym)
          DummyVirtualFile("rt.jar", path)

Can you provide a reference where you found it?

lefou pushed a commit that referenced this issue Jun 24, 2022
Fix #1901

Zinc uses a `MappedFileConverter`, it will converter `jdk` internal classes like `/module/java.base/java.lang.String` associated with a dummpy `rt.jar`.
https://github.com/sbt/zinc/blob/57d03412abe3810be5762a8c8e8c55cbf622ed03/internal/zinc-core/src/main/scala/sbt/internal/inc/MappedVirtualFile.scala#L56

```scala
def toVirtualFile(path: Path): VirtualFile = {
    rootPaths2.find { case (_, rootPath) => path.startsWith(rootPath) } match {
      case Some((key, rootPath)) =>
        MappedVirtualFile(s"$${$key}/${rootPath.relativize(path)}".replace('\\', '/'), rootPaths)
      case _ =>
        def isCtSym =
          path.getFileSystem
            .provider()
            .getScheme == "jar" && path.getFileSystem.toString.endsWith("ct.sym")
        def isJrt = path.getFileSystem.provider().getScheme == "jrt"
        if (isJrt || path.getFileName.toString == "rt.jar" || isCtSym)
          DummyVirtualFile("rt.jar", path)
        else if (allowMachinePath) MappedVirtualFile(s"$path".replace('\\', '/'), rootPaths)
        else sys.error(s"$path cannot be mapped using the root paths $rootPaths")
    }
  }
```

And later the `Incremental`  will exclude such binary dependencies.
https://github.com/sbt/zinc/blob/57d03412abe3810be5762a8c8e8c55cbf622ed03/internal/zinc-core/src/main/scala/sbt/internal/inc/Incremental.scala#L783

```scala

        // dependency is some other binary on the classpath.
        // exclude dependency tracking with rt.jar, for example java.lang.String -> rt.jar.
        if (!vf.id.endsWith("rt.jar")) {
          externalLibraryDependency(
            vf,
            onBinaryName,
            sourceFile,
            context
          )
        }
```

This commit implements the exclusion, when reading the `Incremental` analysis file.

Pull request: #1904
@lefou
Copy link
Member

lefou commented Jun 24, 2022

PR #1904 is merged and incremental compilation should now work as expected. I will later merge #1907, which adds a test case for it.

@jilen Thank you very much for your contribution!

@lefou lefou added this to the after 0.10.4 milestone Jun 24, 2022
lefou added a commit that referenced this issue Jun 24, 2022
Regression test, making sure Zinc incremental compilation only compile changed files.

Related to

* #1901
* #1904

Pull request: #1907
@lefou
Copy link
Member

lefou commented Sep 14, 2022

See #1901 (comment) (in the details sections)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants