<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Clojure Q&amp;A - Recent activity in tools.deps</title>
<link>https://ask.clojure.org/index.php/activity/contrib-libs/tools-deps</link>
<description></description>
<item>
<title>Commented: How to fix error 'could not acquire write lock for 'artifact:org.bytedeco:opencv:4.5.5-1.5.7' ?</title>
<link>https://ask.clojure.org/index.php/12730/error-could-acquire-write-lock-artifact-org-bytedeco-opencv?show=15025#c15025</link>
<description>GitHub agents are a good spot to see the problem, as they start with an &amp;quot;empty&amp;quot; .m2 folder.&lt;br /&gt;
If here:&lt;br /&gt;
&lt;a href=&quot;https://github.com/scicloj/metamorph.ml/blob/14b4e609a18ec9b291bc26a160108d249e56ba70/.github/workflows/main.yml#L50&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://github.com/scicloj/metamorph.ml/blob/14b4e609a18ec9b291bc26a160108d249e56ba70/.github/workflows/main.yml#L50&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I would remove here the &amp;quot;-Sthreads 1&amp;quot;, the build would (I believe) fail &amp;nbsp;on each run.</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/12730/error-could-acquire-write-lock-artifact-org-bytedeco-opencv?show=15025#c15025</guid>
<pubDate>Fri, 03 Apr 2026 09:52:20 +0000</pubDate>
</item>
<item>
<title>Commented: How to access non-jar artifacts (aar, zip) downloaded via tools.deps in build.clj?</title>
<link>https://ask.clojure.org/index.php/14862/how-access-non-jar-artifacts-aar-downloaded-tools-deps-build?show=14866#c14866</link>
<description>Yeah, I tried to create a build.clj that would do this from the basis, but I also got nil :paths for those non-jar files</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14862/how-access-non-jar-artifacts-aar-downloaded-tools-deps-build?show=14866#c14866</guid>
<pubDate>Wed, 24 Dec 2025 22:42:34 +0000</pubDate>
</item>
<item>
<title>`create-basis` silently accepts missing aliases</title>
<link>https://ask.clojure.org/index.php/14584/create-basis-silently-accepts-missing-aliases</link>
<description>&lt;p&gt;In &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/clojars/clojars-web/commit/baade8967c7be8abd9a9b27499c511efd41f6164&quot;&gt;this scenario&lt;/a&gt;, the alias for &lt;code&gt;create-basis&lt;/code&gt; was incorrect, preventing security deps overrides from being applied. For 2 years clojars was deployed with these vulnerable deps.&lt;/p&gt;
&lt;p&gt;In this case, I proposed &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/clojars/clojars-web/pull/906&quot;&gt;to inline the alias&lt;/a&gt; into &lt;code&gt;:deps&lt;/code&gt;. However there may be other scenarios where a tools.deps change might be helpful to catch these mistakes earlier, for example a warning or error.&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14584/create-basis-silently-accepts-missing-aliases</guid>
<pubDate>Tue, 10 Jun 2025 00:57:37 +0000</pubDate>
</item>
<item>
<title>Edited: unable to use add-lib on io.github.borkdude/grasp</title>
<link>https://ask.clojure.org/index.php/14342/unable-to-use-add-lib-on-io-github-borkdude-grasp?show=14342#q14342</link>
<description>&lt;p&gt;repro:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;user=&amp;gt; (add-lib 'io.github.borkdude/grasp {:mvn/version &quot;0.1.4&quot;})
Execution error (ExceptionInfo) at clojure.tools.deps.interop/invoke-tool (interop.clj:81).
Could not find artifact org.clojure:clojure:jar:1.11.0-rc1
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This seems strange to me. The deps edn of grasp: &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/borkdude/grasp/blob/master/deps.edn&quot;&gt;https://github.com/borkdude/grasp/blob/master/deps.edn&lt;/a&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{:deps {org.babashka/sci {:mvn/version &quot;0.3.2&quot;}}
 :aliases {:native {:jvm-opts [&quot;-Dclojure.compiler.direct-linking=true&quot;]
                    :extra-deps {org.clojure/clojure {:mvn/version &quot;1.10.2-alpha3&quot;}
                                 org.clojure/tools.cli {:mvn/version &quot;1.0.194&quot;}}}
           :test {:extra-paths [&quot;test&quot;]
                  :extra-deps {org.clojure/clojure {:mvn/version &quot;1.11.0-rc1&quot;}
                               cognitect-labs/test-runner
                               {:git/url &quot;https://github.com/cognitect-labs/test-runner&quot;
                                :sha &quot;cb96e80f6f3d3b307c59cbeb49bb0dcb3a2a780b&quot;}}
                  :main-opts [&quot;-m&quot; &quot;cognitect.test-runner&quot;]}}}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;It's surprising to me that deps in the &lt;code&gt;:test&lt;/code&gt; alias would cause issues.&lt;/p&gt;
