Skip to content

Version 2024.08.05-18.16.00 (JVM) doesn't work out of the box without adding a fake dev.weavejester/cljfmt dependency #1867

@camsaul

Description

@camsaul

I added an alias like

:lsp
{:replace-deps {com.github.clojure-lsp/clojure-lsp {:mvn/version "2024.08.05-18.16.00"}}}

and clj -X:lsp '{:exec-fn ...}' doesn't work. It fails with the error

Error building classpath. Failed to read artifact descriptor for dev.weavejester:cljfmt:jar:0.12.0
org.eclipse.aether.resolution.ArtifactDescriptorException: Failed to read artifact descriptor for dev.weavejester:cljfmt:jar:0.12.0
        at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:255)
        at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:171)
        at org.eclipse.aether.internal.impl.DefaultRepositorySystem.readArtifactDescriptor(DefaultRepositorySystem.java:263)
        at clojure.tools.deps.extensions.maven$read_descriptor.invokeStatic(maven.clj:115)
        at clojure.tools.deps.extensions.maven$fn__1143.invokeStatic(maven.clj:143)
        at clojure.tools.deps.extensions.maven$fn__1143.invoke(maven.clj:143)
        at clojure.lang.MultiFn.invoke(MultiFn.java:244)
        at clojure.tools.deps$expand_deps$children_task__773$fn__775$fn__776.invoke(deps.clj:405)
        at clojure.tools.deps.util.concurrent$submit_task$task__481.invoke(concurrent.clj:35)
        at clojure.lang.AFn.call(AFn.java:18)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
        at java.base/java.lang.Thread.run(Thread.java:1589)
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Could not transfer artifact dev.weavejester:cljfmt:pom:0.12.0 from/to central (https://repo1.maven.org/maven2/): /home/cam/.m2/repository/dev/weavejester/cljfmt/0.12.0/cljfmt-0.12.0.pom.part.lock (No such file or directory)
        at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:431)
        at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:235)
        at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:212)
        at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:240)
        ... 13 more
Caused by: org.eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact dev.weavejester:cljfmt:pom:0.12.0 from/to central (https://repo1.maven.org/maven2/): /home/cam/.m2/repository/dev/weavejester/cljfmt/0.12.0/cljfmt-0.12.0.pom.part.lock (No such file or directory)
        at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:52)
        at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:401)
        at org.eclipse.aether.util.concurrency.RunnableErrorForwarder.lambda$wrap$0(RunnableErrorForwarder.java:73)
        at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:669)
        at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:290)
        at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:520)
        at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:408)
        ... 16 more
Caused by: java.io.FileNotFoundException: /home/cam/.m2/repository/dev/weavejester/cljfmt/0.12.0/cljfmt-0.12.0.pom.part.lock (No such file or directory)
        at java.base/java.io.RandomAccessFile.open0(Native Method)
        at java.base/java.io.RandomAccessFile.open(RandomAccessFile.java:346)
        at java.base/java.io.RandomAccessFile.<init>(RandomAccessFile.java:260)
        at java.base/java.io.RandomAccessFile.<init>(RandomAccessFile.java:214)
        at org.eclipse.aether.connector.basic.PartialFile$LockFile.tryLock(PartialFile.java:138)
        at org.eclipse.aether.connector.basic.PartialFile$LockFile.lock(PartialFile.java:82)
        at org.eclipse.aether.connector.basic.PartialFile$LockFile.<init>(PartialFile.java:70)
        at org.eclipse.aether.connector.basic.PartialFile$Factory.newInstance(PartialFile.java:268)
        at org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.runTask(BasicRepositoryConnector.java:481)
        at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:396)
        ... 21 more

I see this is a dep here

https://github.com/clojure-lsp/clojure-lsp/blob/master/lib/deps.edn

but I'm not really clear on why it's trying to pull that in when I run the release version.

If I fake the dep by adding an extra

dev.weavejester/cljfmt             
{:git/url "https://github.com/weavejester/cljfmt"
 :git/sha "434408f6909924f524c8027b37422d32bb49622d"}

dep then it does actually seem to work. Should this be added to your documentation somewhere or to the top-level deps.edn so things work out of the box?

Metadata

Metadata

Assignees

No one assigned

    Labels

    APIRelated to API / CLIbugSomething isn't workingneed-more-info

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions