tools-deps

Discuss tools.deps.alpha, tools.build, and the clj/clojure command-line scripts! See also #depstar #clj-new
alexmiller 2020-09-22T02:26:10.030500Z

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

seancorfield 2020-09-22T03:20:26.031400Z

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

seanc@DESKTOP-QU2UJ1N:/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
seanc@DESKTOP-QU2UJ1N:/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 ...

alexmiller 2020-09-22T04:02:46.032400Z

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

alexmiller 2020-09-22T04:03:18.032900Z

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

alexmiller 2020-09-22T04:03:44.033400Z

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

alexmiller 2020-09-22T04:10:29.035200Z

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

seancorfield 2020-09-22T05:19:23.035500Z

Interesting. Thanks, Alex.

dominicm 2020-09-22T10:59:32.038500Z

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.

2020-09-22T11:05:33.040100Z

not as corfield comma, but there are these: https://clojure.org/guides/weird_characters#_whitespace_character https://clojure.org/reference/reader#_maps (2nd bullet point)

2020-09-22T11:07:26.040600Z

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

ghadi 2020-09-22T19:17:09.041900Z

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

ghadi 2020-09-22T19:17:36.042300Z

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

alexmiller 2020-09-22T19:22:19.042800Z

I've done manual, various Maven plugins, sed

alexmiller 2020-09-22T19:22:49.043400Z

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

seancorfield 2020-09-22T19:29:14.047100Z

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.

seancorfield 2020-09-22T19:30:04.047700Z

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

vlaaad 2020-09-22T19:55:57.047800Z

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

vlaaad 2020-09-22T19:57:04.048Z

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

borkdude 2020-09-22T20:00:45.048900Z

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

borkdude 2020-09-22T20:04:48.049700Z

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

😎 1
2020-09-22T20:06:33.050800Z

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.

ghadi 2020-09-22T20:07:34.051100Z

sed it is

alexmiller 2020-09-22T20:09:38.052Z

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