&lt;p&gt;EDIT: seems to work now. Here's the stacktrace from a socket repl where i first encountered it&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;user=&amp;gt; (add-lib 'io.github.borkdude/grasp {:mvn/version &quot;0.1.4&quot;})
Execution error (ExceptionInfo) at clojure.tools.deps.interop/invoke-tool (interop.clj:81).
Could not find artifact org.clojure:clojure:jar:1.11.0-rc1
user=&amp;gt; nil
user=&amp;gt; (pst)
ExceptionInfo Could not find artifact org.clojure:clojure:jar:1.11.0-rc1 {:via [{:type clojure.lang.ExceptionInfo, :message &quot;Could not find artifact org.clojure:clojure:jar:1.11.0-rc1&quot;, :data {:lib org.clojure/clojure, :coord {:mvn/version &quot;1.11.0-rc1&quot;, :deps/manifest :mvn, :dependents [io.github.borkdude/grasp], :parents #{[io.github.borkdude/grasp]}}}, :at [clojure.tools.deps.extensions.maven$get_artifact invokeStatic &quot;maven.clj&quot; 167]}], :trace [[clojure.tools.deps.extensions.maven$get_artifact invokeStatic &quot;maven.clj&quot; 167] [clojure.tools.deps.extensions.maven$get_artifact invoke &quot;maven.clj&quot; 155] [clojure.tools.deps.extensions.maven$eval1225$fn__1228 invoke &quot;maven.clj&quot; 178] [clojure.lang.MultiFn invoke &quot;MultiFn.java&quot; 244] [clojure.tools.deps$download_libs$fn__802$fn__803 invoke &quot;deps.clj&quot; 466] [clojure.lang.AFn applyToHelper &quot;AFn.java&quot; 152] [clojure.lang.AFn applyTo &quot;AFn.java&quot; 144] [clojure.core$apply invokeStatic &quot;core.clj&quot; 667] [clojure.core$with_bindings_STAR_ invokeStatic &quot;core.clj&quot; 1990] [clojure.core$with_bindings_STAR_ doInvoke &quot;core.clj&quot; 1990] [clojure.lang.RestFn invoke &quot;RestFn.java&quot; 428] [clojure.lang.AFn applyToHelper &quot;AFn.java&quot; 156] [clojure.lang.RestFn applyTo &quot;RestFn.java&quot; 135] [clojure.core$apply invokeStatic &quot;core.clj&quot; 671] [clojure.core$bound_fn_STAR_$fn__5837 doInvoke &quot;core.clj&quot; 2020] [clojure.lang.RestFn invoke &quot;RestFn.java&quot; 400] [clojure.lang.AFn call &quot;AFn.java&quot; 18] [java.util.concurrent.FutureTask run &quot;FutureTask.java&quot; 317] [java.util.concurrent.ThreadPoolExecutor runWorker &quot;ThreadPoolExecutor.java&quot; 1144] [java.util.concurrent.ThreadPoolExecutor$Worker run &quot;ThreadPoolExecutor.java&quot; 642] [java.lang.Thread run &quot;Thread.java&quot; 1583]], :cause &quot;Could not find artifact org.clojure:clojure:jar:1.11.0-rc1&quot;, :data {:lib org.clojure/clojure, :coord {:mvn/version &quot;1.11.0-rc1&quot;, :deps/manifest :mvn, :dependents [io.github.borkdude/grasp], :parents #{[io.github.borkdude/grasp]}}}}
	clojure.tools.deps.interop/invoke-tool (interop.clj:81)
	clojure.tools.deps.interop/invoke-tool (interop.clj:41)
	clojure.repl.deps/add-libs (deps.clj:48)
	clojure.repl.deps/add-lib (deps.clj:59)
	clojure.repl.deps/add-lib (deps.clj:59)
	user/eval310956 (NO_SOURCE_FILE:320)
	user/eval310956 (NO_SOURCE_FILE:320)
	clojure.lang.Compiler.eval (Compiler.java:7700)
	clojure.lang.Compiler.eval (Compiler.java:7655)
	clojure.core/eval (core.clj:3232)
	clojure.core/eval (core.clj:3228)
	user/eval257807/fn--257810 (NO_SOURCE_FILE:8)
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14342/unable-to-use-add-lib-on-io-github-borkdude-grasp?show=14342#q14342</guid>
<pubDate>Fri, 17 Jan 2025 14:53:03 +0000</pubDate>
</item>
<item>
<title>Answered: How can I ensure that a private Maven coordinate cannot be shadowed in a public repository?</title>
<link>https://ask.clojure.org/index.php/14198/ensure-private-coordinate-cannot-shadowed-public-repository?show=14219#a14219</link>
<description>&lt;p&gt;The main current answer is that the public repos are trying to prevent this.&lt;/p&gt;
&lt;p&gt;There are two public repos included in the root deps.edn - Maven Central and Clojars. All other repos must be explicitly included in the top-level deps.edn in use (transitive deps.edn repos are ignored - this differs from pom.xml).&lt;/p&gt;
&lt;p&gt;Maven Central has policies to encourage using reverse domain names and/or trademarked names that you control, with requirements for verification. Clojars is now doing similar things, but their naming policies are somewhat laxer and I don't know the current state of everything they are doing.&lt;/p&gt;
&lt;p&gt;The signing key stuff is problematic for lots of reasons (clojars doesn't require, keys must be registered - how do you know if the key you find is one you should trust, etc). This requires a lot of manual intervention. I have been following &lt;a rel=&quot;nofollow&quot; href=&quot;https://slsa.dev/&quot;&gt;SLSA&lt;/a&gt; which I think is taking a smarter approach to provenance and verification. Would love to spend some time really working on how to integrate something like this into both our Clojure build systems and our dependency management tools to work together. Especially for open source libraries distributed as source, we should be able to hash+compare the actual source and relate it to a commit - Clojure's options are WAY BETTER than compile-to-class langs that make new artifacts different than the original source.&lt;/p&gt;
&lt;p&gt;Hoping to spend some time on this kind of stuff next year.&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14198/ensure-private-coordinate-cannot-shadowed-public-repository?show=14219#a14219</guid>
<pubDate>Fri, 01 Nov 2024 18:03:32 +0000</pubDate>
</item>
<item>
<title>Commented: Allow specifying aliases in coordinates that point to deps.edn projects</title>
<link>https://ask.clojure.org/index.php/7843/allow-specifying-aliases-coordinates-that-point-projects?show=14161#c14161</link>
<description>Agreed. Polylith is hamstrung on github to deliver granular libraries without this feature available.</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/7843/allow-specifying-aliases-coordinates-that-point-projects?show=14161#c14161</guid>
<pubDate>Thu, 03 Oct 2024 21:23:07 +0000</pubDate>
</item>
<item>
<title>Answered: clj -X:deps find-versions prefers git deps if both git and mvn exist</title>
<link>https://ask.clojure.org/index.php/14106/clj-deps-find-versions-prefers-git-deps-both-git-and-mvn-exist?show=14114#a14114</link>
<description>&lt;p&gt;Logged as &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.atlassian.net/browse/TDEPS-268&quot;&gt;https://clojure.atlassian.net/browse/TDEPS-268&lt;/a&gt;&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14106/clj-deps-find-versions-prefers-git-deps-both-git-and-mvn-exist?show=14114#a14114</guid>
<pubDate>Tue, 17 Sep 2024 02:44:25 +0000</pubDate>
</item>
<item>
<title>Commented: Specify an alias that is a set of other aliases?</title>
<link>https://ask.clojure.org/index.php/10564/specify-an-alias-that-is-a-set-of-other-aliases?show=14048#c14048</link>
<description>Mark, you mean have :main-opts that contains a &amp;quot;-e&amp;quot; and an expression that programmatical calls each of the three -main functions? Like &amp;quot;(do (eastwood/-main) (kibit/-main) (antq/-main))&amp;quot;&lt;br /&gt;
(whatever the main namespaces are).&lt;br /&gt;
&lt;br /&gt;
Given that a lot of tools call (shutdown-agents) at the end, you likely won't be able to run -main functions after that...</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/10564/specify-an-alias-that-is-a-set-of-other-aliases?show=14048#c14048</guid>
<pubDate>Fri, 09 Aug 2024 03:12:29 +0000</pubDate>
</item>
<item>
<title>Commented: Wondered if tools.deps might be missing a plexus-utils  dependency given the Xpp3Dom import.</title>
<link>https://ask.clojure.org/index.php/12578/wondered-tools-might-missing-plexus-dependency-xpp3dom-import?show=13885#c13885</link>
<description>I see.&lt;br /&gt;
Thanks for the update, Alex.&lt;br /&gt;
&lt;br /&gt;
In case you have any ideas/pointers/thoughts/notes on how to approach this that may help others with much less knowledge of the cli codebase tackle the problem, please feel free to add them to the bug entry.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://clojure.atlassian.net/browse/TDEPS-8&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://clojure.atlassian.net/browse/TDEPS-8&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Thanks again,&lt;br /&gt;
Leandro</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/12578/wondered-tools-might-missing-plexus-dependency-xpp3dom-import?show=13885#c13885</guid>
<pubDate>Thu, 16 May 2024 10:19:29 +0000</pubDate>
</item>
<item>
<title>Commented: Install clojure CLI via SDKMAN!</title>
<link>https://ask.clojure.org/index.php/7863/install-clojure-cli-via-sdkman?show=13865#c13865</link>
<description>A bit old, and a pandemic after, but any chance to get this in ?</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/7863/install-clojure-cli-via-sdkman?show=13865#c13865</guid>
<pubDate>Wed, 01 May 2024 02:38:53 +0000</pubDate>
</item>
<item>
<title>Commented: Transitive dependency resolution skipping some libs</title>
<link>https://ask.clojure.org/index.php/13758/transitive-dependency-resolution-skipping-some-libs?show=13771#c13771</link>
<description>Thank you for the reference, Alex. It helped me to pinpoint what was causing my issues.&lt;br /&gt;
(the redaction was to simplify because most of the libs were internal to my company, so exposing their names or not would be the same, as they are not publicly available)&lt;br /&gt;
&lt;br /&gt;
My issue was caused by an `:exclusion` on the third dependency level:&lt;br /&gt;
my-bundle -&amp;gt; my-component -&amp;gt; my-lib&lt;br /&gt;
and &amp;quot;my-lib&amp;quot; contain this below in the &amp;quot;deps.edn&amp;quot;:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;amazonica/amazonica &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{:mvn/version &amp;quot;0.3.165&amp;quot; :exclusions [com.taoensso/nippy]}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;com.taoensso/faraday &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{:mvn/version &amp;quot;1.12.0&amp;quot; &amp;nbsp;:exclusions [com.taoensso/nippy]}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;com.taoensso/nippy &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;^:antq/exclude {:mvn/version &amp;quot;3.1.1&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
Removing the `:exclusions`, as a version of nippy was being set at the same level, made the weird behavior with other libs disappear (although now Cursive in IntelliJ shows two nippy versions, 3.1.1 and 3.2.0, but deps' tree does not).&lt;br /&gt;
&lt;br /&gt;
The inconsistent behavior was happening with the libs `tick/tick [0.7.5]` and `com.stuartsierra/dependency [1.0.0]` (from `com.stuartsierra/components [1.1.0]`) not being included in the classpath</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/13758/transitive-dependency-resolution-skipping-some-libs?show=13771#c13771</guid>
<pubDate>Wed, 28 Feb 2024 14:22:35 +0000</pubDate>
</item>
<item>
<title>Commented: How can teams share common dependencies/tooling across multiple projects with deps.edn?</title>
<link>https://ask.clojure.org/index.php/9849/teams-common-dependencies-tooling-across-multiple-projects?show=13732#c13732</link>
<description>There weren't much updates for the last few years. Anything we can do to help move this forward?</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/9849/teams-common-dependencies-tooling-across-multiple-projects?show=13732#c13732</guid>
<pubDate>Thu, 15 Feb 2024 00:50:23 +0000</pubDate>
</item>
<item>
<title>Commented: Improve error message for tools.deps when m2 permissions do not allow write</title>
<link>https://ask.clojure.org/index.php/13649/improve-error-message-tools-deps-when-permissions-allow-write?show=13668#c13668</link>
<description>We also had this problem in the past. What we've been doing for years now is to have a &amp;quot;run-as-user.sh&amp;quot; script with the following content:&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
#!/usr/bin/env bash&lt;br /&gt;
&lt;br /&gt;
set -eu&lt;br /&gt;
&lt;br /&gt;
NEW_UID=$(stat -c '%u' /app)&lt;br /&gt;
NEW_GID=$(stat -c '%g' /app)&lt;br /&gt;
&lt;br /&gt;
groupmod -g &amp;quot;$NEW_GID&amp;quot; -o hop &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
usermod -u &amp;quot;$NEW_UID&amp;quot; -o hop &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
exec chpst -u hop:hop -U hop:hop env HOME=&amp;quot;/home/hop&amp;quot; &amp;quot;$@&amp;quot;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
that we use as the entry point for the container. Then in the Docker file for the container we also add the following lines (in additon to whatever is needed for that container), and the command required to install the `runit` package (which is the one that provides the `chpst` command) in the distribution used by your Docker image:&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
RUN useradd --home-dir /home/hop --create-home --shell /bin/bash --user-group hop&lt;br /&gt;
COPY run-as-user.sh /usr/local/bin&lt;br /&gt;
WORKDIR /app&lt;br /&gt;
ENTRYPOINT [&amp;quot;run-as-user.sh&amp;quot;]&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
And when running the container, we mount whatever directories are needed (~/.m2, the Clojure app directory, etc) using volumes inside the container. We mount the Clojure application directory under `/app` inside the container (which is where the `run-as-user.sh` script will look). Then the `run-as-user.sh` script takes care of changing the UID and GID of the account used inside the container, to match those of the user owning the `/app` directory (which is the outside user).&lt;br /&gt;
&lt;br /&gt;
Hope that helps.</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/13649/improve-error-message-tools-deps-when-permissions-allow-write?show=13668#c13668</guid>
<pubDate>Wed, 07 Feb 2024 10:26:24 +0000</pubDate>
</item>
<item>
<title>Answered: how to convert deps,edn file to pom.xml file i am using leiningen</title>
<link>https://ask.clojure.org/index.php/13369/how-to-convert-deps-edn-file-to-pom-xml-file-am-using-leiningen?show=13370#a13370</link>
<description>&lt;p&gt;If you have the official Clojure CLI installed, you can run:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;clojure -X:deps mvn-pom
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;to produce a &lt;code&gt;pom.xml&lt;/code&gt; file.&lt;/p&gt;
&lt;p&gt;If you're using Leiningen, don't you already have a &lt;code&gt;project.clj&lt;/code&gt; file, and Leiningen will produce a &lt;code&gt;pom.xml&lt;/code&gt; file from that.&lt;/p&gt;
&lt;p&gt;Otherwise, perhaps you can provide more background on what your situation is - how your project is set up and what, exactly, you are trying to do?&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/13369/how-to-convert-deps-edn-file-to-pom-xml-file-am-using-leiningen?show=13370#a13370</guid>
<pubDate>Mon, 09 Oct 2023 23:45:58 +0000</pubDate>
</item>
<item>
<title>Commented: Support of Maven Password Encryption in tools.deps</title>
<link>https://ask.clojure.org/index.php/13320/support-of-maven-password-encryption-in-tools-deps?show=13323#c13323</link>
<description>I've sent you an invite to join jira so you can contribute on the jira. Even more so than the patch, would welcome a discussion on approach first. Not sure if there are Maven APIs you can use for this or if it would require xml parsing etc.&lt;br /&gt;
&lt;br /&gt;
And there are definitely many possible ways to convey the master Maven password for decryption so would like to see a discussion of tradeoffs for that.</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/13320/support-of-maven-password-encryption-in-tools-deps?show=13323#c13323</guid>
<pubDate>Mon, 25 Sep 2023 14:23:03 +0000</pubDate>
</item>
<item>
<title>Abstract env var reading in tools.deps</title>
<link>https://ask.clojure.org/index.php/13300/abstract-env-var-reading-in-tools-deps</link>
<description>&lt;p&gt;I have a Cursive user wanting to use the &lt;code&gt;CLOJURE_CLI_ALLOW_HTTP_REPO &lt;/code&gt; env var. Since Cursive invokes tools.deps in-process, there's no way for me to set an env var in the current process. deps.clj has a &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/borkdude/deps.clj/blob/441a53821f6106ea86f33c0e9431110cb713c2e7/deps.clj#L239-L242&quot;&gt;nice abstraction&lt;/a&gt; for this - would it be possible to use this or something similar for tools.deps too? I assume this problem will affect any process using tools.deps as a library.&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/13300/abstract-env-var-reading-in-tools-deps</guid>
<pubDate>Sat, 16 Sep 2023 02:35:57 +0000</pubDate>
</item>
<item>
<title>Commented: Can deps.edn tools opt-out of arguments parsing?</title>
<link>https://ask.clojure.org/index.php/13092/can-deps-edn-tools-opt-out-of-arguments-parsing?show=13094#c13094</link>
<description>Unfortunate for me, but probably a good thing to present a consistent API of sorts for users.</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/13092/can-deps-edn-tools-opt-out-of-arguments-parsing?show=13094#c13094</guid>
<pubDate>Tue, 18 Jul 2023 18:02:46 +0000</pubDate>
</item>
<item>
<title>Commented: should we not archive the clojure/tools.deps.alpha repository?</title>
<link>https://ask.clojure.org/index.php/13088/should-not-archive-the-clojure-tools-deps-alpha-repository?show=13090#c13090</link>
<description>&amp;gt; There may still be existing tools using it still.&lt;br /&gt;
&lt;br /&gt;
even archived it is possible to clone via git (install)&lt;br /&gt;
&lt;br /&gt;
&amp;gt; Is there any benefit to archiving other than as a usage signal?&lt;br /&gt;
&lt;br /&gt;
make it explicit that the repository is no longer maintained</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/13088/should-not-archive-the-clojure-tools-deps-alpha-repository?show=13090#c13090</guid>
<pubDate>Sun, 16 Jul 2023 23:47:36 +0000</pubDate>
</item>
<item>
<title>Closed: Pop thread bindings correctly</title>
<link>https://ask.clojure.org/index.php/12880/pop-thread-bindings-correctly?show=12880#q12880</link>
<description>&lt;p&gt;expand-deps dynamically binds&lt;br&gt;
clojure.tools.deps.alpha.util.dir/&lt;em&gt;the-dir&lt;/em&gt; before submitting worker&lt;br&gt;
threads. While hard to reproduce, this empirically breaks the&lt;br&gt;
canonicalization of file paths from :local/root dependencies.&lt;/p&gt;
&lt;p&gt;Per the Clojure docs for push-thread-bindings:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;WARNING: This is a low-level function. Prefer high-level macros like&lt;br&gt;
binding where ever possible. [...] Each call &lt;em&gt;MUST&lt;/em&gt; be&lt;br&gt;
accompanied by a matching call to pop-thread-bindings wrapped in a&lt;br&gt;
try-finally!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;bound-fn* ensures that dynamically are properly pushed and popped. Using&lt;br&gt;
it from submit-task removes the :local/root canonicalization issues.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; .../clojure/clojure/tools/deps/alpha/util/concurrent.clj    | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/src/main/clojure/clojure/tools/deps/alpha/util/concurrent.clj b/src/main/clojure/clojure/tools/deps/alpha/util/concurrent.clj
index b1508c10..814e0190 100644
--- a/src/main/clojure/clojure/tools/deps/alpha/util/concurrent.clj
+++ b/src/main/clojure/clojure/tools/deps/alpha/util/concurrent.clj
@@ -29,11 +29,7 @@
 
 (defn submit-task
   ^Future [^ExecutorService executor f]
-  (let [bindings (get-thread-bindings)
-        task #(do
-                (push-thread-bindings bindings)
-                (f))]
-    (.submit executor ^Callable task)))
+  (.submit executor ^Callable (bound-fn* f)))
 
 (defn shutdown-on-error
   [^ExecutorService executor]
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/12880/pop-thread-bindings-correctly?show=12880#q12880</guid>
<pubDate>Wed, 31 May 2023 21:06:22 +0000</pubDate>
</item>
<item>
<title>Answer selected: Using deps/root with local/root</title>
<link>https://ask.clojure.org/index.php/12913/using-deps-root-with-local-root?show=12914#a12914</link>
<description>&lt;p&gt;Yes, should implement this.&lt;/p&gt;
&lt;p&gt;Logged as &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.atlassian.net/browse/TDEPS-246&quot;&gt;https://clojure.atlassian.net/browse/TDEPS-246&lt;/a&gt;&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/12913/using-deps-root-with-local-root?show=12914#a12914</guid>
<pubDate>Thu, 04 May 2023 16:40:39 +0000</pubDate>
</item>
<item>
<title>Closed: NullPointerException with tools.deps and find-versions</title>
<link>https://ask.clojure.org/index.php/12823/nullpointerexception-with-tools-deps-and-find-versions?show=12823#q12823</link>
<description>&lt;p&gt;When I want to find available versions for e.g. ragtime, I'd run this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;clj -X:deps find-versions :lib ragtime/ragtime
;; the output
{:mvn/version &quot;0.6.2&quot;}
{:mvn/version &quot;0.6.3&quot;}
{:mvn/version &quot;0.6.4&quot;}
{:mvn/version &quot;0.7.0&quot;}
{:mvn/version &quot;0.7.1&quot;}
{:mvn/version &quot;0.7.2&quot;}
{:mvn/version &quot;0.8.0&quot;}
{:mvn/version &quot;0.8.1&quot;}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;However, when groupid is omitted, tools.deps will throw a NullPointerException. Example command:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;clj -X:deps find-versions :lib ragtime
Execution error (NullPointerException) at java.util.regex.Matcher/getTextLength (Matcher.java:1283).
null
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And the stacktrace:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{:clojure.main/message
 &quot;Execution error (NullPointerException) at java.util.regex.Matcher/getTextLength (Matcher.java:1283).\nnull\n&quot;,
 :clojure.main/triage
 {:clojure.error/class java.lang.NullPointerException,
  :clojure.error/line 1283,
  :clojure.error/symbol java.util.regex.Matcher/getTextLength,
  :clojure.error/source &quot;Matcher.java&quot;,
  :clojure.error/phase :execution},
 :clojure.main/trace
 {:via
  [{:type java.lang.NullPointerException,
    :at [java.util.regex.Matcher getTextLength &quot;Matcher.java&quot; 1283]}],
  :trace
  [[java.util.regex.Matcher getTextLength &quot;Matcher.java&quot; 1283]
   [java.util.regex.Matcher reset &quot;Matcher.java&quot; 309]
   [java.util.regex.Matcher &amp;lt;init&amp;gt; &quot;Matcher.java&quot; 229]
   [java.util.regex.Pattern matcher &quot;Pattern.java&quot; 1093]
   [clojure.core$re_matcher invokeStatic &quot;core.clj&quot; 4881]
   [clojure.core$re_matches invokeStatic &quot;core.clj&quot; 4911]
   [clojure.core$re_matches invoke &quot;core.clj&quot; 4911]
   [clojure.tools.deps.extensions.git$auto_git_url$fn__1454
    invoke
    &quot;git.clj&quot;
    31]
   [clojure.core$some invokeStatic &quot;core.clj&quot; 2718]
   [clojure.core$some invoke &quot;core.clj&quot; 2709]
   [clojure.tools.deps.extensions.git$auto_git_url
    invokeStatic
    &quot;git.clj&quot;
    30]
   [clojure.tools.deps.extensions.git$auto_git_url invoke &quot;git.clj&quot; 23]
   [clojure.tools.deps.extensions.git$eval1534$fn__1535
    invoke
    &quot;git.clj&quot;
    152]
   [clojure.lang.MultiFn invoke &quot;MultiFn.java&quot; 244]
   [clojure.tools.deps.extensions$find_all_versions$fn__446
    invoke
    &quot;extensions.clj&quot;
    149]
   [clojure.core$some invokeStatic &quot;core.clj&quot; 2718]
   [clojure.core$some invoke &quot;core.clj&quot; 2709]
   [clojure.tools.deps.extensions$find_all_versions
    invokeStatic
    &quot;extensions.clj&quot;
    149]
   [clojure.tools.deps.extensions$find_all_versions
    invoke
    &quot;extensions.clj&quot;
    145]
   [clojure.tools.deps.cli.api$find_versions
    invokeStatic
    &quot;api.clj&quot;
    399]
   [clojure.tools.deps.cli.api$find_versions invoke &quot;api.clj&quot; 379]
   [clojure.lang.Var invoke &quot;Var.java&quot; 384]
   [clojure.run.exec$exec invokeStatic &quot;exec.clj&quot; 89]
   [clojure.run.exec$exec invoke &quot;exec.clj&quot; 78]
   [clojure.run.exec$_main$fn__219 invoke &quot;exec.clj&quot; 216]
   [clojure.run.exec$_main invokeStatic &quot;exec.clj&quot; 212]
   [clojure.run.exec$_main doInvoke &quot;exec.clj&quot; 180]
   [clojure.lang.RestFn applyTo &quot;RestFn.java&quot; 137]
   [clojure.lang.Var applyTo &quot;Var.java&quot; 705]
   [clojure.core$apply invokeStatic &quot;core.clj&quot; 667]
   [clojure.main$main_opt invokeStatic &quot;main.clj&quot; 514]
   [clojure.main$main_opt invoke &quot;main.clj&quot; 510]
   [clojure.main$main invokeStatic &quot;main.clj&quot; 664]
   [clojure.main$main doInvoke &quot;main.clj&quot; 616]
   [clojure.lang.RestFn applyTo &quot;RestFn.java&quot; 137]
   [clojure.lang.Var applyTo &quot;Var.java&quot; 705]
   [clojure.main main &quot;main.java&quot; 40]]}}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Cli version: &quot;1.11.1.1262&quot;.&lt;/p&gt;
&lt;p&gt;Best,&lt;br&gt;
Sanel&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/12823/nullpointerexception-with-tools-deps-and-find-versions?show=12823#q12823</guid>
<pubDate>Fri, 31 Mar 2023 15:07:27 +0000</pubDate>
</item>
<item>
<title>Recategorized: Tools deps perform sanity checking on deps.edn file</title>
<link>https://ask.clojure.org/index.php/12803/tools-deps-perform-sanity-checking-on-deps-edn-file?show=12803#q12803</link>
<description>&lt;p&gt;Peform validation of deps.edn files, providing useful error messages and information about misspelled keywords, invalid types, valid data in the wrong location.&lt;/p&gt;
&lt;p&gt;Some motivating examples:&lt;/p&gt;
&lt;p&gt;misspelled keywords: &lt;br&gt;
&lt;code&gt;:overide-deps&lt;/code&gt;&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://groups.google.com/g/clojure/c/g-Gy3Q7jHfk&quot;&gt;https://groups.google.com/g/clojure/c/g-Gy3Q7jHfk&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;including valid options in incorrect locations&lt;/p&gt;
&lt;p&gt;&lt;code&gt;:jvm-opts&lt;/code&gt; in the top level&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://app.slack.com/client/T03RZGPFR/C6QH853H8&quot;&gt;https://app.slack.com/client/T03RZGPFR/C6QH853H8&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;invalid data types in valid edn files:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;{:deps 
  :org.clojure/tools.reader {:mvn/version &quot;1.2.3&quot;}
  org.clojure/tools.reader {mvn/version &quot;1.2.3&quot;}}&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;first dep has a keyword where a symbol should be present&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;second dep has a symbol where a keyword should be present&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For implementation&lt;br&gt;
spell-spec is a great tool to do this&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/bhauman/spell-spec&quot;&gt;https://github.com/bhauman/spell-spec&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;related JIRA ticket&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.atlassian.net/browse/TDEPS-238&quot;&gt;https://clojure.atlassian.net/browse/TDEPS-238&lt;/a&gt;&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/12803/tools-deps-perform-sanity-checking-on-deps-edn-file?show=12803#q12803</guid>
<pubDate>Thu, 23 Mar 2023 20:10:41 +0000</pubDate>
</item>
<item>
<title>Commented: Can clojure.tools.deps.script.make-classpath2/run-core be considered a public API?</title>
<link>https://ask.clojure.org/index.php/12679/clojure-tools-deps-script-make-classpath2-considered-public?show=12687#c12687</link>
<description>I don't know if this is the best bandwidth way to have this conversation, if it would help to have a convo, you know where to find me, and I'm happy to make out of that a public writeup. This is not secret knowledge but it is context dependent and I'm not totally sure what the set of things is you need to do.&lt;br /&gt;
&lt;br /&gt;
Also, I have some changes in work right now that affect the answers a bit, particularly around the exec argmap attributes.</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/12679/clojure-tools-deps-script-make-classpath2-considered-public?show=12687#c12687</guid>
<pubDate>Wed, 22 Feb 2023 20:32:37 +0000</pubDate>
</item>
<item>
<title>Answer selected: Resolve git deps via artifactory</title>
<link>https://ask.clojure.org/index.php/11063/resolve-git-deps-via-artifactory?show=11331#a11331</link>
<description>&lt;p&gt;Logged as &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.atlassian.net/browse/TDEPS-214&quot;&gt;https://clojure.atlassian.net/browse/TDEPS-214&lt;/a&gt;&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/11063/resolve-git-deps-via-artifactory?show=11331#a11331</guid>
<pubDate>Mon, 26 Dec 2022 12:30:54 +0000</pubDate>
</item>
<item>
<title>Closed: Should :deps/prep-lib honor :exec-args in the build alias?</title>
<link>https://ask.clojure.org/index.php/12298/should-deps-prep-lib-honor-exec-args-in-the-build-alias?show=12298#q12298</link>
<description>&lt;p&gt;It appears that an &lt;code&gt;:exec-args&lt;/code&gt; attribute in a  &lt;code&gt;:deps/prep-lib&lt;/code&gt;'s &lt;code&gt;:alias&lt;/code&gt; is not honored, i.e. it's not possible to declare default args for the prep &lt;code&gt;:fn&lt;/code&gt;. &lt;/p&gt;
&lt;p&gt;Given the following statement in the &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.org/reference/deps_and_cli&quot;&gt;Deps and CLI Reference&lt;/a&gt; on &lt;code&gt;:deps/prep-lib&lt;/code&gt;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Those libs will run the command specified there by alias and function, as if: &lt;code&gt;clj -T:&amp;lt;alias&amp;gt; &amp;lt;fn&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And this one on &lt;code&gt;-T&lt;/code&gt;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt; The function is invoked with a map in the same way as &lt;code&gt;-X&lt;/code&gt; execution, built from &lt;code&gt;:exec-args&lt;/code&gt; if found in aliases and key/vals provided on the command line.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It seems like this &lt;em&gt;should&lt;/em&gt; be possible. Is this a bug in the implementation, in the documentation or in my understanding? :-)&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/12298/should-deps-prep-lib-honor-exec-args-in-the-build-alias?show=12298#q12298</guid>
<pubDate>Mon, 24 Oct 2022 01:29:48 +0000</pubDate>
</item>
<item>
<title>Closed: t.d.a does not support mvn versions starting with letters.</title>
<link>https://ask.clojure.org/index.php/11588/t-d-a-does-not-support-mvn-versions-starting-with-letters?show=11588#q11588</link>
<description>&lt;p&gt;When I try to download all version of &lt;code&gt;com.google.javascript/closure-compiler-unshaded&lt;/code&gt; t.d.a returns &lt;code&gt;nil&lt;/code&gt;, digging in the problem I saw that this &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/clojure/tools.deps.alpha/blob/master/src/main/clojure/clojure/tools/deps/alpha/extensions/maven.clj#L190&quot;&gt;line&lt;/a&gt; is being responsible to the problem since it’s only matching versions starting with number and all the &lt;a rel=&quot;nofollow&quot; href=&quot;https://mvnrepository.com/artifact/com.google.javascript/closure-compiler-unshaded&quot;&gt;versions&lt;/a&gt; of &lt;code&gt;com.google.javascript/closure-compiler-unshaded&lt;/code&gt; starts with a letter &lt;code&gt;v&lt;/code&gt;.&lt;br&gt;
Is it supposed to work like that or is it a bug?&lt;/p&gt;
&lt;p&gt;The executed command was the following.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;clj -X:deps find-versions :lib com.google.javascript/closure-compiler-unshaded
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/11588/t-d-a-does-not-support-mvn-versions-starting-with-letters?show=11588#q11588</guid>
<pubDate>Mon, 24 Oct 2022 01:25:37 +0000</pubDate>
</item>
<item>
<title>Closed: -X:deps might fail when user.clj requires something</title>
<link>https://ask.clojure.org/index.php/11522/x-deps-might-fail-when-user-clj-requires-something?show=11522#q11522</link>
<description>&lt;p&gt;Originally asked at &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojurians.slack.com/archives/C6QH853H8/p1643624068729959&quot;&gt;https://clojurians.slack.com/archives/C6QH853H8/p1643624068729959&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It appears &lt;code&gt;-X:deps&lt;/code&gt; gets tricked by a &lt;code&gt;user.clj&lt;/code&gt; on the path that requires a namespace that is on the project classpath but not on the classpath that &lt;code&gt;-X:deps&lt;/code&gt; itself uses.&lt;/p&gt;
&lt;p&gt;Is this expected? Is there any better way to handle this than adding something like &lt;code&gt;-Sdeps '{:aliases {:no-paths {:replace-paths []}}}' -A:no-paths&lt;/code&gt;?&lt;/p&gt;
&lt;p&gt;Repro:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;; # enviroment
;
; clojure -Srepro -version
Clojure CLI version 1.10.3.1069
;
; # deps &amp;amp; source
;
; echo '{:paths [&quot;src&quot;] :deps{org.clojure/java.classpath {:mvn/version &quot;1.0.0&quot;}}}' &amp;gt; deps.edn
; mkdir src &amp;amp;&amp;amp; echo '(ns user (:require clojure.java.classpath))' &amp;gt; src/user.clj
;
; # launch repl
;
; clj -Srepro
Clojure 1.10.3
user=&amp;gt; (find-ns 'clojure.java.classpath)
#object[clojure.lang.Namespace 0x21325036 &quot;clojure.java.classpath&quot;]
user=&amp;gt;

; # check deps
;
; clojure -Sforce -Srepro -X:deps list :license :none
Exception in thread &quot;main&quot; Syntax error compiling at (user.clj:1:1).
	at clojure.lang.Compiler.load(Compiler.java:7652)
	at clojure.lang.RT.loadResourceScript(RT.java:381)
	at clojure.lang.RT.loadResourceScript(RT.java:368)
	at clojure.lang.RT.maybeLoadResourceScript(RT.java:364)
	at clojure.lang.RT.doInit(RT.java:486)
	at clojure.lang.RT.init(RT.java:467)
	at clojure.main.main(main.java:38)
Caused by: java.io.FileNotFoundException: Could not locate clojure/java/classpath__init.class, clojure/java/classpath.clj or clojure/java/classpath.cljc on classpath.
	at clojure.lang.RT.load(RT.java:462)
	at clojure.lang.RT.load(RT.java:424)
	at clojure.core$load$fn__6856.invoke(core.clj:6115)
	at clojure.core$load.invokeStatic(core.clj:6114)
	at clojure.core$load.doInvoke(core.clj:6098)
	at clojure.lang.RestFn.invoke(RestFn.java:408)
	at clojure.core$load_one.invokeStatic(core.clj:5897)
	at clojure.core$load_one.invoke(core.clj:5892)
	at clojure.core$load_lib$fn__6796.invoke(core.clj:5937)
	at clojure.core$load_lib.invokeStatic(core.clj:5936)
	at clojure.core$load_lib.doInvoke(core.clj:5917)
	at clojure.lang.RestFn.applyTo(RestFn.java:142)
	at clojure.core$apply.invokeStatic(core.clj:669)
	at clojure.core$load_libs.invokeStatic(core.clj:5974)
	at clojure.core$load_libs.doInvoke(core.clj:5958)
	at clojure.lang.RestFn.applyTo(RestFn.java:137)
	at clojure.core$apply.invokeStatic(core.clj:669)
	at clojure.core$require.invokeStatic(core.clj:5996)
	at clojure.core$require.doInvoke(core.clj:5996)
	at clojure.lang.RestFn.invoke(RestFn.java:408)
	at user$eval138$loading__6737__auto____139.invoke(user.clj:1)
	at user$eval138.invokeStatic(user.clj:1)
	at user$eval138.invoke(user.clj:1)
	at clojure.lang.Compiler.eval(Compiler.java:7181)
	at clojure.lang.Compiler.eval(Compiler.java:7170)
	at clojure.lang.Compiler.load(Compiler.java:7640)
	... 6 more
;
; # check deps with workaround
;
; clojure -Sdeps '{:aliases {:no-paths {:replace-paths []}}}' -A:no-paths -Sforce -Srepro -X:deps list :license :none
org.clojure/clojure 1.10.3
org.clojure/core.specs.alpha 0.2.56
org.clojure/java.classpath 1.0.0
org.clojure/spec.alpha 0.2.194
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Edit: JIRA fixed&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/11522/x-deps-might-fail-when-user-clj-requires-something?show=11522#q11522</guid>
<pubDate>Thu, 08 Sep 2022 14:13:17 +0000</pubDate>
</item>
<item>
<title>Answered: clj -X:deps tree ignores -Sdeps</title>
<link>https://ask.clojure.org/index.php/10245/clj-x-deps-tree-ignores-sdeps?show=12094#a12094</link>
<description>&lt;p&gt;Since version &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/clojure/tools.deps.alpha/blob/master/CHANGELOG.md&quot;&gt;0.12.1148&lt;/a&gt; &lt;code&gt;-X:deps tree&lt;/code&gt; takes basis settings:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ clj -X:deps tree :extra '{:deps {ring/ring-core {:mvn/version &quot;1.9.1&quot;}}}'
org.clojure/clojure 1.11.1
  . org.clojure/spec.alpha 0.3.218
  . org.clojure/core.specs.alpha 0.2.62
ring/ring-core 1.9.1
  . ring/ring-codec 1.1.3
    . commons-codec/commons-codec 1.15
  . commons-io/commons-io 2.6
  . commons-fileupload/commons-fileupload 1.4
    X commons-io/commons-io 2.2 :older-version
  . crypto-random/crypto-random 1.2.0
    X commons-codec/commons-codec 1.6 :older-version
  . crypto-equality/crypto-equality 1.0.0
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;You can also pass e.g. list of aliases, which is quite useful:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ clj -X:deps tree :aliases '[:dev :test]'
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/10245/clj-x-deps-tree-ignores-sdeps?show=12094#a12094</guid>
<pubDate>Mon, 01 Aug 2022 10:47:40 +0000</pubDate>
</item>
<item>
<title>Answer selected: tools.deps integration with Sourcehut</title>
<link>https://ask.clojure.org/index.php/12005/tools-deps-integration-with-sourcehut?show=12006#a12006</link>
<description>&lt;p&gt;Logged as &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.atlassian.net/browse/TDEPS-228&quot;&gt;https://clojure.atlassian.net/browse/TDEPS-228&lt;/a&gt;&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/12005/tools-deps-integration-with-sourcehut?show=12006#a12006</guid>
<pubDate>Wed, 22 Jun 2022 15:29:25 +0000</pubDate>
</item>
<item>
<title>Answer selected: Hope tools.deps.alpha add feature for listing available aliases</title>
<link>https://ask.clojure.org/index.php/11007/hope-tools-deps-alpha-add-feature-listing-available-aliases?show=11330#a11330</link>
<description>&lt;p&gt;Logged as &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.atlassian.net/browse/TDEPS-213&quot;&gt;https://clojure.atlassian.net/browse/TDEPS-213&lt;/a&gt;&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/11007/hope-tools-deps-alpha-add-feature-listing-available-aliases?show=11330#a11330</guid>
<pubDate>Thu, 16 Jun 2022 01:28:23 +0000</pubDate>
</item>
<item>
<title>Closed: tools.deps not working when downloading a big jar on a small machine</title>
<link>https://ask.clojure.org/index.php/11840/tools-deps-not-working-when-downloading-big-jar-small-machine?show=11840#q11840</link>
<description>&lt;p&gt;I started an ec2 t3.nano instance and created a clojure deps project. The only dependency I had was a private jar file which weighted around ~100mb.&lt;br&gt;
&lt;code&gt;clj&lt;/code&gt; command could not download the file and was misleading in its error :&lt;br&gt;
 &lt;code&gt;Error building classpath. Could not find artifact name/of/artifact&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;By curiosity I looked at tools.deps code and tried to run the s3 call :&lt;br&gt;
&lt;code&gt;`&lt;/code&gt;&lt;br&gt;
(aws/invoke s3-client {:op :GetObject&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;                     :request {:Bucket &quot;bucketname&quot;
                               :Key &quot;/path/to/jar&quot;}})
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;`&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;and then we had a clear error (see &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojurians.slack.com/files/U2N9GDB1U/F03E16TB10Q/image.png&quot;&gt;https://clojurians.slack.com/files/U2N9GDB1U/F03E16TB10Q/image.png&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;It looks like cognitect http is keeping the file in memory, on a really small instance or a container it does not work (it worked with mvn)&lt;br&gt;
Quick fix: have a better error message&lt;br&gt;
Thanks a lot&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/11840/tools-deps-not-working-when-downloading-big-jar-small-machine?show=11840#q11840</guid>
<pubDate>Thu, 09 Jun 2022 20:18:26 +0000</pubDate>
</item>
<item>
<title>Answered: Possible concurrency issue with git deps</title>
<link>https://ask.clojure.org/index.php/11663/possible-concurrency-issue-with-git-deps?show=11668#a11668</link>
<description>&lt;p&gt;I'd like to see if it happens with the changes in 1.10.3.1058 as that could certainly affect this (changing to latest is fine, that's just the last change that I think matters here).&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/11663/possible-concurrency-issue-with-git-deps?show=11668#a11668</guid>
<pubDate>Thu, 24 Mar 2022 13:49:00 +0000</pubDate>
</item>
<item>
<title>Answer selected: Non informative error message if git/sha of  dependency in deps.edn cannot be found</title>
<link>https://ask.clojure.org/index.php/11599/non-informative-error-message-dependency-deps-cannot-found?show=11601#a11601</link>
<description>&lt;p&gt;Thanks, will be fixed for next release. The sha error was already fixed recently.&lt;/p&gt;
&lt;p&gt;For missing url:&lt;/p&gt;
&lt;p&gt;Error building classpath. :git/url not found or inferred for org.clojure/data.csv&lt;/p&gt;
&lt;p&gt;For unknown sha:&lt;/p&gt;
&lt;p&gt;Error building classpath. Commit not found for io.github.clojure/data.csv in repo &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/clojure/data.csv.git&quot;&gt;https://github.com/clojure/data.csv.git&lt;/a&gt; at 1234567890123456789012345678901234567890&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/11599/non-informative-error-message-dependency-deps-cannot-found?show=11601#a11601</guid>
<pubDate>Thu, 03 Mar 2022 20:06:11 +0000</pubDate>
</item>
<item>
<title>Answered: Support preparing :deps/:extra-deps in aliases</title>
<link>https://ask.clojure.org/index.php/10915/support-preparing-deps-extra-deps-in-aliases?show=11574#a11574</link>
<description>&lt;p&gt;Added support for basis modifiers, including :aliases, in Clojure CLI prerelease 1.10.3.1082.&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/10915/support-preparing-deps-extra-deps-in-aliases?show=11574#a11574</guid>
<pubDate>Sat, 12 Feb 2022 03:18:48 +0000</pubDate>
</item>
<item>
<title>Edited: Could :replace-deps imply :replace-paths [] by default?</title>
<link>https://ask.clojure.org/index.php/9947/could-replace-deps-imply-replace-paths-by-default?show=9947#q9947</link>
<description>&lt;p&gt;If an alias, or tool invocation using -Sdeps, discards a project's deps by using &lt;code&gt;:replace-deps&lt;/code&gt; then there is a good chance that some or all of the project's namespaces become impossible to load due to their requirements now missing from the classpath.&lt;/p&gt;
&lt;p&gt;If there are files in the project's default paths that are auto-loaded by clojure on startup, such as &lt;code&gt;user.clj&lt;/code&gt;, the tool invocation might fail therefore. This can be mitigated by also specifying &lt;code&gt;:replace-paths []&lt;/code&gt;, however this does not seem to be too well known (&lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/practicalli/clojure-deps-edn/pull/12&quot;&gt;example 1&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/tonsky/uberdeps/pull/36&quot;&gt;example 2&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; href=&quot;https://ask.clojure.org/index.php/9857/could-option-that-variant-sdeps-avoid-having-specify-alias?show=9935#c9935&quot;&gt;example 3&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;I was wondering whether it is common for tools to replace a project's deps with their own but still use the project's paths? I believe in most cases the tool will be authored with no knowledge of the project it will be used in and should not expect to find anything useful to load from the project's own paths.&lt;/p&gt;
&lt;p&gt;In order to make it easier to set up tool invocations, it would make sense to me to make &lt;code&gt;:replace-deps&lt;/code&gt; imply &lt;code&gt;:replace-paths []&lt;/code&gt; unless otherwise specified, or something along these lines.&lt;/p&gt;
&lt;p&gt;A repro case can be found at &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/imrekoszo/depslink3_2#missing-replace-paths-repro-case&quot;&gt;https://github.com/imrekoszo/depslink3_2#missing-replace-paths-repro-case&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Migrated from &lt;a rel=&quot;nofollow&quot; href=&quot;https://ask.clojure.org/index.php/9857/could-option-that-variant-sdeps-avoid-having-specify-alias?show=9884#a9884&quot;&gt;https://ask.clojure.org/index.php/9857/could-option-that-variant-sdeps-avoid-having-specify-alias?show=9884#a9884&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Edit: update opening paragraph to reference replace-deps as opposed to replace paths. I don't know why I wrote replace-paths there in the first place, this is about problems with replace-deps :)&lt;/p&gt;
&lt;p&gt;Update: not happening, according to Alex: &lt;a rel=&quot;nofollow&quot; href=&quot;https://ask.clojure.org/index.php/11522/x-deps-might-fail-when-user-clj-requires-something?show=11526#c11526&quot;&gt;https://ask.clojure.org/index.php/11522/x-deps-might-fail-when-user-clj-requires-something?show=11526#c11526&lt;/a&gt;&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/9947/could-replace-deps-imply-replace-paths-by-default?show=9947#q9947</guid>
<pubDate>Mon, 31 Jan 2022 16:43:19 +0000</pubDate>
</item>
<item>
<title>Answer selected: Make :exclusions a common coordinate option?</title>
<link>https://ask.clojure.org/index.php/11452/make-exclusions-a-common-coordinate-option?show=11453#a11453</link>
<description>&lt;p&gt;It is supported on all coordinate types, just not well documented.&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/11452/make-exclusions-a-common-coordinate-option?show=11453#a11453</guid>
<pubDate>Tue, 11 Jan 2022 14:25:12 +0000</pubDate>
</item>
<item>
<title>Answer selected: :exclusions is underdocumented</title>
<link>https://ask.clojure.org/index.php/11451/exclusions-is-underdocumented?show=11455#a11455</link>
<description>&lt;p&gt;Added in &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/clojure/clojure-site/commit/beb2fc4204f4cb21a63290d86e38ddb00c48a2b3&quot;&gt;https://github.com/clojure/clojure-site/commit/beb2fc4204f4cb21a63290d86e38ddb00c48a2b3&lt;/a&gt;&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/11451/exclusions-is-underdocumented?show=11455#a11455</guid>
<pubDate>Tue, 11 Jan 2022 14:24:48 +0000</pubDate>
</item>
<item>
<title>Answered: Using a git SHA for a local git dependency?</title>
<link>https://ask.clojure.org/index.php/11250/using-a-git-sha-for-a-local-git-dependency?show=11252#a11252</link>
<description>&lt;p&gt;For this, you will just use a &lt;code&gt;:git/url&lt;/code&gt; with &lt;code&gt;file:&lt;/code&gt; protocol or no protocol. Admittedly, that does not currently work, but that is covered in &lt;a rel=&quot;nofollow&quot; href=&quot;https://ask.clojure.org/index.php/11251/allow-absolute-paths-for-file-based-git-urls&quot;&gt;https://ask.clojure.org/index.php/11251/allow-absolute-paths-for-file-based-git-urls&lt;/a&gt;.&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/11250/using-a-git-sha-for-a-local-git-dependency?show=11252#a11252</guid>
<pubDate>Fri, 05 Nov 2021 20:01:05 +0000</pubDate>
</item>
<item>
<title>Comment edited: :deps in dependency not (always) working when there is no :path specified in dependency</title>
<link>https://ask.clojure.org/index.php/11193/deps-dependency-always-working-there-specified-dependency?show=11198#c11198</link>
<description>Thanks! I can't reproduce it when having forced the classpath refresh.</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/11193/deps-dependency-always-working-there-specified-dependency?show=11198#c11198</guid>
<pubDate>Tue, 26 Oct 2021 14:16:58 +0000</pubDate>
</item>
<item>
<title>Retagged: deps.edn specs from tools.deps.alpha are out of date</title>
<link>https://ask.clojure.org/index.php/11174/deps-edn-specs-from-tools-deps-alpha-are-out-of-date?show=11174#q11174</link>
<description>&lt;p&gt;The specs for deps.edn files in the tools.deps.alpha repo are fairly out of date now, and don't coincide with what the &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.org/reference/deps_and_cli#_dependencies&quot;&gt;documentation&lt;/a&gt; claims. &lt;/p&gt;
&lt;p&gt;Discrepancies I have noticed:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;New git syntax is not supported, &lt;code&gt;:git/sha&lt;/code&gt;, &lt;code&gt;:git/tag&lt;/code&gt; and the like.&lt;/li&gt;
&lt;li&gt;Specs for coords claim that Maven and local coords can include a &lt;code&gt;:path&lt;/code&gt; field.&lt;/li&gt;
&lt;li&gt;No mention of &lt;code&gt;:deps/root&lt;/code&gt; or &lt;code&gt;:deps/manifest&lt;/code&gt; in coords.&lt;/li&gt;
&lt;li&gt;None of the recent tools stuff is present.&lt;/li&gt;
&lt;li&gt;Missing top-level entries: &lt;code&gt;:mvn/repos&lt;/code&gt;, &lt;code&gt;:mvn/local-repo&lt;/code&gt;, &lt;code&gt;:tools/usage&lt;/code&gt;, &lt;code&gt;:deps/prep-lib&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Having accurate specs is really useful for tool development, since I can then use them to generate deps files to test e.g. Cursive against, as well as ensuring that any parsing I do is correct. It would be great if these could be brought up to date.&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/11174/deps-edn-specs-from-tools-deps-alpha-are-out-of-date?show=11174#q11174</guid>
<pubDate>Mon, 18 Oct 2021 17:38:51 +0000</pubDate>
</item>
<item>
<title>Comment edited: Add support for Google Artifact Registry in tools.deps and clj</title>
<link>https://ask.clojure.org/index.php/9804/add-support-for-google-artifact-registry-tools-deps-and-clj?show=11044#c11044</link>
<description>Is there anyway to vote for this on Jira, or should I just vote for it here?&lt;br /&gt;
&lt;br /&gt;
We are using Datomic Cloud so using Leiningen is not an option, but we also have to pull in some private artifacts from Artifact Registry.&lt;br /&gt;
&lt;br /&gt;
Edit: we do have access to git repo for the libs, so that should be a workable solution for us right now</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/9804/add-support-for-google-artifact-registry-tools-deps-and-clj?show=11044#c11044</guid>
<pubDate>Mon, 13 Sep 2021 14:13:49 +0000</pubDate>
</item>
<item>
<title>Comment edited: Allow user to specify the path to Maven settings (or provide repo credentials directly)</title>
<link>https://ask.clojure.org/index.php/7865/allow-specify-maven-settings-provide-credentials-directly?show=11017#c11017</link>
<description>*REMOVED COMMENT*</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/7865/allow-specify-maven-settings-provide-credentials-directly?show=11017#c11017</guid>
<pubDate>Tue, 07 Sep 2021 15:27:05 +0000</pubDate>
</item>
<item>
<title>Answer selected: git-resolve-tags doesn't support new format of git coords</title>
<link>https://ask.clojure.org/index.php/10821/git-resolve-tags-doesnt-support-new-format-of-git-coords?show=10822#a10822</link>
<description>&lt;p&gt;Yep, thx for the report.&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/10821/git-resolve-tags-doesnt-support-new-format-of-git-coords?show=10822#a10822</guid>
<pubDate>Thu, 29 Jul 2021 03:44:43 +0000</pubDate>
</item>
<item>
<title>Answered: s3 repo + certain deps appear to cause infinite resolution loop</title>
<link>https://ask.clojure.org/index.php/10855/s3-repo-certain-deps-appear-cause-infinite-resolution-loop?show=10865#a10865</link>
<description>&lt;p&gt;Logged as &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.atlassian.net/browse/TDEPS-199&quot;&gt;https://clojure.atlassian.net/browse/TDEPS-199&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I was able to reproduce this. There's some parallelism happening that can make the errors confusing, so using &lt;code&gt;-Sthreads 1&lt;/code&gt; helped a little there. I'm a little suspicious that this has more to do with sockets, and not with actual files. But, it needs more investigation.&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/10855/s3-repo-certain-deps-appear-cause-infinite-resolution-loop?show=10865#a10865</guid>
<pubDate>Wed, 28 Jul 2021 21:48:52 +0000</pubDate>
</item>
<item>
<title>Answered: Can :paths be symlinks that point outside the project?</title>
<link>https://ask.clojure.org/index.php/10806/can-paths-be-symlinks-that-point-outside-the-project?show=10838#a10838</link>
<description>&lt;p&gt;Logged as &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.atlassian.net/browse/TDEPS-194&quot;&gt;https://clojure.atlassian.net/browse/TDEPS-194&lt;/a&gt;&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/10806/can-paths-be-symlinks-that-point-outside-the-project?show=10838#a10838</guid>
<pubDate>Mon, 19 Jul 2021 14:18:45 +0000</pubDate>
</item>
<item>
<title>Unable to parse tools.deps -Sdescribe output as EDN on Windows</title>
<link>https://ask.clojure.org/index.php/10675/unable-to-parse-tools-deps-sdescribe-output-as-edn-on-windows</link>
<description>&lt;p&gt;I installed tools.deps on Windows using Scoop and it works nicely. However, when I do &lt;code&gt;clj -Sdescribe&lt;/code&gt; I get the following output:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ clj -Sdescribe
    {:version &quot;1.10.3.855&quot;
     :config-files [&quot;C:\Users\***\scoop\modules\ClojureTools\deps.edn&quot; &quot;C:\Users\***\.clojure\deps.edn&quot; &quot;deps.edn&quot;]
     :config-user &quot;C:\Users\***\.clojure\deps.edn&quot;
     :config-project &quot;deps.edn&quot;
     :install-dir &quot;C:\Users\***\scoop\modules\ClojureTools&quot;
     :config-dir &quot;C:\Users\***\.clojure&quot;
     :cache-dir &quot;C:\Users\***\.clojure\.cpcache&quot;
     :force False
     :repro False
     :main-aliases &quot;&quot;
     :repl-aliases &quot;&quot;
     :exec-aliases &quot;&quot;}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and when I then try to parse this as EDN (which should be possible) via &lt;code&gt;clojure.edn/read-string&lt;/code&gt; I get the error: &lt;code&gt;Unsupported escape character: \U&lt;/code&gt; which obviously happens because the file path of &lt;code&gt;C:\Users\...&lt;/code&gt; contains that.&lt;/p&gt;
&lt;p&gt;This would probably need to be adjusted by the tools.deps team? I could work around it, but in a general case, I'd have no way of knowing if a &lt;code&gt;\&lt;/code&gt; signifies an escape character or a path separator. The output should probably be adjusted so a &lt;code&gt;\&lt;/code&gt; is escaped to &lt;code&gt;\\&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Context: this fails for detecting tools.deps version as part of the integration into IntelliJ IDE with Cursive.&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/10675/unable-to-parse-tools-deps-sdescribe-output-as-edn-on-windows</guid>
<pubDate>Tue, 08 Jun 2021 09:20:01 +0000</pubDate>
</item>
<item>
<title>Could tools.deps.alpha support :jvm-opts via aliases-as-data, the same as :paths/:extra-paths?</title>
<link>https://ask.clojure.org/index.php/10674/could-tools-alpha-support-opts-aliases-data-paths-extra-paths</link>
<description>&lt;p&gt;At work, we have four or five JVM options that are common to almost every invocation of the CLI via aliases in our &lt;code&gt;deps.edn&lt;/code&gt; file. Currently, we have &lt;code&gt;:jvm-opts&lt;/code&gt; duplicated into each alias.&lt;/p&gt;
&lt;p&gt;It would reduce duplication if we could just say &lt;code&gt;:jvm-opts :common-opts&lt;/code&gt; in each alias and have a &lt;code&gt;:common-opts&lt;/code&gt; alias that specified the JVM options in just one place or, even better, if the &lt;code&gt;:jvm-opts&lt;/code&gt; vector could take a mix of keywords and strings and look up the keywords as aliases and merge that data in.&lt;/p&gt;
&lt;p&gt;This would make &lt;code&gt;:jvm-opts&lt;/code&gt; consistent with &lt;code&gt;:paths&lt;/code&gt; and &lt;code&gt;:extra-paths&lt;/code&gt; and help reduce duplication in &lt;code&gt;deps.edn&lt;/code&gt; files.&lt;/p&gt;
&lt;p&gt;In our specific case, we could then do the following:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;;; under :aliases
:common-jvm-opts [&quot;-Dclojure.core.async.go-checking=true&quot;
                  &quot;-Dclojure.tools.logging.factory=clojure.tools.logging.impl/log4j2-factory&quot;
                  &quot;-XX:-OmitStackTraceInFastThrow&quot;
                  &quot;--illegal-access=warn&quot;]}

;; in a specific alias
:some-alias {
  :jvm-opts [:common-jvm-opts &quot;-Dlogged-future=synchronous&quot;]
}
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/10674/could-tools-alpha-support-opts-aliases-data-paths-extra-paths</guid>
<pubDate>Mon, 07 Jun 2021 18:37:03 +0000</pubDate>
</item>
<item>
<title>Reflection warning when using tools.deps programatically</title>
<link>https://ask.clojure.org/index.php/10671/reflection-warning-when-using-tools-deps-programatically</link>
<description>&lt;p&gt;The following warning is a minor nuisance:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;jar:file:/Users/vemv/.m2/repository/org/clojure/tools.deps.alpha/0.11.922/tools.deps.alpha-0.11.922.jar!/clojure/tools/deps/alpha/extensions/deps.clj:39:13: Reflection warning -  reference to field getCanonicalPath can't be resolved.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;could it be fixed?&lt;/p&gt;
&lt;p&gt;Thanks - V&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/10671/reflection-warning-when-using-tools-deps-programatically</guid>
<pubDate>Sun, 06 Jun 2021 02:33:51 +0000</pubDate>
</item>
<item>
<title>Does tools.deps.alpha need a maven-core bump?</title>
<link>https://ask.clojure.org/index.php/10643/does-tools-deps-alpha-need-a-maven-core-bump</link>
<description>&lt;p&gt;&lt;code&gt;tools.deps.alpha 0.11.918&lt;/code&gt; uses &lt;code&gt;maven-core 3.6.3&lt;/code&gt;, which seems to be affected by &lt;a rel=&quot;nofollow&quot; href=&quot;https://nvd.nist.gov/vuln/detail/CVE-2021-26291&quot;&gt;CVE-2021-26291&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Does this present a risk for users of  &lt;code&gt;tools.deps.alpha&lt;/code&gt; or the Clojure command-line tools? Would it make sense to bump the referenced version?&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/10643/does-tools-deps-alpha-need-a-maven-core-bump</guid>
<pubDate>Thu, 20 May 2021 11:55:53 +0000</pubDate>
</item>
<item>
<title>Could the CLI add an option that is a variant of -Sdeps to avoid having to specify an alias?</title>
<link>https://ask.clojure.org/index.php/9857/could-option-that-variant-sdeps-avoid-having-specify-alias</link>
<description>&lt;p&gt;Currently, there are several parts of &lt;code&gt;deps.edn&lt;/code&gt; that only work under an alias. That means that if you want to do that via the command-line, you have to do:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;clojure -Sdeps '{:aliases {:foo {...}}}' -(AMX):foo ...
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;(for example, &lt;code&gt;:replace-deps&lt;/code&gt; for tooling)&lt;/p&gt;
&lt;p&gt;It would be nice if you could just say:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;clojure -Salias '{...}' -(AMX) ...
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;so you don't have to invent an alias, type that name twice, and wrap it in &lt;code&gt;{:aliases ...}&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Logged as &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.atlassian.net/browse/TDEPS-173&quot;&gt;https://clojure.atlassian.net/browse/TDEPS-173&lt;/a&gt;&lt;/p&gt;
</description>
<category>tools.deps</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/9857/could-option-that-variant-sdeps-avoid-having-specify-alias</guid>
<pubDate>Tue, 24 Nov 2020 19:21:52 +0000</pubDate>
</item>
</channel>
</rss>