This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-03-15
Channels
- # aatree (1)
- # atlanta-clojurians (3)
- # beginners (112)
- # boot (4)
- # boot-dev (1)
- # bristol-clojurians (1)
- # cider (55)
- # cljs-dev (23)
- # cljsjs (1)
- # cljsrn (7)
- # clojars (24)
- # clojure (84)
- # clojure-brasil (1)
- # clojure-china (1)
- # clojure-italy (27)
- # clojure-norway (17)
- # clojure-romania (1)
- # clojure-spec (109)
- # clojure-uk (92)
- # clojurescript (94)
- # community-development (1)
- # core-matrix (1)
- # cursive (12)
- # datascript (1)
- # datomic (23)
- # figwheel (1)
- # fulcro (17)
- # hoplon (11)
- # jobs-discuss (3)
- # keechma (6)
- # lein-figwheel (4)
- # leiningen (79)
- # lumo (32)
- # mount (42)
- # off-topic (22)
- # onyx (13)
- # parinfer (30)
- # portkey (47)
- # powderkeg (1)
- # programming-beginners (24)
- # protorepl (3)
- # re-frame (16)
- # reagent (100)
- # ring-swagger (7)
- # shadow-cljs (134)
- # spacemacs (3)
- # sql (1)
- # tools-deps (48)
- # uncomplicate (1)
- # unrepl (14)
- # yada (1)
Is GnuWin32 still the recommended package to install on Windows prior to installing Leiningen?
in a leiningen project, how would I go about printing the dependency tree that will be visible to the user of my lib once I deploy it to clojars?
Doing lein with-profiles -dev deps :tree
still seems to add things like clojure-complete and org.clojure/tools.nrepl etc...
@mbjarland I’m not sure if there is a way with deps :tree
. I’d think it’d work, but haven’t looked into it
No, that doesn’t make sense, disregard. Deleted it. I’d think deps :tree
would work if you get the correct active profiles
@mikerod yes, that is part of my confusion, what are the active profiles I should enable to get the dependencies an user of the library would see once deployed
@mbjarland so you want the dependencies as if you were doing lein jar
?
@mikerod I want whatever dependencies you would see if you added my lib to the project.clj
of your project and ran lein deps :tree
yeah, lein deps
should just be based on the aether resolution stuff (maven style deps and coords)
@mbjarland my guess is you have more profiles other than just :dev
bringing in these things
It’d be better if you could explicitly only specify the profiles you wanted to keep (whitelist instead of blacklist)
@mikerod that is my guess as well…as for what profiles are active and/or which profile I should enable to only get the dependencies packed into the jar pom.xml etc I’m at a loss for
@mbjarland it seems difficult to be able to easily get the same pom generation profile state as in lein pom
then again, now you have me wondering what profiles lein deps
makes active by default
nowadays, that isn’t true it. I believe it is mentioned as that’s sort of a deprecated thing
then again, you can see (at least in the :tree
output) in the output that some dependencies are :scope "test"
etc
anyway, I figured I was missing something obvious but sounds to me like this might actually be a bit more esoteric than I expected
how would I go about listing all the profiles or figuring out what profiles lein jar
uses
:provided
would be included in your artifact as a dependency. If it follows Maven resolution rules, a “provided” scope dep wouldn’t bring any further transitive dependencies onto the classpath (it is meant to be provided by the consumer)
Yeah, I may go back to my earlier other idea that is less elegant and just use Maven dep tree on the generated pom
You’ll have to keep in mind the scopes, e.g. “test” scope wouldn’t be something a consuming app would get
Sounds like there should be a lein plugin (or built-in with deps
etc) that can report on these sort of more tricky dependency lists
yeah I come from a substantial number of years building applications in other languages for the JVM using gradle
to me this should be the most obvious dependency list to ask for “when I publish my lib, what will the user see”
I’m not the definitive source of truth on lein though. Perhaps I’m missing something that could be done here.
What I said about just using Maven after, at least relates to this one https://stackoverflow.com/questions/33093833/display-complete-dependency-tree-with-leiningen
yeah and many thanks for all the help, I didn’t mean to be ungrateful, just a little befuddled by the seeming difficulty here
sure. Yeah, I’ve struggled a few times with uberjar/jar/pom things related to active profiles and how to know them easier. So it relates to what I’ve encountered before
I’d say that at least the codebase is relatively easy to sift through 😛 not that makes it nice when wanting to do something like this
while I’m here I might as well ask…is there some best practice for choosing the namespace of clojars deployments…i.e. just my-special-lib
or mygroup/my-special-lib
@mbjarland I’m pretty sure the recommendation is to always use a group, not bare names
doh, shame I already published the jar to clojars…the way I understand it, once published, clojars is forever
I think it’s bitten written about though elsewhere. I guess you get that bare name forever now
I actually don’t know about clojars management and removal etc. So I’m no help to you there.
hrm…ok not exactly happy about it, trying to be a good citizen and publish according to the mojo of the community
I’ll look into it, but I remember reading that once published things stay (ala Rich Hickey’s presentation about dependencies and why mavencentral rocks)
I guess it is possible to follow this https://github.com/clojars/clojars-web/wiki/About#how-do-i-delete-a-jar
https://github.com/clojars/clojars-web/wiki/Groups I don’t know that this really is very clera
It sounds like it encourages groups, but doesn’t like Maven using reverse-domain names
I think if you don’t use a group, you may implicitly get a group of the same name as your lib
my-lib/my-lib
It just can be truncated to my-lib
as a lein style dep
@mikerod I've updated the docs for Groups, we don't discourage use of reverse DNS groups anymore
Is that clearer, is there more we should add there?
@danielcompton oh cool