Awesome!
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?
@ska I often start in build.boot
and then move elsewhere
@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
@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.
@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 ๐
Just set up a fresh project and learning from your boot-deps project ๐
I'll try to spend a few evenings on this. Let's see where it takes me.
Will also study the lein-licenses plugin, maybe the Gradle licenses plugin. Would be awesome to also the the CLJS and JS deps covered.
I'll also probably need some manual override or so.
Just thinking loudly here
@ska Iโm interested in this too, keep us in the loop as you progress
@ska have fun & feel free to ask anything ๐
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?
(boot (show :verify-deps true))
gives me :bad-sig
for all deps except :unsigned
cider nrepl and refactor-nrepl. How does one correct signatures?hey @jjmojojjmojo! nice to see you no here, been too long. i agree re: LATEST, pinning version superior
thanks, I just needed to hear someone else say it lol ๐
Too bad, pod/pom-xml-map
only extracts a subset and skips the license part.
@ska pomegranate seems like the thing you want to use, boot notwithstanding. to get data to work with that is
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.
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
While running
java -jar my-uberjar.jar
The solution is to delete manifest's .RSA`` file. I'm hunting to learn how to properly sign my uber jar now