juxt

dpsutton 2018-10-23T19:50:27.000100Z

hi @dominicm. we were trying to use pack earlier making a thin jar but were getting a null pointer exception when using the thin jar ns. we cloned it, added it as a local repo, removed the gen-class and it worked

dominicm 2018-10-23T19:51:07.000100Z

Why on earth do I have a gen-class in there!

dominicm 2018-10-23T19:51:38.000100Z

Gone!

dpsutton 2018-10-23T19:53:00.000100Z

haha nice

dominicm 2018-10-23T19:54:18.000100Z

(I suspect I compiled this namespace to test an unrelated feature). Weird that it didn't NPE for me.

dpsutton 2018-10-23T19:54:41.000100Z

so you can create a thin jar?

dominicm 2018-10-23T19:54:53.000100Z

Yep! I did it this evening in fact.

dpsutton 2018-10-23T19:55:04.000100Z

we also were hoping that it would do the manifest stuff for us. but that doesn't seem to be part of its mission

dpsutton 2018-10-23T19:55:29.000100Z

we went the lein route with the plugin that can understand deps edn. so now its deps edn for running and lein deploy to make our artifacts

dominicm 2018-10-23T19:56:46.000100Z

@dpsutton which manifest stuff, out of curiosity? pom.xml?

dpsutton 2018-10-23T19:57:39.000100Z

we need it to be an addressable artifact from lein. which i thought required all of the manifest junk in adittion to poms. I'm not familiar with jvm ecosystem stuff like that though

dpsutton 2018-10-23T19:58:04.000100Z

then there's private s3 stuff. lein is already configured for that so it was quite simple

dominicm 2018-10-23T19:59:03.000100Z

@dpsutton Nope. MANIFEST.MF not required for this sort of thing. I only tested my toy via clj -Sdeps, but that uses maven as a library to download it, so I would expect it to work. Easy to test though.

dominicm 2018-10-23T20:00:47.000100Z

@dpsutton fwiw,

(defproject octo "0.1.0"
  :dependencies [[io.dominic/super-duper-octo-barnacle "0.1.1"]]
  :main io.dominic.super-duper-octo-barnacle.core)
Runs with:
/tmp/octo
❯ lein run SevereOverfl0w
WARNING: update already refers to: #'clojure.core/update in namespace: clj-http.client, being replaced by: #'clj-http.client/update
90

dpsutton 2018-10-23T20:01:35.000100Z

ok. we might revisit it soon then

dpsutton 2018-10-23T20:01:42.000100Z

need to then solve the private repo problem

dpsutton 2018-10-23T20:01:53.000100Z

but happy to try this out again in the future

dominicm 2018-10-23T20:05:18.000100Z

Yeah. Lein has a definite win with s3-wagon uploading. Hopefully someone will write a generic uploader that works given any jar. Then we can compose tools together without having to jump around select combinations of build tools, and we can load what we want into build tools we select.