Fork me on GitHub
Drew Verlee01:06:01

if i was translating a boot build to a tools one, then the equivelent of boot's would be tools build's right?

compile-clj: Compile Clojure source to classes in :class-dir.

aot: Perform AOT compilation of Clojure namespaces.
the compiled clojure source to classes that compile-clj produces are aot complied right. That's what the process means as far as i understand: > Ahead-Of-Time (AOT) compilation allows the compilation of Java™ classes into native code for subsequent executions of the same program

Drew Verlee18:06:44

why does "skip" :src-dir value that points to cljc files? that's how i understand this message that's produced when i run the build e.g clj -T:build uber

Skipping paths: src/cljc


write-pom takes the first path it finds in the basis and treats it as the source directory in pom.xml and it ignores the second and subsequent paths -- that's what that message is saying.


(mostly it's to ensure you don't have ["resources" "src"] as your :paths as I recall)

Drew Verlee18:06:16

another question, unrelated to the one above. the logic for the build (what the guide puts in build.clj) isn't on the src path for the projects deps file. Is there a way to send those expressions to a clojure repl so you can do RDD? Maybe it's just a matter of having an alias like "build-dev" and then putting the build logic on a path :extra-paths ["builds"] with builds/build...


@drewverlee You can do :extra-paths ["."] and launch a repl with the :build alias

👍 1
Drew Verlee18:06:45

another another question 🙂 The final step/function of my uberjar build fails uber. I expected to see a <file>.jar on the provided classpath class-directory but there is nothing. There isn't any warnings or errors that i see. I'll post here if i find anything interesting as i try to figure out how to produce the jar correctly.


It's generally going to be in the target folder unless you've told it somewhere else.


Not sure what you mean by "provided classpath".

Drew Verlee18:06:09

i meant to say :class-dir /class-directory


What are you specifying for :uber-file in your uber call?

Drew Verlee18:06:11



Per the guide:

(def class-dir "target/classes")
(def basis (b/create-basis {:project "deps.edn"}))
(def uber-file (format "target/%s-%s-standalone.jar" (name lib) version))
The uberjar will be written to the target folder, not target/classes.


OK, so with just that :uber-file, you should see it in the root of your project (where you run clojure from).

Drew Verlee18:06:52

correct, that's where it is. ugh

Drew Verlee18:06:16

thanks! I should have looked harder, i guess i was just expecting a weirder problem!