tools-build

2022-10-22T17:33:09.880549Z

is there a way to deal with case sensitive .class files in the uber task on Windows? I'm trying to use Apache Ignite Smack 4.4.6 and there is a conflict <https://github.com/igniterealtime/Smack/tree/4.4.6/smack-core/src/main/java/org/jivesoftware/smack/provider> both IQProvider.class and IqProvider.class exist in the same folder and both are required in the final jar I believe tools.build explodes jars into a temp directory, and by default Windows dirs will be case insensitive. it seems lots of Java tools are copying files between jars without touching the filesystem, so they avoid this issue I guess

Alex Miller (Clojure team) 2022-10-22T17:56:25.378139Z

I don't think there's an easy way to deal with that atm but I think skipping the file system is at least a mode I want to explore more

🙏 1
2022-10-22T18:01:46.109319Z

thanks. I will try to get them to release a new version with the fix on their side

Alex Miller (Clojure team) 2022-10-22T18:24:08.709619Z

Seems like a bad idea to have that :)

👆 1
Karol Wójcik 2022-10-22T17:40:41.911229Z

Hi, Noob question here. How to include resources into uberjar?

(defn uber [_]
  (b/copy-dir {:src-dirs ["src" "resources"]
               :target-dir class-dir})
  (b/compile-clj {:basis basis
                  :src-dirs ["src"]
                  :class-dir class-dir})
  (b/uber {:class-dir class-dir
           :main 'example-project.core
           :basis basis
           :uber-file ".holy-lambda/build/output.jar"}))

lukasz 2022-10-22T17:53:08.364269Z

That seems correct, here's what works for me: https://gist.github.com/lukaszkorecki/2cc5f46f90df8947327da3532d59c499

Karol Wójcik 2022-10-22T18:10:24.891519Z

facepalm right, works like a charm! Thank you @lukaszkorecki!

👍 1