xsc / lein-ancient

Check your Projects for outdated Dependencies
MIT License
561 stars 33 forks source link

"upgrade" breaks projects with mysql-connector #96

Closed jdornieden closed 3 years ago

jdornieden commented 6 years ago

My project has the following dependency to mysql/mysql-connector-java:

 [mysql/mysql-connector-java "8.0.8-dmr"]`

When executing lein ancient I get the following message:

[mysql/mysql-connector-java "8.0.8"] is available but we use "8.0.8-dmr"

The problem is that there is no version "8.0.8" of the mysql-connector but only "8.0.8-dmr" (s. https://mvnrepository.com/artifact/mysql/mysql-connector-java). So when executing lein ancient upgrade the dependency is changed to a non-existing version and the build breaks.

P.S.: I guess it's not really a problem with mysql but with versions containing additional texts

xsc commented 3 years ago

Hm, this is a funny one. This behaviour still exists, even after switching from our custom resolution code to Leiningen's own Maven wiring. It seems that in the artifact's maven-metadata.xml there is indeed a version 8.0.8 (no 8.0.8-dmr), which explains why a VersionRangeRequest would return it.

<metadata>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <versioning>
    <latest>8.0.23</latest>
    <release>8.0.23</release>
    <versions>
      ...
      <version>8.0.7</version>
      <version>8.0.8</version>
      <version>8.0.9</version>
      ...
    </versions>
    <lastUpdated>20210118053541</lastUpdated>
  </versioning>
</metadata>

I think I'll need to declare this a "wontfix" since there is nothing we can do from lein-ancient's end. :/