liberty-eiffel
[Top][All Lists]
Advanced

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

Re: Cannot generate eiffel docs after fresh install


From: Remy.Schleimer
Subject: Re: Cannot generate eiffel docs after fresh install
Date: Sun, 5 May 2024 12:31:46 +0200

Hi,
In an attempt to make “se eiffeldoc” executable, I made some changes to liberty-eiffel.
A diff is in the attachment, for those who are interested

Attachment: patch.diff
Description: Binary data



On 1 May 2024, at 09:18, Remy.Schleimer <remy.Schleimer@org-it.lu> wrote:

As a follow-up to my earlier mails, I made some additional tests (on a fresh install)
%mkdir dev
%cat loadpath.se 
../src/lib/loadpath.se
../src/smarteiffel/loadpath.se
../src/tools/loadpath.se

-> created a loadpath.se file for my project

% diff loadpath.se ../src/loadpath.se
1,3c1,5
< ../src/lib/loadpath.se
< ../src/smarteiffel/loadpath.se
< ../src/tools/loadpath.se
---
> ./lib/loadpath.se
> ./smarteiffel/loadpath.se
> ./tools/loadpath.se
> ./wrappers/loadpath.se

> ./staging/loadpath.se

-> excluding wrappers and staging

% se find POSTGRESQL_DATABASE 
****** Fatal Error: Cannot find the class "LIBPQ_FE_EXTERNALS" in any known cluster.

Line 23 column 8 in POSTGRESQL_DATABASE (/Users/eiffel/Repos/liberty-eiffel/src/wrappers/database/library/postgresql/postgresql_database.e):
insert LIBPQ_FE_EXTERNALS
       ^                 
———

-> class POSTGRESQL_DATABASE is included in my project, even though I did not specify the cluster containing it in my loadpath.se

As a conclusion, liberty-eiffel does not use my loadpath, but rather makes its own stuff.
When adding the -verbose flag to my command, it appears, that the system will use the default settings in addition to my loadpath.se which is unexpected

Question: Is this the expected behaviour?
Question: Is there a good documentation explaining how to configure my development environment?

Any help appreciated
Remy

On 28 Apr 2024, at 22:27, Remy.Schleimer <remy.Schleimer@org-it.lu> wrote:

Hi Rapha,
Allow me to express some thoughts:
- currently liberty eiffel distribution has 7k+ classes
- a very few of them are incompletely specified (is indicated in my previous message)
- those few ones prevent the whole system from being documented

I am not convinced (as you suggested) that the problem stems from “the size of generated html”: 7k classes is huge, there is nothing we can do about it.

IMHO, the problem is more about definition  of the universe: after a standard install, liberty eiffel just assumes that I want to use all the classes included in the distribution.
This is definitely not the case: On a first trial, I’d be happy to work with the classes included in “my universe”, which in my case was an empty directory.
Should I want to add more classes,  I would be happy to provide a universe to the system (loadpath.se).

While being easy to use, I believe the system should not  imply a default universe, but stick to the one defined in the current directory.
Obviously, other settings from “liberty.se” (e.g. compiler settings) are worth keeping unchanged.
But who am I to make such suggestions?
Regards
Remy


BTW, “install.sh -wrapper” currently yields errors, which seem to be the very origin to the problems discussed in this thread


find . -type f -iname "*.e"|wc
    7345    7345  392788


cd dev
% ls -l
total 0
% se find any

/Users/eiffel/Repos/liberty-eiffel/src/lib/kernel/any.e (class ANY in cluster "liberty_core:kernel/loadpath.se:")



On 28 Apr 2024, at 18:22, Raphael Mack <ramack@raphael-mack.de> wrote:

Hi,

yea, clearly I'd say it's better to continoue. But we had already so
much trouble with eiffeldoc - you know that normally it runs on every
commit and generates the nightly docs, but that process also fails due
to memory issues. Also the size of the generated HTML is a nightmare
and maybe it would be best, to redesign the whole thing, starting with
better html output and than rework eiffeldoc as needed to do the job
properly. Ideas or PRs are warmly welcome!

Rapha

Am Sonntag, dem 28.04.2024 um 17:23 +0200 schrieb Remy.Schleimer:
Hi,
Thanks for confirming that I am not alone. 
So we have to fix this!
First question would then be, in such circumstance, does the tool
need to break, and generate nothing, rather than to fall back
generating what goes, and leaving appropriate messages for the rest?
Sent from my iPhone

On 28 Apr 2024, at 17:07, Jakub Pavlík <jkb.pavlik@gmail.com>
wrote:


When I came to Liberty Eiffel not long ago and started tinkering
with eiffeldoc, I encountered the same issue and temporarily
addressed it by simply deleting the postgres bindings (and a few
other similarly offending subclusters of the library IIRC). It
seems that eiffeldoc lacks support for some aspects of the library.
See also contents of "The library wrappers"
at https://doc.liberty-eiffel.org/ , suggesting that documentation
generation isn't broken just for noobs like me, but also for the
project's heads.

Regards, Jakub

ne 28. 4. 2024 v 16:54 odesílatel Remy.Schleimer
<remy.Schleimer@org-it.lu> napsal:
Hi there, 
In an attempt to start with liberty eiffel, I have done the
following:

git clone git://git.sv.gnu.org/liberty-eiffel.git
cd liberty-eiffel
./install.sh

export PATH=$PATH:`pwd`/target/bin
mkdir dev
cd dev

se eiffeldoc

This yields the following error:

****** Fatal Error: Cannot find the class "LIBPQ_FE_EXTERNALS" in
any known cluster.

Line 23 in POSTGRESQL_DATABASE (/Users/eiffel/Repos/liberty-
eiffel/src/wrappers/database/library/postgresql/postgresql_databa
se.e):
insert LIBPQ_FE_EXTERNALS
                 
———————————
Any hints to get rid of this would be great
Remy






reply via email to

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