mill icon indicating copy to clipboard operation
mill copied to clipboard

mill 0.11.2 does not resolve the javax.media maven organization properly.

Open okennedy opened this issue 1 year ago • 7 comments

Reproduction steps:

  1. Create a project with a dependency on https://mvnrepository.com/artifact/org.geotools/gt-main
  2. Attempt to compile the project.

In mill 0.11.1, the project compiles properly. In mill 0.11.2, the project fails with an unresolved dependency:

___.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

The correct URL should be javax.media, not javax/media

okennedy avatar Sep 07 '23 20:09 okennedy

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.

lefou avatar Sep 08 '23 09:09 lefou

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.

okennedy avatar Sep 08 '23 13:09 okennedy

Yeah, a repro would be nice.

lefou avatar Sep 08 '23 14:09 lefou

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.

lefou avatar Sep 08 '23 14:09 lefou

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 avatar Sep 08 '23 14:09 okennedy

@okennedy You could try to remove the relevant path in your coursier cache and re-try.

lefou avatar Sep 08 '23 14:09 lefou

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  $  

okennedy avatar Sep 08 '23 16:09 okennedy