Questions tagged [shake-build-system]

Shake is a Haskell library for writing build systems - designed as a replacement for make.

Shake is a Haskell library for writing build systems - designed as a replacement for make. Website at https://shakebuild.com/.

127 questions
0
votes
0 answers

Shake script for detecting special filenames

I have a folder that I'd like to monitor. Whenever there's filenames containing non alphanumeric characters, I'd like to rename them. How could I write a shake rule to express this?
daydaynatation
  • 550
  • 2
  • 8
0
votes
1 answer

Correct way to start a service, if it is not running using shake-build?

My build process requires access to various services, such as, Postgres, Redis, and ElasticSearch. Taking Postgres as an example, I wrote the following "oracle": data PostgresVersion = PostgresVersion deriving (Show, Typeable, Eq, Hashable, Binary,…
Saurabh Nanda
  • 6,373
  • 5
  • 31
  • 60
0
votes
1 answer

shake build: read filepath list from config file

I have a config.cfg file where a the variable file_list is a list of relative path to files file_list = file1 dir1/file2 ../dir2/file3 How do I read this variable in to get a file_list::[FilePath]? Tried to follow the Development.Shake.Config API…
0
votes
2 answers

Haskell Shake build: how can I set up a shared cache folder using shakeShare and/or shakeCloud?

I understand this is a new feature being worked on for GHC's Hadrian build system, so the workflow might be advanced, oddly specific, or still evolving. I read these so far: docs/Cloud.md Exploring Cloud Builds in Hadrian It sounds like it should…
jefdaj
  • 2,025
  • 2
  • 21
  • 33
0
votes
1 answer

Shake not rebuilding when source file changes

I am using Shake to build lilypond files, which are then being put into a webpage. I tried to model my Build.hs after the first example in the manual: import Development.Shake import Development.Shake.Command import Development.Shake.FilePath import…
Xavier Shay
  • 4,067
  • 1
  • 30
  • 54
0
votes
1 answer

Can I "force" parallel execution of dependent targets?

Say I have a target A that depends on B, but I can run A and B in parallel. Is this possible with Shake? It seems like need ... makes actions sequential which totally makes sense, of course, but this is a "special" case.
insitu
  • 4,488
  • 3
  • 25
  • 42
0
votes
2 answers

A phony target for sending a file via e-mail?

I would like to execute a command that takes a specific file in the project (building it as necessary) and sends it somewhere externally. For example, it may be a command that uploads a web page, or sends an e-mail. It may even write some additional…
Ignat Insarov
  • 4,660
  • 18
  • 37
0
votes
1 answer

How to track "runtime" dependencies with shake?

I would like to extend our shake-based build system to include running integration tests, however running those tests require firing up some docker containers on which the tests depend and which may or may not be rebuilt as part of the build…
insitu
  • 4,488
  • 3
  • 25
  • 42
0
votes
1 answer

Tracking compiler flags within a Shake Action

I need to track compiler flags used as part of a rule, e.g when supplied as arguments to a function. Does Shake have a way to track such flags as inputs in the same vein as need? As a trivial example, I would like for Shake to rebuild all .o files…
Neil Mitchell
  • 9,090
  • 1
  • 27
  • 85
0
votes
1 answer

.shake.database: openFile: resource busy (file is locked)

I encounter the error .shake.database: openFile: resource busy (file is locked) and I have the impression that it is caused by two starts of shake quickly one after the other (caused by Twitch watching file change effects). Is this a reasonable…
user855443
  • 2,596
  • 3
  • 25
  • 37
0
votes
1 answer

How to remove dependent files produced with shake if the source file is deleted

Using shake for a website generator, I encounter the already known problem of how to remove produce files when the source has been deleted. It seems to be difficult in general, but are there solutions for the specific case that a html is produced…
user855443
  • 2,596
  • 3
  • 25
  • 37
0
votes
1 answer

shake build: how to deal with case where the needed file are discovered later

I use shake to build a website (with pandoc). When files are converted to pandoc, other files (css, bibliography, templates, etc.) may be needed, but shake does not know it, because it is internal to the pandoc calling function and the information…
user855443
  • 2,596
  • 3
  • 25
  • 37
0
votes
1 answer

Lift an operation in ErrIO to Action in shake

I use shake but the operations I call are in an ErrIO and not in the IO monad. How can I lift such operations into the Action monad. I could runErr and get and Either value and then call throwIO or liftIO (depending on the result). Is this the…
user855443
  • 2,596
  • 3
  • 25
  • 37
0
votes
1 answer

shake - how to copy all contents of a directory

I want to use shake for regression testing and I have to set up the test directory. I would like to copy a directory with fonts into the test directory and included a need on the target directory and then copy the files but my code gives the error:…
user855443
  • 2,596
  • 3
  • 25
  • 37
0
votes
1 answer

How to extend Shake with additional command-line arguments?

I'm trying to extend the Shake command line argument, with two goals in mind: To take extra flags, e.g. --foo. To treat non-flag arguments specially depending on the current working directory, so go does one thing in the root, and another in the…
Neil Mitchell
  • 9,090
  • 1
  • 27
  • 85
1 2 3
8
9