Fork me on GitHub
#tools-deps
<
2018-06-28
>
darnok10:06:32

I'd like to use :local/root to tie up my dependent projects in the monolith repo, but I have an issue with one of the dependencies. It has one Java source file. Can you recommend, how to handle this?

Alex Miller (Clojure team)11:06:15

Well one solution is to move it into its own project and make an artifact

darnok11:06:42

I thought that it would need to be resolved like this. Thanks 🙂.

dottedmag14:06:02

@alexmiller ^ is this an intentional behaviour?

Alex Miller (Clojure team)14:06:44

there’s a ticket, send me a patch :)

Alex Miller (Clojure team)14:06:09

I just haven’t gotten to it yet

Alex Miller (Clojure team)14:06:58

actually, maybe nobody made a ticket so feel free to make one in https://dev.clojure.org/jira/browse/TDEPS

pesterhazy14:06:05

yeah, the "problem" I reported a few days back was because the alias wasn't properly configured; a simple name check would caught this

bhauman14:06:50

I think my use of the word extremely was extremely extreme

seancorfield15:06:46

It's bitten me a couple of times so I'll vote that ticket 🙂 but it hasn't bitten me hard/often enough for me to summon up the energy to create such a ticket...

hagmonk16:06:44

today in #tools-deps: extremely extreme bugs! do they bite hard and often enough for a ticket? do they come from the Australian mainland? only jira can tell!

4
hagmonk16:06:55

(clearly this channel is where all the action is at)

Alex Miller (Clojure team)16:06:40

if no else patches I’ll get to it when I next work on TDEPS

bhauman16:06:07

Thanks Alex!

seancorfield16:06:38

Yes, thank you, Alex!

kenny21:06:04

Why is the clojure CLI written in bash instead of Python or Node?

dominicm21:06:27

@kenny because shell is universally available and python/node isn't.

dominicm21:06:51

Hopefully it can be ported to POSIX shell without any bash, that would be a nice improvement 🙂

kenny21:06:51

Why do you say Python and Node aren't universally available?

dottedmag21:06:27

[email protected]:~# python
-ash: python: not found
[email protected]:~# node
-ash: node: not found
[email protected]:~#

💯 4
dominicm21:06:29

@kenny because they're less likely to be installed than bash.

dottedmag21:06:46

Even if they were, what'd be the point? clojure(1) is trivial.

kenny21:06:07

Installing Python/Node is trivial. Point is you get a script that is portable to any OS.

dottedmag21:06:13

@dominicm clojure uses arrays from Bash. Not trivially convertable.

dottedmag21:06:30

Also that means testing the script under several implementations (busybox, dash and bash at least). Not worth it.

dominicm21:06:04

@dottedmag that's unfortunate. Although I did stumble onto https://github.com/Ventto/libshlist recently.

dominicm21:06:34

I personally am ready to remove bash for all but clojure on my system. I use dash & fish primarily.

Alex Miller (Clojure team)21:06:37

because I wrote it and I don’t like Python or JS :)

Alex Miller (Clojure team)21:06:37

for whatever reason, I just don’t get Ruby.

dominicm21:06:11

Oh really? Oh I was not expecting that response. I suppose you're not from the ruby shop that's associated with Clojure 😛. You strike me as a perl guy? 😉

dominicm21:06:20

