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

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

[elpa] externals/gnat-compiler c13ca26054 1/2: Add wisi-prj-default


From: Stephen Leake
Subject: [elpa] externals/gnat-compiler c13ca26054 1/2: Add wisi-prj-default
Date: Tue, 6 Dec 2022 18:49:26 -0500 (EST)

branch: externals/gnat-compiler
commit c13ca260542997b4277404346287e3f0828370b2
Author: Stephen Leake <stephen_leake@stephe-leake.org>
Commit: Stephen Leake <stephen_leake@stephe-leake.org>

    Add wisi-prj-default
    
    * gnat-alire.el (alire-prj): New, for wisi-prj-default.
    (create-alire-project): Use it.
    (wisi-prj-default): New.
---
 gnat-alire.el | 26 +++++++++++++++++++++++---
 1 file changed, 23 insertions(+), 3 deletions(-)

diff --git a/gnat-alire.el b/gnat-alire.el
index b9b9dadcce..64f579aa1a 100644
--- a/gnat-alire.el
+++ b/gnat-alire.el
@@ -24,6 +24,13 @@
 
 (require 'gnat-compiler)
 
+(cl-defstruct
+    (alire-prj
+     (:include wisi-prj)
+     (:copier nil))
+  xref-label
+  )
+
 (defun alire-get-env (project)
   "Set PROJECT slots from Alire as needed."
 
@@ -93,12 +100,15 @@
   "Return an initial wisi project for the current Alire workspace."
   (let* ((default-directory (locate-dominating-file default-directory 
"alire.toml"))
         (abs-gpr-file (expand-file-name gpr-file))
-        (project (make-wisi-prj :name name :compile-env compile-env :file-env 
file-env))
-        )
+        (project (make-alire-prj :name name
+                                  :compile-env compile-env
+                                  :file-env file-env
+                                  :xref-label xref-label)))
 
     (alire-get-env project)
 
-    ;; We need a gnat-compiler to set compilation-search-path.
+    ;; We need a gnat-compiler to set compilation-search-path; this
+    ;; must run after alire-get-env because it uses GPR_PROJECT_PATH.
     (setf (wisi-prj-compiler project)
          (create-gnat-compiler
           :gpr-file abs-gpr-file
@@ -110,5 +120,15 @@
 
     project))
 
+(cl-defmethod wisi-prj-default ((project alire-prj))
+  (let* ((gpr-file (gnat-compiler-gpr-file (wisi-prj-compiler project)))
+         (default-directory (file-name-directory gpr-file)))
+    (create-alire-project
+     :name        (wisi-prj-name project)
+     :gpr-file    gpr-file
+     :compile-env (wisi-prj-compile-env project)
+     :file-env    (wisi-prj-file-env project)
+     :xref-label  (alire-prj-xref-label project))))
+
 (provide 'gnat-alire)
 ;;; gnat-alire.el ends here



reply via email to

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