Open borh opened 1 year ago
Interesting, I added that check because I assumed only git dependencies could have multiple paths. I want to support that use case. Before removing the check I'd like to do some tests, and make sure we don't break something else.
If you already have an open source project using apache-jena-libs
, could you share it?
Thanks for taking a look. I have a project that currently has some native and Python deps which I am in the process of cleaning up, but I found a relatively lightweight repo here: https://github.com/Swirrl/rdf-validator
Locking with clj-nix fails as in my report.
Running the testsuite with the Clojure CLI works fine (:test-runner is my cognitect-labs/test-runner alias):
clj -A:dev:test-runner
I believe a workaround would be to reference the specific Jena deps needed per project. Unfortunately, there is another level of similar nested dependencies, which makes this quite arduous:
@borh Thanks for the example, I can reproduce the issue, and I'll take a look to it
@borh Is :extension "pom"
documented anywhere? Looking at https://clojure.org/reference/deps_and_cli#_maven I only found this:
Currently, only jar artifacts are supported. Support for other artifact types (particularly Bill of Materials poms) may be added in the future.
I make the same assumption in clj-nix
, just removing the check gives you a different error later.
Did you try to replace org.apache.jena/apache-jena-libs
only with the top level dependencies? This seems to work:
org.apache.jena/jena-rdfpatch {:mvn/version "4.7.0"}
org.apache.jena/jena-shacl {:mvn/version "4.7.0"}
org.apache.jena/jena-shex {:mvn/version "4.7.0"}
org.apache.jena/jena-tdb {:mvn/version "4.7.0"}
org.apache.jena/jena-tdb2 {:mvn/version "4.7.0"}
org.apache.jena/jena-rdfconnection {:mvn/version "4.7.0"}
I found some more info:
:extension "pom"
is not supported, Clojure team doesn't recommend to relay on that. Instead, they recommend to add the deps referred to in the pom directly.
If TDEPS-202 is implemented, I'll add support for it on clj-nix
Trying to lock the
org.apache.jena/apache-jena-libs
dep given the following deps.edn fails with a "Maven deps can have only 1 path":I.e.: nix run github:jlesquembre/clj-nix#deps-lock -- --deps-include deps.edn
The dep in question is a POM artifact that just points to other deps (recursively). I haven't tried yet, but couldn't the test for paths be relaxed to handle this condition?