Giter Club home page Giter Club logo

Comments (3)

laniakea64 avatar laniakea64 commented on July 30, 2024 1

While waiting for just dev to respond, here's a possible workaround example: a recipe foo that only needs to run if files a.txt and b.txt have different checksums since last run -

foo:
	#!/bin/bash
	job=foo
	sha256sums={{quote(justfile_directory() / '.sha256sums-') + '"$job"'}}
	dependencies='a.txt b.txt'
	if [[ -f "$sha256sums" ]] && sha256sum --status -c "$sha256sums" ;then
	  echo "Job '$job' is up-to-date"
	  exit 0
	fi
	sha256sum $dependencies > "$sha256sums"
	echo "Running job '$job'..."

(This example assumes files a.txt and b.txt always exist.)

from just.

casey avatar casey commented on July 30, 2024

I think this is a dupe of #867, have a look.

from just.

qtfkwk avatar qtfkwk commented on July 30, 2024

I created https://crates.io/crates/mkrs primarily for this reason (and to write the Makefile in markdown); it seems like the same approach may not fit in just's design. Mkrs distinguishes between file and non-file targets, and runs the recipe for a file target if -B (force processing), file does not exist, or is outdated (any of target's source files are newer than the target file). Please feel free to use as it as a reference. Thanks!

from just.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.