This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-07-17
Channels
- # announcements (11)
- # beginners (29)
- # calva (2)
- # clara (12)
- # cljsjs (1)
- # cljsrn (7)
- # clojure (39)
- # clojure-europe (6)
- # clojure-nl (7)
- # clojure-spec (6)
- # clojure-sweden (1)
- # clojure-uk (15)
- # clojuredesign-podcast (6)
- # code-reviews (2)
- # conjure (29)
- # cursive (3)
- # datomic (13)
- # duct (15)
- # emacs (1)
- # figwheel-main (2)
- # fulcro (7)
- # graalvm (16)
- # lambdaisland (4)
- # luminus (1)
- # meander (15)
- # observability (15)
- # off-topic (27)
- # parinfer (7)
- # pathom (2)
- # reitit (2)
- # rum (11)
- # shadow-cljs (57)
- # spacemacs (6)
- # sql (56)
- # tools-deps (36)
- # xtdb (3)
@kenny This is how I solved it:
mvn org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file -Dfile=dev-local-0.9.172.jar -DlocalRepositoryPath=s3_m2_repository
aws s3 sync s3_m2_repository
This approach still results in the Download corrupted: Checksum validation failed, no checksums available
warning message though 😞
@drewverlee I have entries like these:
org.slf4j/slf4j-api {:mvn/version "1.7.14" :required-by :datomic-cloud}
hey clj super fans, there is a new version of clj (and tools.deps) out and I'd love to have some people try it and verify no dep tree differences. you can install the latest dev release with:
brew uninstall clojure
brew install --devel clojure/tools/clojure
@U064X3EF3 I expect you know about this
Warning: Calling 'devel' blocks in formulae is deprecated! Use 'head' blocks or @-versioned formulae instead.
Please report this issue to the clojure/tools tap (not Homebrew/brew or Homebrew/core), or even better, submit a PR to fix it:
/usr/local/Homebrew/Library/Taps/clojure/homebrew-tools/Formula/clojure.rb:7
brew breaks things faster than I can fix them
Then I got
==> Downloading
######################################################################## 100.0%
Error: clojure 1.10.1.536 is already installed
To upgrade to 1.10.1.561, run `brew upgrade clojure/tools/clojure`.
==> `brew cleanup` has not been run in 30 days, running now...
and it did not actually upgrade clojure 😐(! 1406)-> clojure -Sdescribe
{:version "1.10.1.547"
:config-files ["/usr/local/Cellar/clojure/1.10.1.547/deps.edn" "/Users/sean/.clojure/deps.edn" ]
Which is not 561
oh, sorry
brew upgrade --devel clojure/tools/clojure
Nope, that doesn't work either.
Error: invalid option: --devel
well then brew uninstall clojure
first
then install --devel
(! 1413)-> clojure -Sdescribe
{:version "1.10.1.561"
:config-files ["/usr/local/Cellar/clojure/1.10.1.561/deps.edn" "/Users/sean/.clojure/deps.edn" ]
Had to uninstall then install --devel
yeah, that's the correct one
the change of note here is I have rewritten how exclusions are handled if the same dep shows up more than once in the dep tree with different exclusion sets. this is uncommon, but possible and most commonly happens by having the dep with exclusions in one place and with no exclusions in another. in the past, what happened was somewhat arbitrary - depending which you first encountered you may get the dep or not.
the updated behavior is that you will get the intersection of exclusion sets from all occurrences, so in the case above you will always get the dep
in the process of implementing this, I've also substantially refactored the deps expansion code to make it easier to work on and comprehend. while those changes should be a no op, I did change a lot of code and well, you know.
so if anyone has time to do a sanity check, that would be cool
also, in the process of checking these changes, it's become clearer to me that -Stree is likely to lie to you about what happened in exclusion cases like the above, because it's based on the lib map, which is an inverted tree that loses exclusion path info. I'm going to rewrite it in terms of the trace data and then it will be both correct but can also include substantially more useful information (akin to tools.deps.graph trace mode). but going to do other work first.
A quick test shows that it doesn't attempt to download any new dependencies for our monorepo so that looks sane.
having a new clj should make everything stale (so effectively -Sforce), but maybe -Sforce too?
I'm running our script that checks for updated versions of deps -- it builds new projects with our deps and then runs -Stree
in those so there no cache. I'll let you know if that turns up any differences.
Looks good. It detected a new version of org.apache.axis/axis
and all the other dependencies remained unchanged.
(that script hammers clojure -Stree
🙂 )
Just for good measure, I blew away the cache folder in every subproject in our monorepo and rebuilt things. No changes in deps as far as I can tell.
Thanks, good to have someone else try it :)
You know me -- always happy to be on the bleeding edge!
I can try this. @seancorfield how did you check for differences? Set diff of classpath?
Just compared -Stree before and after.
But also ran our test suite to see if any new dependencies got downloaded (none).