Open okennedy opened 1 year ago
The URL to jai_core
is correct. The URL exists: https://repo1.maven.org/maven2/javax/media/jai_core/1.1.3/ but there is no binary jar
, only a pom
and a javadoc jar
. This is not a issue in Mill but with Maven central repo1. The pom
states <packaging>jar</packaging>
but there is no jar file.
In Maven repositories, dots in organization names are replaced by path separators. This is a difference to Ivy repositories.
It's possible it's a different issue. I can confirm that the symptom is there: The project compiles correctly under mill 0.11.1, but not under .2 I can come up with a minimal reproduction later today.
Yeah, a repro would be nice.
There is probably a related issue in coursier: https://github.com/coursier/coursier/issues/2377
The latest comment is about the same sympton but in sbt. They switched from sbt 1.9.3 to 1.9.4. Sbt 1.9.4 as well as Mill 0.11.2 bumped their dependencies on coursier from 2.1.4 to 2.1.6. So, seeing the same issue (paired with a nice explanation in the linked issue) in sbt and Mill indicates an upstream issue in coursier 2.1.6.
https://github.com/okennedy/mill_jai_repro
okennedy athena ~ Desktop JaiTest main $ mill version
[build.sc] [41/49] compile
[info] compiling 1 Scala source to /home/okennedy/Desktop/JaiTest/out/mill-build/compile.dest/classes ...
[info] done compiling
[1/1] version
0.11.1
okennedy athena ~ Desktop JaiTest main $ mill jaitest.compile
[33/33] jaitest.compile
okennedy athena ~ Desktop JaiTest main $ coursier uninstall mill
Uninstalled mill
okennedy athena ~ Desktop JaiTest main $ coursier install mill:0.11.2
https://repo1.maven.org/maven2/io/get-coursier/apps/maven-metadata.xml
No new update since 2023-08-16 10:52:10
Wrote mill
okennedy athena ~ Desktop JaiTest main $ mill jaitest.compile
[build.sc] [43/52] compile
[info] compiling 1 Scala source to /home/okennedy/Desktop/JaiTest/out/mill-build/compile.dest/classes ...
[info] done compiling
[22/33] jaitest.resolvedIvyDeps
1 targets failed
jaitest.resolvedIvyDeps Failed to load dependencies
not found: https://repo1.maven.org/maven2/javax/media/jai_core/1.1.3/jai_core-1.1.3.jar
@okennedy You could try to remove the relevant path in your coursier cache and re-try.
No effect:
okennedy athena ~ Desktop mill_jai_repro main $ coursier uninstall mill
Uninstalled mill
okennedy athena ~ Desktop mill_jai_repro main $ coursier install mill:0.11.2
https://repo1.maven.org/maven2/io/get-coursier/apps/maven-metadata.xml
No new update since 2023-08-16 10:52:10
Wrote mill
okennedy athena ~ Desktop mill_jai_repro main $ rm -rf ~/.cache/coursier/v1/https/repo1.maven.org/maven2/javax
okennedy athena ~ Desktop mill_jai_repro main $ mill jaitest.compile
[build.sc] [43/52] compile
[info] compiling 1 Scala source to /home/okennedy/Desktop/mill_jai_repro/out/mill-build/compile.dest/classes ...
[info] done compiling
[22/33] jaitest.resolvedIvyDeps | Downloading [3/3] artifacts (~35607/35607 bytes)
1 targets failed
jaitest.resolvedIvyDeps Failed to load dependencies
not found: https://repo1.maven.org/maven2/javax/media/jai_core/1.1.3/jai_core-1.1.3.jar
okennedy athena ~ Desktop mill_jai_repro main $ coursier uninstall mill
Uninstalled mill
okennedy athena ~ Desktop mill_jai_repro main $ coursier install mill:0.11.1
https://repo1.maven.org/maven2/io/get-coursier/apps/maven-metadata.xml
No new update since 2023-08-16 10:52:10
https://repo1.maven.org/maven2/javax/enterprise/cdi-api/1.0/cdi-api-1.0.pom
100.0% [##########] 1.4 KiB (46.7 KiB / s)
Wrote mill
okennedy athena ~ Desktop mill_jai_repro main $ rm -rf ~/.cache/coursier/v1/https/repo1.maven.org/maven2/javax
okennedy athena ~ Desktop mill_jai_repro main $ mill jaitest.compile
[build.sc] [41/49] compile
[info] compiling 1 Scala source to /home/okennedy/Desktop/mill_jai_repro/out/mill-build/compile.dest/classes ...
[info] done compiling
[33/33] jaitest.compile
okennedy athena ~ Desktop mill_jai_repro main $
Reproduction steps:
In mill 0.11.1, the project compiles properly. In mill 0.11.2, the project fails with an unresolved dependency:
The correct URL should be
javax.media
, notjavax/media