Closed lread closed 1 year ago
@lread Thanks for your reporting!
So maybe tools.deps will be of some help here. Note also, as I understand it, that properties can come from parent poms.
Great. I'll have a look.
This multimethod resolves properties in pom.xml https://github.com/clojure/tools.deps/blob/6ae2b6f71773de7549d7f22759e8b09fec27f0d9/src/main/clojure/clojure/tools/deps/extensions/pom.clj#L96-L100
This multimethod resolves properties in pom.xml https://github.com/clojure/tools.deps/blob/6ae2b6f71773de7549d7f22759e8b09fec27f0d9/src/main/clojure/clojure/tools/deps/extensions/pom.clj#L96-L100
Hiya @liquidz! I'm not sure if you are making a note for yourself or asking me to look into something here.
@lread Oh sorry. It's just a note for me :)
@lread Sorry for late fixing.
I've fixed this problem in dev
branch, and upgrading versions managed by properties should work also. (Of course versions managed in parent pom will be skipped)
Could you try dev
branch?
Hmm? Something may be wrong with upgrading pom.
@lread Sorry for late fixing.
Hey, I'm in absolutely no hurry, thanks for looking into this.
Could you try
dev
branch?
Sure, will do sometime today and get back to you.
Ok, only did minimal testing but against my repro above from antq dev branch:
❯ clojure -M -m antq.core --directory ../../-verify/ant-repo
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[##################################################] 24/24
| :file | :name | :current | :latest |
|--------------------------------+------------------------------------------+----------+---------|
| ../../-verify/ant-repo/pom.xml | org.apache.maven/maven-resolver-provider | 3.8.6 | 3.8.7 |
| | org.clojure/clojure | 1.4.0 | 1.11.1 |
| | org.tcrawley/dynapath | 1.0.0 | 1.1.0 |
Available changes:
- https://github.com/clojure/clojure/blob/clojure-1.11.1/changes.md
- https://github.com/tobias/dynapath/blob/1.1.0/Changelog.md
Looks good!
And if I hit pomegranate:
❯ clojure -M -m antq.core --directory ../../-verify/pomegranate
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[##################################################] 57/57
| :file | :name | :current | :latest |
|------------------------------------+----------------------+----------------------+---------------------------------|
| ../../-verify/pomegranate/deps.edn | clj-kondo/clj-kondo | 2023.01.16 | 2023.01.20 |
| | seancorfield/depstar | seancorfield/depstar | com.github.seancorfield/depstar |
| ../../-verify/pomegranate/pom.xml | org.clojure/clojure | 1.4.0 | 1.11.1 |
Available changes:
- https://github.com/clj-kondo/clj-kondo/blob/v2023.01.20/CHANGELOG.md
- https://github.com/clojure/clojure/blob/clojure-1.11.1/changes.md
Looks good!
Compare with old behaviour:
❯ clojure -Sdeps '{:deps {com.github.liquidz/antq {:mvn/version "RELEASE"}}}' -M -m antq.core
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[##################################################] 41/41
| :file | :name | :current | :latest |
|----------+----------------------------------------------------------+----------------------+---------------------------------|
| deps.edn | clj-kondo/clj-kondo | 2023.01.16 | 2023.01.20 |
| | seancorfield/depstar | seancorfield/depstar | com.github.seancorfield/depstar |
| pom.xml | org.apache.maven.resolver/maven-resolver-api | ${resolverVersion} | 1.9.4 |
| | org.apache.maven.resolver/maven-resolver-connector-basic | ${resolverVersion} | 1.9.4 |
| | org.apache.maven.resolver/maven-resolver-impl | ${resolverVersion} | 1.9.4 |
| | org.apache.maven.resolver/maven-resolver-spi | ${resolverVersion} | 1.9.4 |
| | org.apache.maven.resolver/maven-resolver-transport-file | ${resolverVersion} | 1.9.4 |
| | org.apache.maven.resolver/maven-resolver-transport-http | ${resolverVersion} | 1.9.4 |
| | org.apache.maven.resolver/maven-resolver-transport-wagon | ${resolverVersion} | 1.9.4 |
| | org.apache.maven.resolver/maven-resolver-util | ${resolverVersion} | 1.9.4 |
| | org.apache.maven.wagon/wagon-http | ${wagonVersion} | 3.5.3 |
| | org.apache.maven.wagon/wagon-provider-api | ${wagonVersion} | 3.5.3 |
| | org.apache.maven.wagon/wagon-ssh | ${wagonVersion} | 3.5.3 |
| | org.apache.maven/maven-resolver-provider | ${mavenVersion} | 3.8.7 |
| | org.clojure/clojure | ${clojure.version} | 1.11.1 |
Available changes:
- https://github.com/clj-kondo/clj-kondo/blob/v2023.01.20/CHANGELOG.md
Upgrading... that's not something I personally use antq for.
@lread Thanks for your confirmation!
Just released 2.2.983 #198
While checking pomegranate for old deps with antq, I noticed that when versions in
pom.xml
files come from pom properties, these properties are not evaluated.I'm not suggesting that you fix this, that is, of course, entirely your choice, just thought you would be interested.
Reproduction
Create a
pom.xml
in an empty directory:From that directory, run antq:
Actual output
Expected output
I would expect antq to compare against and present the actual property values:
Note that
org.apache.maven.resolver/maven-resolver-api
would not be presented, because, at the time of this writing, the current version is1.9.4
.Observation
If, from the same dir, I ask clojure to show the deps:
We can see that it resolves the maven properties:
So maybe tools.deps will be of some help here. Note also, as I understand it, that properties can come from parent poms.