-
What is the best way to feed in data like build timestamps? For example if a rule is importing from the latest tarball output by upstream simply depending on that will download the file one time but will not re-download it when upstream changes. What I've experimented with is either having a touch file that holds the stamps and is depended on to force the rule to restart (and then write that from a task runner.) Alternatively it looks like forcing some token rule to rebuild (which say, takes the current time and writes that to a touch file inside as a rule) will force the immediately dependent rules to re-run (and may check their hashes to find that re-running was not needed and everything down the line will not run--this is cool.) But these both feel like very dirty hacks. Granted depending on |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
I don't know if this helps, but if you just want to rebuild a target to force Please to download it again, you can use the Unfortunately, there's no mechanism by which Please could tell if the remote file was changing if the URL doesn't include some sort of versioning information. We'd just have to re-download the file every time you depend on that target. That's not really something I'd want to have Please do. Really for this to work nicely you need to have some sort of versioned URL. Having a task runner update a manifest file just pushes the problem on down stream, doesn't it? |
Beta Was this translation helpful? Give feedback.
I don't know if this helps, but if you just want to rebuild a target to force Please to download it again, you can use the
--rebuild
flag. Perhaps you can just rebuild all the affected targets in your CI pipeline? I imagine locally it might be easy enough to do something similar when you notice it's out of date.Unfortunately, there's no mechanism by which Please could tell if the remote file was changing if the URL doesn't include some sort of versioning information. We'd just have to re-download the file every time you depend on that target. That's not really something I'd want to have Please do.
Really for this to work nicely you need to have some sort of versioned URL. Having a task r…