[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