diff options
author | Arun Isaac | 2025-04-17 19:56:31 +0100 |
---|---|---|
committer | Arun Isaac | 2025-04-17 19:56:31 +0100 |
commit | 9bf0dad2f40807f4fec673670cd40ba4107bc069 (patch) | |
tree | e509e2245718bbedeb17d449907a7fe6b7482eae | |
parent | 37b9bbb7c7b4766547defd222be23b74efdd7cc9 (diff) | |
download | ravanan-9bf0dad2f40807f4fec673670cd40ba4107bc069.tar.gz ravanan-9bf0dad2f40807f4fec673670cd40ba4107bc069.tar.lz ravanan-9bf0dad2f40807f4fec673670cd40ba4107bc069.zip |
command-line-tool: Abstract out handling of SecondaryFile pattern.
*
ravanan/command-line-tool.scm (build-command-line-tool-script)[secondary-path]:
New function.
[capture-secondary-file]: Use secondary-path.
-rw-r--r-- | ravanan/command-line-tool.scm | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/ravanan/command-line-tool.scm b/ravanan/command-line-tool.scm index 51f14c2..cb309a0 100644 --- a/ravanan/command-line-tool.scm +++ b/ravanan/command-line-tool.scm @@ -890,16 +890,20 @@ same as in @code{run-workflow} from @code{(ravanan workflow)}." ("checksum" . ,(or (assoc-ref value "checksum") (checksum path)))))) + (define (secondary-path path secondary-file) + "Derive path to @var{secondary-file} from primary @var{path}." + (let ((pattern (assoc-ref* secondary-file "pattern"))) + ;; TODO: Implement ? and ^ characters in SecondaryFileSchema + ;; DSL. + (string-append path pattern))) + (define (capture-secondary-file path secondary-file workflow-output-directory) "Capture @var{secondary-file} for primary @var{path} and return its canonicalized value. If @var{required} is @code{#t} and no such secondary file is found, error out. @var{workflow-output-directory} is path to the output directory of the workflow." - (let* ((pattern (assoc-ref* secondary-file "pattern")) - ;; TODO: Implement caret characters in - ;; SecondaryFileSchema DSL. - (secondary-file-path (string-append path pattern)) + (let* ((secondary-file-path (secondary-path path pattern)) (secondary-file-value (and (file-exists? secondary-file-path) (copy-file-value (canonicalize-file-value |