Fork me on GitHub
#tools-deps
<
2020-09-22
>
Alex Miller (Clojure team)02:09:10

clj 1.10.1.693 (prerelease) is now available: • Classpath ordering changes. Classpath will always now be ordered extra-paths, paths, then libs. Libs are ordered by tree depth, then alpha. These changes both revert some ordering changes in the last stable release and go further in defining a reproducible classpath order. • clj -Stree re-enabled for now while we decide on best way to convey classpath-changing options to -Stree and -Spom • Windows scripts updated to latest • This prerelease version should be considered a release candidate for the next stable version! If you try it and have feedback, please leave it here

seancorfield03:09:26

@alexmiller I assume the -Stree restoration is because of this difference?

[email protected]:/var/www/honeysql$ clojure -Stree
org.clojure/clojure 1.10.1
  org.clojure/spec.alpha 0.2.176
  org.clojure/core.specs.alpha 0.2.44
[email protected]UJ1N:/var/www/honeysql$ clojure -X:deps tree
org.clojure/clojure 1.10.1
  org.clojure/core.specs.alpha 0.2.44
  org.clojure/spec.alpha 0.2.176
org.clojure/tools.deps.alpha 0.9.799
  javax.inject/javax.inject 1
  com.cognitect.aws/api 0.8.408
    org.clojure/data.json 0.2.7
    commons-codec/commons-codec 1.13
    ... lots more stuff ...

Alex Miller (Clojure team)04:09:46

yes, but that's just a symptom of the greater problem, which is how to convey classpath changing arguments to tools like pom and tree without doing it through clj's args

Alex Miller (Clojure team)04:09:18

Datomic's ion-dev has the same need (for lib bundling)

Alex Miller (Clojure team)04:09:44

so we're looking at something common for all these but don't want to gate on figuring that out

Alex Miller (Clojure team)04:09:29

The -X:deps tree stuff is going to have more features over time for other variants of viewing the tree etc

seancorfield05:09:23

Interesting. Thanks, Alex.

dominicm10:09:32

I thought that the corfield comma was documented on https://clojure.org/guides/faq but it seems not. Is it documented on the site somewhere? It would be useful for the http://nrepl.org docs to link to as it is tripping users up.

sogaiu11:09:26

in #parinfer we were talking about use of the comma recently for a variety of things: https://clojurians-log.clojureverse.org/parinfer/2020-09-14/1600045197.010800

ghadi19:09:09

how do people handle bumping the version inside pom.xml with minimal effort?

ghadi19:09:36

i'm not beneath sed but I was hoping for something intelligent

Alex Miller (Clojure team)19:09:19

I've done manual, various Maven plugins, sed

Alex Miller (Clojure team)19:09:49

the contrib projects actually have this done automatically via Jenkins Maven integration

seancorfield19:09:14

I edit it manually as the last step of preparing for a release -- and I edit both the <version> and the <tag> entries to be consistent (the latter just has v at the beginning). I tend to do a global find for a regex that captures the current release, the new (planned) release, and my generic placeholder (e.g., 1.1.next) which I may tag new functionality with in the readme, docs, code, and change log. Then I just work my way through those find results one at a time, and I can eyeball that all matches correctly refer to the new release and the old release as needed.

seancorfield19:09:04

(so I might search for 1\.\1.(next|588|623) for example)

vlaaad19:09:57

Ugh, why not just create pom.xml from some tdeps-generated inputs?

vlaaad19:09:04

Bumping the version will be a different arg to a pom-generating fn

borkdude20:09:45

@ghadi clojure.data.xml is included in bb, I've done XML rewriting with that

borkdude20:09:48

(here's a script for getting the version out of a pom.xml: https://github.com/borkdude/babashka/blob/master/examples/pom_version.clj)

😎 3
hugod20:09:33

makejack updates the pom based on a :version tag in a project.edn file. I haven’t got a task to bump the version yet.

ghadi20:09:34

sed it is

Alex Miller (Clojure team)20:09:38

in case it saves you any time... (made for Mac sed)