emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/javaimp d428651 1/2: * javaimp-gradle.el: Cosmetics


From: Filipp Gunbin
Subject: [elpa] externals/javaimp d428651 1/2: * javaimp-gradle.el: Cosmetics
Date: Fri, 8 Oct 2021 17:17:23 -0400 (EDT)

branch: externals/javaimp
commit d428651fd9c944cab0f60c9e4c016bc4aadbecc3
Author: Filipp Gunbin <fgunbin@fastmail.fm>
Commit: Filipp Gunbin <fgunbin@fastmail.fm>

    * javaimp-gradle.el: Cosmetics
---
 javaimp-gradle.el | 45 +++++++++++++++++++++++++++++----------------
 1 file changed, 29 insertions(+), 16 deletions(-)

diff --git a/javaimp-gradle.el b/javaimp-gradle.el
index af3fd5a..3e690e6 100644
--- a/javaimp-gradle.el
+++ b/javaimp-gradle.el
@@ -22,7 +22,8 @@
 
 (defconst javaimp--gradle-task-body
   (with-temp-buffer
-    (insert-file-contents (expand-file-name "gradleTaskBody.inc.kts" 
javaimp--basedir))
+    (insert-file-contents
+     (expand-file-name "gradleTaskBody.inc.kts" javaimp--basedir))
     (buffer-string))
   "Task body, uses syntax which can be used both in Groovy and Kotlin")
 
@@ -52,6 +53,12 @@ information."
                                   (javaimp-module-id el))))))
 
 (defun javaimp--gradle-handler ()
+  "Parse current buffer into list of project descriptors, each of
+which is an alist of attributes (NAME . VALUE).  Each attribute
+occupies one line, and is of the form 'NAME=VALUE'.  See file
+'gradleTaskBody.inc.kts' for the script which generates such
+output.  Attribute 'id' signifies the start of another
+descriptor."
   (goto-char (point-min))
   (let (alist res sym val)
     (while (re-search-forward "^\\([[:alnum:]-]+\\)=\\(.*\\)$" nil t)
@@ -68,16 +75,18 @@ information."
     (nreverse res)))
 
 (defun javaimp--gradle-module-from-alist (alist file-orig)
+  "Make `javaimp-module' structure out of attribute alist ALIST."
   (make-javaimp-module
-   :id (javaimp--gradle-id-from-semi-separated (cdr (assq 'id alist)))
-   :parent-id (javaimp--gradle-id-from-semi-separated (cdr (assq 'parent-id 
alist)))
+   :id (javaimp--gradle-id-from-semi-separated
+        (cdr (assq 'id alist)))
+   :parent-id (javaimp--gradle-id-from-semi-separated
+               (cdr (assq 'parent-id alist)))
    :file (cdr (assq 'file alist))
    :file-orig file-orig
    ;; jar/war supported
-   :final-name (let ((final-name (javaimp-cygpath-convert-maybe
-                                  (cdr (assq 'final-name alist)))))
-                 (and final-name
-                      (member (file-name-extension final-name) '("jar" "war"))
+   :final-name (when-let ((final-name (javaimp-cygpath-convert-maybe
+                                       (cdr (assq 'final-name alist)))))
+                 (and (member (file-name-extension final-name) '("jar" "war"))
                       final-name))
    :source-dirs (mapcar #'file-name-as-directory
                         (javaimp--split-native-path
@@ -92,7 +101,8 @@ information."
 
 (defun javaimp--gradle-id-from-semi-separated (str)
   (when str
-    (let ((parts (split-string str ";" t)) artifact)
+    (let ((parts (split-string str ";" t))
+          artifact)
       (unless (= (length parts) 3)
         (error "Invalid project id: %s" str))
       (setq artifact (nth 1 parts))
@@ -101,12 +111,13 @@ information."
         ;; convert "[:]foo:bar:baz" into "foo.bar.baz"
         (setq artifact (replace-regexp-in-string
                         ":" "." (string-remove-prefix ":" artifact))))
-      (make-javaimp-id :group (nth 0 parts) :artifact artifact
+      (make-javaimp-id :group (nth 0 parts)
+                       :artifact artifact
                        :version (nth 2 parts)))))
 
 (defun javaimp--gradle-fetch-dep-jars-path (module)
-  ;; always invoke on root file becase module's file may not exist
-  ;; (even if reported as project.buildFile property)
+  ;; Always invoke on root file becase module's file may not exist,
+  ;; even if reported by Gradle as project.buildFile
   (javaimp--gradle-call (javaimp-module-file-orig module)
                         javaimp--gradle-task-body
                         (lambda ()
@@ -118,11 +129,13 @@ information."
 
 (defun javaimp--gradle-call (file init-script-body handler task)
   (let* ((is-kotlin (equal (file-name-extension file) "kts"))
-         (init-file (make-temp-file "javaimp" nil
-                                    (if is-kotlin ".kts")
-                                    (if is-kotlin
-                                        (javaimp--gradle-init-script-kotlin 
init-script-body)
-                                      (javaimp--gradle-init-script 
init-script-body))))
+         (init-file
+          (make-temp-file "javaimp" nil
+                          (if is-kotlin ".kts")
+                          (funcall (if is-kotlin
+                                       #'javaimp--gradle-init-script-kotlin
+                                     #'javaimp--gradle-init-script)
+                                   init-script-body)))
          (local-gradlew (concat (file-name-directory file) "gradlew")))
     (javaimp--call-build-tool
      (if (file-exists-p local-gradlew)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]