depstar

Discussion around https://github.com/seancorfield/depstar
zilti 2020-09-10T16:01:13.007300Z

Okay, re the message in #clojure about my error I get, which is the following:

Execution error (FileAlreadyExistsException) at jdk.nio.zipfs.ZipFileSystem/createDirectory (ZipFileSystem.java:695).
/META-INF/versions/9
Full report at:
/tmp/clojure-13855814055111068112.edn
here is my deps.edn file of that project:

zilti 2020-09-10T16:01:13.007400Z

{:deps
 {org.clojure/clojure {:mvn/version "1.10.1"}
  org.clojure/alpha.spec {:git/url "<https://github.com/clojure/spec-alpha2.git>"
                          :sha "d514b06b25c41a676b95afcc9bfac8ca34c5741e"}
  org.clojure/tools.namespace {:mvn/version "1.0.0"}
  org.clojure/tools.cli {:mvn/version "1.0.194"}
  environ/environ {:mvn/version "1.2.0"}
  org.clojure/java.classpath {:mvn/version "1.0.0"}
  org.clojure/core.async {:mvn/version "1.3.610"}
  mount/mount {:mvn/version "0.1.16"}
  org.seleniumhq.selenium/selenium-java {:mvn/version "3.141.59"}
  org.martinklepsch/clj-http-lite {:mvn/version "0.4.3"}
  org.postgresql/postgresql {:mvn/version "42.2.16"}
  com.layerware/hugsql-core {:mvn/version "0.5.1"}
  com.layerware/hugsql-adapter-next-jdbc {:mvn/version "0.5.1"}
  ;; XML parsing
  org.clojure/data.xml {:mvn/version "0.0.8"}
  ;; JSON Parsing
  org.clojure/data.json {:mvn/version "1.0.0"}
  ;; HTML Parsing
  org.jsoup/jsoup {:mvn/version "1.13.1"}
  ;; Scheduled runs
  tea-time/tea-time {:mvn/version "1.0.1"}
  ;; Interface
  hiccup/hiccup {:mvn/version "1.0.5"}
  ring/ring-defaults {:mvn/version "0.3.2"}
  http-kit/http-kit {:mvn/version "2.4.0"}
  metosin/malli {:git/url "<https://github.com/metosin/malli.git>"
                 :sha "fbdb282c410d5c3d7c2d079bd9ee31e1e7956f34"}
  metosin/reitit {:mvn/version "0.5.5"}
  metosin/reitit-ring {:mvn/version "0.5.5"}
  metosin/reitit-malli {:mvn/version "0.5.5"}
  ;; Logging
  com.taoensso/timbre {:mvn/version "4.10.0"}
  raven-clj/raven-clj {:mvn/version "1.6.0"}
  io.sentry/sentry {:mvn/version "1.7.30"}
  ;; runejuhl/clj-journal {:mvn/version "0.2.5-1"}
  com.fzakaria/slf4j-timbre {:mvn/version "0.3.19"}
  org.slf4j/log4j-over-slf4j {:mvn/version "1.7.30"}
  org.slf4j/jul-to-slf4j {:mvn/version "1.7.30"}
  org.slf4j/jcl-over-slf4j {:mvn/version "1.7.30"}
  ;; Output
  ;; java.xml.bind jmod
  javax.xml.bind/jaxb-api {:mvn/version "2.4.0-b180830.0359"}
  com.sun.xml.bind/jaxb-impl {:mvn/version "2.4.0-b180830.0438"}}
 :paths ["src" "resources" "crawlers" "classes"]
 :mvn/repos {"central" {:url "<https://repo1.maven.org/maven2>"}
             "clojars" {:url "<https://repo.clojars.org>"}
             "sonatype" {:url "<https://oss.sonatype.org/content/repositories/snapshots>"}}
 :aliases {:outdated {:extra-deps {olical/depot {:mvn/version "2.0.1"}}
                      :main-opts ["-m" "depot.outdated.main" "-a" "outdated"]}
           :graph {:extra-deps {org.clojure/tools.deps.graph {:mvn/version "1.0.46"}}
                   :main-opts ["-m" "clojure.tools.deps.graph"]}
           :dev {:extra-paths ["test"]
                 :extra-deps {fudje/fudje {:mvn/version "0.9.7"}
                              lambdaisland/deep-diff {:mvn/version "0.0-47"}}}
           :cider-clj {}
           :test {:extra-deps {lambdaisland/kaocha {:mvn/version "1.0.672"}}
                  :main-opts ["-m kaocha.runner"]}
           :uberjar {:extra-deps  {uberdeps/uberdeps {:mvn/version "1.0.1"}}
                     :main-opts   ["-m uberdeps.uberjar"
                                   "--deps-file ./deps.edn"
                                   "--target ./vacancy-crawler.jar"
                                   "--main-class com.sompani.crawler"]}
           :uberjar-depstar {:main-opts ["-m hf.depstar.uberjar"
                                         "vacancy-crawler.jar"
                                         "-C -m com.sompani.crawler"]
                             :jvm-opts ["-Dclojure.compiler.direct-linking=true"
                                        "-Dclojure.spec.skip-macros=true"]
                             :extra-paths ["classes"]
                             :extra-deps {seancorfield/depstar {:mvn/version "1.1.104"}}}}}
It worked fine until yesterday, on my local machine it even also worked today, until it suddenly didn't anymore

ghadi 2020-09-10T16:02:32.007700Z

what was your clojure invocation?

zilti 2020-09-10T16:03:26.008400Z

First I compile my project classes, then clojure -Spom, then it is just a clojure -A:uberjar-depstar

seancorfield 2020-09-10T17:32:37.010500Z

@zilti Strange that it should "magically" stop working after it had been working just fine... can you create an issue at https://github.com/seancorfield/depstar with the above deps.edn and also the full stacktrace file (the /tmp/clojure*.edn stuff that it put the full report in)?

seancorfield 2020-09-10T17:33:42.011800Z

Could you delete vacany-crawler.jar and try the command again? If it works, run it again to check it works a second time? (to eliminate whether having the JAR exist is an issue)

seancorfield 2020-09-10T17:40:28.013Z

(the createDirectory call should be safe to call multiple times on the same path so I'm not sure how/why it would fail as already existing)