about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMunyoki Kilyungi2024-10-31 10:52:10 +0300
committerMunyoki Kilyungi2024-10-31 10:52:10 +0300
commit7dc2a3cfb577765687fc561fe756d42ff42e2c8a (patch)
tree06b15312700bc925f661c6c8f34c0794d91a0fee
parent5c9676e401ac254d0b06c3e1f64a3c9527660094 (diff)
downloadgn-transform-databases-7dc2a3cfb577765687fc561fe756d42ff42e2c8a.tar.gz
Update generate-ttl-files.scm
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
-rwxr-xr-xgenerate-ttl-files.scm68
1 files changed, 21 insertions, 47 deletions
diff --git a/generate-ttl-files.scm b/generate-ttl-files.scm
index ded6423..7afbe7b 100755
--- a/generate-ttl-files.scm
+++ b/generate-ttl-files.scm
@@ -95,14 +95,6 @@ errors."
                       ;; Don't follow symlinks.
                       lstat)))
 
-(define (call-with-temporary-directory proc)
-  (let ((tmp-dir (mkdtemp "/tmp/generate-ttl-files.XXXXXX")))
-    (dynamic-wind
-      (const #t)
-      (cut proc tmp-dir)
-      (cut delete-file-recursively tmp-dir))))
-
-
 (let* ((option-spec
         '((settings (single-char #\s) (value #t))
           (documentation (single-char #\d) (value #t))
@@ -112,42 +104,24 @@ errors."
        (output (option-ref options 'output #f))
        (documentation (option-ref options 'documentation #f))
        (%source-dir (dirname (current-filename))))
-  (call-with-temporary-directory
-   (lambda (tmpdir)
-     (let* ((gn-docs-dir (string-append tmpdir "/gn-docs"))
-            (rdf-documentation (string-append gn-docs-dir "/rdf-documentation")))
-       (unless (file-exists? output)
-         (mkdir output))
-       (system* "git" "clone" "--depth" "1"
-                documentation gn-docs-dir)
-       ;; Delete all the files in the gn-docs/rdf-documentation
-       (for-each (lambda (file)
-                   (delete-file file))
-                 (find-files rdf-documentation ".md"))
-       ;; Transform data to RDF
-       (for-each (lambda (file)
-                   (let* ((base-file-name (basename file ".scm"))
-                          (ttl-file (string-append output "/" base-file-name ".ttl"))
-                          (md-file (format #f "~a/~a.md" rdf-documentation base-file-name)))
-                     ;; Ignore dataset-metadata-git.scm because TODO
-                     (unless (string=? base-file-name "dataset-metadata-git")
-                       (system* "./pre-inst-env" file "--settings" settings
-                                "--output" ttl-file
-                                "--documentation" md-file))))
-                 (find-files "./examples" ".scm"))
-       (for-each (lambda (file)
-                   (copy-file
-                    file (format #f "/~a/~a.ttl" output (basename file))))
-                 (find-files "./schema" ".ttl"))
-       ;; Validate transformed turtle files
-       (for-each (lambda (file)
-                   (system* "rapper" "--input" "turtle" "--count" file))
-                 (append (find-files output ".ttl")
-                         (find-files "./schema" ".ttl")))
-       ;; Push changes to git when data is correctly valldated
-       (unless (zero? (status:exit-val
-                       (system* "git" "-C" gn-docs-dir "diff" "--exit-code")))
-         (system* "git" "-C" gn-docs-dir "add" rdf-documentation)
-         (system* "git" "-C" gn-docs-dir "commit" "--no-gpg-sign" "-m"
-                 "Update RDF documentation.\n\n* Commit made via the generate-ttl-files.scm script\"")
-         (system* "git" "-C" gn-docs-dir "push" "origin" "master"))))))
+  (unless (file-exists? output)
+    (mkdir output))
+  ;; Transform data to RDF
+  (for-each (lambda (file)
+              (let* ((base-file-name (basename file ".scm"))
+                     (ttl-file (string-append output "/" base-file-name ".ttl")))
+                ;; Ignore dataset-metadata-git.scm because TODO
+                (unless (string=? base-file-name "dataset-metadata-git")
+                  (system* "./pre-inst-env" file "--settings" settings
+                           "--output" ttl-file))))
+            (find-files "./examples" ".scm"))
+  ;; Copy hand-woven ttl files.
+  (for-each (lambda (file)
+              (copy-file
+               file (format #f "~a/~a" output (basename file))))
+            (find-files "./schema" ".ttl"))
+  ;; Validate transformed turtle files
+  (for-each (lambda (file)
+              (system* "rapper" "--input" "turtle" "--count" file))
+            (append (find-files output ".ttl")
+                    (find-files "./schema" ".ttl"))))