boot

:boot-clj: https://boot-clj.github.io/ โ€” build tooling for Clojure. Dev chat in #boot-dev
danielcompton 2018-05-15T00:12:07.000186Z

Awesome!

ska 2018-05-15T09:55:34.000307Z

OK, different question: is there any documentation about how to work on a boot extension? Do you just create a namespace in your project and work there? Or would you draft everything in build.boot and then move the code somewhere else?

martinklepsch 2018-05-15T14:49:51.000724Z

@ska I often start in build.boot and then move elsewhere

martinklepsch 2018-05-15T14:54:52.000511Z

@ska regarding the license thing: Iโ€™m not aware of a boot task for this but you can either a) write one b) generate a project.clj and use lein-licenses

ska 2018-05-15T16:01:07.000619Z

@martinklepsch I already tried variant b which kinda works. I also generated a pom and used the maven report stuff (just run "mvn site") which is massive. I am actually considering writing one myself. I need some time to figure out how to write boot tasks, though.

martinklepsch 2018-05-15T16:02:10.000043Z

@ska you could start with something plain clojure that takes a list of deps and returns their license metadata wrapping that in a boot task later will be easy ๐Ÿ™‚

ska 2018-05-15T16:19:13.000777Z

Just set up a fresh project and learning from your boot-deps project ๐Ÿ™‚

ska 2018-05-15T16:19:39.000059Z

I'll try to spend a few evenings on this. Let's see where it takes me.

ska 2018-05-15T16:20:16.000145Z

Will also study the lein-licenses plugin, maybe the Gradle licenses plugin. Would be awesome to also the the CLJS and JS deps covered.

ska 2018-05-15T16:20:30.000096Z

I'll also probably need some manual override or so.

ska 2018-05-15T16:20:37.000588Z

Just thinking loudly here

jjmojojjmojo 2018-05-15T16:38:31.000665Z

@ska Iโ€™m interested in this too, keep us in the loop as you progress

martinklepsch 2018-05-15T16:50:06.000110Z

@ska have fun & feel free to ask anything ๐Ÿ™‚

jjmojojjmojo 2018-05-15T17:38:31.000509Z

sanity check - Iโ€™m working updating some old boot tutorials, and Iโ€™m using LATEST in my dependencies in some examples - I did it for reasons I canโ€™t remember, and I usually advocate that people always pin versions - is it beneficial to even tell people thatโ€™s a thing?

bocaj 2018-05-15T17:56:34.000800Z

(boot (show :verify-deps true))
gives me
:bad-sig
for all deps except
:unsigned
cider nrepl and refactor-nrepl. How does one correct signatures?

2018-05-15T18:20:07.000173Z

hey @jjmojojjmojo! nice to see you no here, been too long. i agree re: LATEST, pinning version superior

jjmojojjmojo 2018-05-15T18:20:58.000842Z

thanks, I just needed to hear someone else say it lol ๐Ÿ˜„

ska 2018-05-15T19:23:26.000171Z

Too bad, pod/pom-xml-map only extracts a subset and skips the license part.

2018-05-15T19:36:32.000558Z

@ska pomegranate seems like the thing you want to use, boot notwithstanding. to get data to work with that is

ska 2018-05-15T19:41:08.000310Z

Yeah, I'm wading in pomegranate, boot.aether, boot.pod, lein-licenses and some more. This will take a few days, but just a few minutes ago I got this seq from a test fn: (() nil ("Eclipse Public License") ("Eclipse Public License 1.0") ("Eclipse Public License 1.0") ("Eclipse Public License") ("Eclipse Public License 1.0")) (first strategy: license tag in POM) I guess, that's some progress.

bocaj 2018-05-15T19:48:06.000556Z

I'm working on this error

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes

bocaj 2018-05-15T19:48:21.000492Z

While running

java -jar my-uberjar.jar

bocaj 2018-05-15T20:50:24.000021Z

The solution is to delete manifest's .RSA`` file. I'm hunting to learn how to properly sign my uber jar now