[HN Gopher] Just: A Command Runner
       ___________________________________________________________________
        
       Just: A Command Runner
        
       Author : tnorthcutt
       Score  : 61 points
       Date   : 2023-01-09 20:46 UTC (2 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | xwowsersx wrote:
       | The manual appears to be busted. The installation docs at
       | https://just.systems/man/en/chapter_2.html#installation just (ha)
       | shows an empty page.
        
         | Jtsummers wrote:
         | Try going to the subsections inside of Installation.
         | 
         | https://just.systems/man/en/chapter_4.html
        
           | xwowsersx wrote:
           | Ah thank you
        
         | JacobLinney wrote:
         | I believe this is just due to how they're parsing the README.md
         | on https://github.com/casey/just. (Though this should probably
         | still be updated)
         | 
         | The installation section has no direct body, but there are
         | subheaders with the actual instructions.
         | 
         | Ex. https://just.systems/man/en/chapter_3.html
        
       | simonw wrote:
       | I've been using this for about six months now and I absolutely
       | love it.
       | 
       | Make never stuck for me - I couldn't quite get it to fit inside
       | my head.
       | 
       | Just has the exact set of features I want.
       | 
       | Here's one example of one of my Justfiles:
       | https://github.com/simonw/sqlite-utils/blob/fc221f9b62ed8624... -
       | documented here: https://sqlite-
       | utils.datasette.io/en/stable/contributing.htm...
       | 
       | I also wrote about using Just with Django in this TIL:
       | https://til.simonwillison.net/django/just-with-django
        
         | rcarmo wrote:
         | You don't need to use all of make's features (I've been using
         | it for something like 30 years and still can't fathom sets of
         | it). But TBH I just don't see anything in those Justfiles I
         | couldn't do with make without needing to do anything special...
        
           | 0cf8612b2e1e wrote:
           | Getting the list of make targets by default is pretty nifty.
           | As is not having to preface everything with PHONY.
           | 
           | Do any of these make alternatives reinvent the paradigm? No,
           | but they do offer some quality of life improvements I wish
           | were within reach without jumping through hoops.
        
           | simonw wrote:
           | I'm sure you can do that stuff with Make. Like I said though,
           | I have tried and failed to get Make to stick for me in the
           | past.
           | 
           | Maybe it's just that my brain has such a strong negative
           | reaction to that PHONY hack that I was never able to get past
           | it.
           | 
           | Maybe Just's tagline should be "it's Make, but you don't have
           | to remember what PHONY means".
        
       | velcrovan wrote:
       | One of the listed benefits of just is "Recipes can be listed from
       | the command line."
       | 
       | There is a nice trick that gives makefiles this ability:
       | http://marmelab.com/blog/2016/02/29/auto-documented-makefile...
       | 
       | Adding .PHONY targets and so forth is a bit inelegant, but I can
       | share a makefile with confidence that any Linux/Mac OS/BSD user
       | can use it without needing additional software, and I will never
       | have to worry about make becoming unavailable or no longer
       | maintained. Just my personal opinion.
        
         | rcarmo wrote:
         | Actually, I did a hack that does that too (this one is nicer,
         | though). I can't find mine offhand (too many makefiles), but it
         | is also a Makefile target that runs grep -B1 on the Makefile
         | itself and spits out each target's name and the comment I
         | usually add to it... And my Makefile template uses .env files
         | too... I think I cover most of the list in my day-to-day use.
        
       | user3939382 wrote:
       | These issues are part of my daily work. I've started converting
       | the make targets/commands to shell scripts because the hacks and
       | ugliness that you have to do to provide make with arguments isn't
       | worth it. It seems like the more advanced shell features you want
       | to use in a makefile, the more make gets in your way.
       | 
       | Not that I fault it. It's supposed to be for making programs
       | hence the name. We're abusing it by turning into a script
       | collection.
        
       | rcarmo wrote:
       | As someone who _extensively_ uses Makefiles everywhere to speed
       | up things (why bother remembering how to start a server in a
       | particular language when "make serve" will work anywhere), I
       | almost understand why this exists, but then I remember that make
       | is available everywhere and has tab auto completion and I have to
       | wonder why...
        
         | chungy wrote:
         | Pretty much my reaction too. Seems like Make, reinvented.
        
       | akdor1154 wrote:
       | I've come across this a few times, it seems to cope very well
       | with all the things I'm abusing Make to do. I'm hesitant to add
       | niche tooling requirements to my projects though.
       | 
       | Can anyone comment with their experience using this? (in
       | particular the social ramifications)
        
         | rcarmo wrote:
         | Well, let me put it this way: I never use a tool that isn't
         | bundled with the OS or the runtime I'm developing for, because
         | I don't want my environment to be a special snowflake (and I
         | develop stuff on Linux and macOS, with essentially the same CLI
         | tools).
        
       | 0cf8612b2e1e wrote:
       | What would it take to unseat Make? Make is installed everywhere,
       | so it is really hard for me to justify leaning on new tooling.
       | Make is ok, but it has enough deficiencies that I longingly look
       | at tools like this.
        
       ___________________________________________________________________
       (page generated 2023-01-09 23:00 UTC)