(toiminnot)

hwechtla-tl: Redo

Kierre.png

Mikä on WikiWiki?
nettipäiväkirja
koko wiki (etsi)
viime muutokset


Redo on D.J. Bernsteinin kehittämä tiedostogeneroinnin automaatiojärjestelmä, ja sellaisenaan vaihtoehto esim. Unixin make-komennolle. Oikeastaan se ei ole kovin kummoinen järjestelmä, vaan rajapinta/avuke, jolla skriptit voivat kutsua toisiaan ehdollisesti, eli vain siinä tapauksessa, että seuraavaa skriptiä "tarvitsee" kutsua. Sille on tehty viimeisten kymmenen vuoden aikana neljä toteutusta: Alan Grosskurthin sh-toteutus, Avery Pennarunin Python-toteutus, Jonathan de Boyne Bollardin C++-toteutus ja Nils Dagsson Moskoppin sh-toteutus. Huhhuh.

redo vaikuttaa hienolta, mutta vähän ärsyttää se, että konfiguraatiotiedostoja on niin paljon, ja sitten olen aika varma, että konfiguraatiotiedostojen suorittaminen sh:lla johtaa samanlaisiin tehokkuusongelmiin kuin esim. sysvinit-skriptien kanssa. Toisaalta, kaiken voi tehdä yhdessä default.do-tiedostossa, mutta sitten siitä tulee riippuvuus kaikille ohjelmille. Redossakaan ei ole mitään keinoa päätellä, onko jokin tiedoston osa vanhentunut eikä tapaa lisätä riippuvuutta vain tiedoston osalle.

redo-stamp (joka on osa redo-ohjelmaa) yrittää tehdä sen, mistä olen haikaillut maken suhteen, eli sillä voi toteuttaa omia sääntöjä sille, onko jokin kohde vanhentunut vai ei. redo-stamp hoitaa tämän kyllä vähän oudosti päin: kohde rakennetaan joka tapauksessa ja sitten katsotaan, päivittyikö se oikeasti. Jos päivittyi, kaikki siitä riippuvat kohteet vanhentuvat. Eli jos haluaa tutkia jonkin lähteen päivittymistä, sille pitää tehdä pseudokohde, jonka "tuottaminen" käyttää redo-stampia vertaamaan vanhaa ja uutta sisältöä.

kategoria: työkalut


kommentoi (viimeksi muutettu 15.03.2015 20:29)