This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-10-23
Channels
- # 100-days-of-code (2)
- # aws (1)
- # beginners (105)
- # boot (36)
- # calva (4)
- # cider (56)
- # clara (37)
- # cljdoc (16)
- # cljs-dev (19)
- # clojure (44)
- # clojure-dev (20)
- # clojure-italy (24)
- # clojure-nl (3)
- # clojure-serbia (2)
- # clojure-spec (15)
- # clojure-uk (44)
- # clojurescript (41)
- # code-reviews (3)
- # core-async (12)
- # cursive (24)
- # datomic (4)
- # emacs (1)
- # figwheel-main (10)
- # fulcro (168)
- # funcool (2)
- # hyperfiddle (15)
- # jobs (2)
- # jobs-discuss (79)
- # juxt (19)
- # lein-figwheel (1)
- # leiningen (2)
- # luminus (14)
- # mount (8)
- # nrepl (9)
- # off-topic (9)
- # other-languages (1)
- # pathom (32)
- # reitit (6)
- # ring-swagger (3)
- # shadow-cljs (10)
- # slack-help (11)
- # spacemacs (20)
- # sql (29)
- # tools-deps (28)
- # vim (29)
- # yada (4)
we're really liking deps.edn workflows for running our project and declaring dependencies. is there a boot workflow where we can use deps.edn deps and use boot for building and packaging?
do yall make artifacts from libs for consumption in older projects? that's where we are right now
older lein project, rewrite of library with deps edn. need to make a maven artifact. how do you do it?
there are some clj “plugins” for this already I believe. I used one to create uberjars, but haven’t pushed to maven
ah ok. thought you did. we were looking at one of their "plugins". thanks for the recommendations
I work at JUXT. Have your daily dose of marketing 😁 https://github.com/juxt/pack.alpha#uploading-to-clojars-or-maven
What's your comment about :gen-class
? :thinking_face: pack doesn't really do anything with AOT, so if you need that you need to combine it with pack using something like https://github.com/juxt/edge/blob/152f1f696479e74d8ed9c63d2f4ed7e846eff585/bin/uberjar#L17-L26
fwiw, we use this https://github.com/borkdude/boot-bundle to manage deps in multiple projects that we would like to keep the same
@borkdude Where can one find the current state of dependencies? Is this defined within the project as well or just in bundle.edn
?
You can combine deps just the way you like, by picking them from the bundle file or mixing it with your own inside set-env
Ah I see, I guess you always put a bundle file within a git repo?
Only if we use bundle (but we do this for each project yes). Typically at the root of the repo. We have some JVM opts that we read from a .boot-jvm-options
file in each project, that has -Dboot.bundle.file="../bundle.edn"
@U0FT7SRLP but you can also define this in the build.boot file or via an env variable
@U0FT7SRLP you can even get your boot.bundle file from a shared library
Nice 🙂
;; if you share your bundle via clojars, uncomment and change:
;; [your-bundle "0.1.1" :scope "test"]
@dpsutton You can use boot-tools-deps
with Boot to make JAR and uber JAR files from your deps.edn
library but I'd look at cambada or juxt's pack instead.
We use depstar to create uber JARs at work.
we tried pack and making a skinny jar. had to modify it to remove a :gen-class in it and it also had no manifest or pom info
We build uber JARs without manifests and use those in production.
We haven't, yet, had a need to build skinny JARs for deployment to Clojars etc.
and ps thanks for the discussion @borkdude @seancorfield
BTW, you can generate a pom.xml
using clj
directly. I haven't checked how compatible it is with Clojars/Maven tho'...
it needs additional adornment (but clj -Spom
is intended to update the deps and leave the rest alone)
I updated my fork of depstar to produce thin (library) JAR files yesterday, used clj -Spom
to seed a pom.xml
file, added SCM and license sections, then did mvn deploy:deploy-file
to put things up on clojars. Pretty easy. Thanks to some pointers from @dominicm !
I updated my fork of depstar to produce thin (library) JAR files yesterday, used clj -Spom
to seed a pom.xml
file, added SCM and license sections, then did mvn deploy:deploy-file
to put things up on clojars. Pretty easy. Thanks to some pointers from @dominicm !