(I'll just keep guessing acting like I knew the whole time...)

dottedmag21:06:24

I feel this is the exactly the kind of conversations that cause Codes of Conduct written which precludes snarky remarks and personal attacks.

Alex Miller (Clojure team)21:06:30

I have used all of these languages profesionally

dottedmag21:06:07

@dominicm The point of clojure is to just work. Anywhere. Without installing anything.

Alex Miller (Clojure team)21:06:19

and I respect people that like and use all of them

dottedmag21:06:38

The script itself is trivial. There is no gain from using any other language.

dominicm21:06:43

@dottedmag just to be clear, I actually hold no contempt for any of these languages. I feel like I have a fairly good grasp of where each one is pretty good. I agree. I don't actually think ruby is suited here.

Alex Miller (Clojure team)21:06:01

bash is about as lingua franca as it gets these days

👍 4
hagmonk21:06:03

bash is far and away the lowest common denominator on Unix-ish systems, with the possible exception of sh, which on many distros just links to bash.

hagmonk21:06:43

it absolutely sucks, but if your goal is maximum multi-year portability, there's no other viable alternative

dominicm21:06:19

bash isn't so bad.

Alex Miller (Clojure team)21:06:32

I’ve grown to almost like it

dominicm21:06:32

I wrote a whole panel in bash.

dottedmag21:06:46

This discussion already amounts to 30% of the size of clojure(1).

Alex Miller (Clojure team)21:06:56

having done the windows port to powershell, that wasn’t bad either

dottedmag21:06:20

@alexmiller Oh, there is PowerShell one? In the same repo?

Alex Miller (Clojure team)21:06:29

it’s on a branch I think

hagmonk21:06:35

there's a team at work that has >100k written in bash, with strict coding guidelines and practices it can work. You can grow to like many things if you immerse yourself in their idiosyncrasies :)

dottedmag21:06:34

Found it, thanks

dottedmag21:06:46

Yeat, it beats cmd

Alex Miller (Clojure team)21:06:29

it’s kind of like if you took bash and applied sane engineering to it

dottedmag21:06:49

And isane amount of syntax, but oh well.

hagmonk21:06:06

heck, powershell does autocomplete of function arguments on the command line. It's kinda impressive

kenny21:06:28

Why not use ClojureScript compiled to Node?

dominicm21:06:40

@kenny because node isn't always installed!

kenny21:06:52

It is trivial to install.

hagmonk21:06:10

@kenny the goal is not to install anything except what is required to bootstrap clojure

Alex Miller (Clojure team)21:06:16

stop trying to oppress me man

hagmonk21:06:29

this coming from a man comfortable writing all day in bash :)

👍 4
Alex Miller (Clojure team)21:06:41

the water’s fine, come on in

dominicm21:06:47

@hagmonk (and any others) I just pushed up 857bbc85c33b23b5f8e51d68eb724776564d9c16 to juxt/pack.alpha which adds skinny jar support, it spits it out in multiple forms based on the parameters. Any feedback welcome!

👍 4
dominicm21:06:18

@hagmonk let me know if this works for you btw.

dominicm21:06:54

I don't really have a concrete use case myself yet, so I'm guessing at things a little.

hagmonk21:06:46

yeah for sure, I'll poke at it when I get a chance!

dominicm15:06:35

I had to do a little bump, having : in filenames doesn't go well with classpaths, 800afc066907e31fe90ce4df4f519e6224116867 is the latest commit

dominicm15:07:44

@hagmonk Did you get any time to see if this looks good to you? 😄

hagmonk23:07:52

Sorry @dominicm, haven't forgotten, but I've been crushed at work lately :/

dominicm05:07:23

Not at all. Entirely when you get some spare time. 😊

dominicm21:06:08

It's in alpha-alpha, as it's not in master yet, I'll be rebasing at some point, but I won't force push over those commits.

hagmonk21:06:13

I can't, I didn't quote that string properly and so I dived into an empty pool

dottedmag21:06:01

@hagmonk rm -rf "${PREFIX}/${SHAREDIR}". Guess what happened? True story.

😱 4
kenny21:06:35

Make Node required to bootstrap Clojure.

🙃 4
gfredericks21:06:40

on the off-chance that you're not trolling, that would be way too much friction

dottedmag21:06:37

@hagmonk Postinstall script in a Linux package. Root privileges.

😱 8
hagmonk21:06:29

Truly a trap for young players, right there … a mistake you never forget :)

hagmonk21:06:06

So quick story time about the clojure installer being written in bash: the other day I was mucking with Homebridge on a raspberry pi, and needed to do some interrogation of a web API. In five minutes I had a Clojure REPL up with rebel readline, it was great. Had the installer required ruby, python, perl, etc, I would have had to dive into the Pi's package management and pull a ton of unrelated crap down, just to get a REPL. Had clojure needed a version of nodejs that was in any way incompatible with homebridge, I would have immediately faced the problem of juggling multiple npm versions. An example of the leverage you get from picking the unsexy, boring, lowest common denominator for bootstrapping tools

✔️ 16
dottedmag21:06:48

Does PowerShell come preinstalled on Windows nowadays?

hagmonk21:06:59

I do believe so