This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
I also tried fixing another unclosed resource in
JarFile opened isn't closed: https://github.com/boot-clj/boot/blob/76980e6b132f46a8b00cecd5fd2713343cc21a49/boot/pod/src/boot/pod.clj#L301
I tried these changes: https://github.com/ragnard/boot/commit/814d9b6ff991c113f323ab2c35a04750a825d0b0
I am currently using trapperkeeper, and trapperkeeper apparently expects your src content so be copied in the jar
java.io.FileNotFoundException: Could not locate nl/avisi/xodus/service__init.class or nl/avisi/xodus/service.clj on classpath.
@ragge: After I started running off of the master boot branch my uber problem disappeared.
I then started seeing the “too many files open” bug as well, your patch fixed it for me, thanks!
i ask because i try to spread the good news about the web + war tasks, and detest AOT
it allows you to generate servlets without AOT, by generating a web.xml file and putting it on the fileset that's compatible with https://github.com/tailrecursion/clojure-adapter-servlet
so if you are deploying to a servlet container you can both 1) not have to aot anything and 2) user uber --as-jars (much faster than default uber)
that provides a proxy -main that runs a build.boot in the jar, so we can distribute boot cli programs with no deps except jvm
Does that mean you could kind of use boot as an integral part of your distributed application?
I am currently building the distribution of this application http://dash.avisi.com/ with leiningen
But that is the reason I am looking at boot creating a tar.gz with custom stuff is very narly with leiningen
I think this is probably the bug: https://github.com/Engelberg/instaparse/issues/104
@alandipert: was actually considering doing something for deb as that's what we're mostly deploying... we're currently using fpm, but using it from embedded jruby in a pod sounds both a bit wicked, and very exciting. is that something someone is working on?
@alandipert: just a question re the
unpack-jar fn: what's the reason for catching this exception and just printing a warning? https://github.com/boot-clj/boot/blob/master/boot/pod/src/boot/pod.clj#L371
if exception is swallowed, that means a file that was in the jar to be unpacked will not be in the uberjar, which is pretty serious...
that was due to issues like this https://github.com/boot-clj/boot/commit/abb64d20b760d81b19b1c32026af6173cab9377d
not sure I agree... as I said, it totally make sense in this case, but defaulting to automatically excluding files from your uberjar when an exception occurred somewhere in that fn...
just seemed like a dangerous default... was mostly asking to see if i should remove it in PR, but if you feel that should be the behaviour, I won't change it
it would be a shame if we make it so that the user always needs to jump through hoops of excluding things to get uber to work
well, it's only an issue when files do clash like in the issue... and currently boot makes a global decision that it's first-one-wins... how do you know that's what the user wants?
that's just windows refusing to create a file with the same name as the non-empty directory
too me it just feels weird to not fail the task when an exception occurs like this (and if it's the license issue, let the user handle it, maybe print "if you want to exclude this failing file, add this
/LICENSE to :exclude" etc...)
it's like the javac task would succeed even if compilation failed, but just print warnings
the uber task has been problematic from the start so i think it's maybe alright to change things around, because i think a lot of people are annoyed by how it currentlyworks
@podviaznikov: there are still some references to
meta.edn here: https://github.com/hashobject/perun#how-does-it-work
Btw. @podviaznikov I wrote a Boot task for LiveReload (https://github.com/Deraen/boot-livereload) it enables quite nice workflow for Perun: https://github.com/Deraen/deraen.github.io/blob/blog/build.boot#L34-L40
@podviaznikov: in some tasks it would be neat if the exceptions give some more information about what file caused it
@podviaznikov: also is there documentation on specifying the initial metadata in markdown files? Is that just something that comes with markdown-clj?
@martinklepsch: metadata is just “key:value” pairs. You can see example here: https://raw.githubusercontent.com/hashobject/blog.hashobject.com/master/resources/posts/20130603-clojure-webapp-with-https-support-on-amazon-beanstalk.md
and this function https://github.com/hashobject/perun/blob/master/src/io/perun/markdown.clj#L32 parses metadata
@podviaznikov: yeah, I figured that out, but I was used
— as delimiters (jekyll) and surprised about the HTML comments
I think I can add support for jekyll style. I did that parses for my initial implementation 2 years ago and I don’t remember why I did it this way back then
I’m fine with either, was just confused initially, probably something that would be useful in the Readme/task docstring
@podviaznikov: re exceptions: getting them when having html inside markdown blockquotes, worked in kramdown but doesn’t with markdown-clj
No idea about markdown libs, I guess most just wrap the most popular Java lib (whichever that is)
podviaznikov: check this out: https://github.com/tailrecursion/boot-hoplon/blob/master/src/tailrecursion/hoplon/markdown.clj
my objective there was to use markdown as a general purpose s-expression markup language
like i want to be able to reimplement something like
<<foo bar>> for instance to be something different than what markdown usually does (the french style of quotation)