Fork me on GitHub
#tools-deps
<
2020-01-17
>
Alex Miller (Clojure team)03:01:11

tools.deps.alpha 0.8.264 and clj 1.10.1.496 are now available.

Alex Miller (Clojure team)03:01:17

The main change in this is that support for s3 maven repos has been completely replaced and is now using a new impl of the Maven resolver transporter API based on the cognitect aws-api. The old version used the transporter-wagon adapter, the unmaintained spring s3 wagon, and the AWS Java SDK. Those deps have been happily dropped on the floor, and all other deps were bumped as well. Support for some newer AWS credential sources may be better, particularly when running on AWS. Also, you can explicitly set the s3 bucket region in your deps.edn like {:mvn/repos {"my-bucket-repo" {:url ""}}} - this is a feature of this transporter, not a general AWS thing.

👍 16
Alex Miller (Clojure team)03:01:43

The intention here is that any existing use of an s3 maven repo should continue to work as it did before. If you find that not to be the case, please let me know! It has been tested in a number of configurations by several people, but you know how it goes.

Alex Miller (Clojure team)03:01:17

tools.deps tool makers may want to do a quick check as this version has some significant transitive dependency differences (hopefully mostly for the better!)

Alex Miller (Clojure team)03:01:33

docs have not yet been updated, but I'll do that tomorrow

tianshu04:01:25

How can I get my clojure cli version? I usually install with system package manager, It only shows the version of Clojure.

Michaël Salihi07:01:16

To get the clojure cli verison without launching the REPL as clj -Sverbose do, you can also use clj -Sdescribe. @alexmillerRight ?

slipset07:01:33

I was wondering about the version thing the other day as well, and tried to invoke clj --version which printed the help-text, which I failed to parse (ie I didn’t understand that Print important path info to console meant “and also print version”

slipset07:01:54

Would it be a nice addition to print the version string in the help-text as well?

slipset07:01:22

looking through clojure/brew-install this should be simple enough, but is there a Jira project for this project where one might submit a patch?

Alex Miller (Clojure team)14:01:51

you can use TDEPS for tickets, but I just added it to the repo

slipset15:01:16

Thanks 🙂

slipset15:01:22

Have a great weekend!

rschmukler18:01:52

Hey all! I'm looking to publish a library on clojars with a deps.edn file that specifies a :git/url based dependency. I realize that this won't work with a pom.xml - does tools-deps find transitive dependencies using a deps.edn files in addition to pom.xml files?

Alex Miller (Clojure team)19:01:28

Yes, both, prefers deps.edn

Alex Miller (Clojure team)19:01:39

Or rather will use exactly one but can be either

borkdude18:01:27

@slipset there's also:

$ clojure -Sdescribe
{:version "1.10.1.496"
,,,}

4
seancorfield19:01:50

@borkdude Are any of these differences between deps.clj and the regular clojure script of any concern?

PS C:\Users\sean\clojure\cool> deps -Sdescribe
{:deps-clj-version "0.0.6"
 ...
 :config-files ["deps.edn" "C:\\Users\\sean\\.clojure\\deps.edn" "deps.edn"]
 :config-user "C:\\Users\\sean\\.clojure\\deps.edn"
 ...
 :install-dir nil
 ...
 :force ""
 :repro ""
 ...}
PS C:\Users\sean\clojure\cool> clojure -Sdescribe
{...
 :config-files ["C:\Users\sean\scoop\modules\ClojureTools\deps.edn" "C:\Users\sean\.clojure\deps.edn" "deps.edn"]
 :config-user "C:\Users\sean\.clojure\deps.edn"
 ...
 :install-dir "C:\Users\sean\scoop\modules\ClojureTools"
 ...
 :force False
 :repro False
 ...}

seancorfield19:01:43

:config-files seems odd with deps.edn in there twice (and :force/`:repro` seem to be "" but that's truthy?)

seancorfield19:01:26

(I can understand :install-dir being nil since deps.clj is self-contained)

borkdude19:01:09

yes, that's the reason why install-dir is nil. the rest can be fixed if it's bothering anyone. also the escaping seems different?

borkdude19:01:02

I think False may be coming from Powershell? it doesn't seem like something cmd.exe would produce

borkdude19:01:57

should probably read boolean

seancorfield19:01:09

The macOS/Linux version shows:

:force false
 :repro false

seancorfield19:01:20

False is just PS's version of false 🙂

borkdude19:01:53

I'll make an issue for this. It doesn't seem something that's very urgent, but I'll fix it

seancorfield19:01:28

I assumed the \\ was due to being produced by Clojure/Java, whereas \ is native PS (or cmd).

borkdude19:01:44

yeah, this is produced using pr instead of bash

seancorfield19:01:07

I guess :config-files is no longer used by any tooling so it doesn't matter -- it just looked odd with deps.edn in there twice.

borkdude19:01:42

yeah, might be indicative of a small bug somewhere.

borkdude19:01:44

I basically did the naive thing and ported bash straight into clojure without really think hard 🙂

seancorfield19:01:25

deps is a great option on Windows -- much appreciated!

borkdude19:01:03

https://github.com/borkdude/deps.clj/issues/7 if you think this is fun, I also take PRs. there are build / dev instructions in the other open issue.

Alex Miller (Clojure team)19:01:57

Yeah Sean, get off the bench and help out for a change! ;)

borkdude19:01:51

btw bb.exe is now a thing on Windows so you can execute the deps.clj script as well (so you can tweak it in Notepad++)

borkdude19:01:36

(I'll now stop the shameless promotion of my tools for the rest of the day)

rschmukler19:01:42

Looking through the source it doesn't look like transitive deps.edn files are supported in jars... Would a PR be welcome that adds this to the local resolver? similar to how find-pom works currently?

Alex Miller (Clojure team)20:01:51

deps.edn in jars is not a thing

Alex Miller (Clojure team)20:01:13

and if I wanted to make it a thing, I'd try to design that first

dominicm20:01:44

What would designing that look like, or do you mean that you would design it?

Alex Miller (Clojure team)20:01:54

like designing anything else - starting with goals, thinking about alternatives, examining their tradeoffs, making decisions, implementing

Alex Miller (Clojure team)20:01:06

I don't have time to go down that path atm