Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

github.com/crownedgrouse/geas fails #88

Open
crownedgrouse opened this issue Dec 31, 2015 · 20 comments
Open

github.com/crownedgrouse/geas fails #88

crownedgrouse opened this issue Dec 31, 2015 · 20 comments

Comments

@crownedgrouse
Copy link

Hello,
fails with this log : http://other.erldocs.com/github.com/crownedgrouse/geas/_.txt

but not sure it comes from my repo ?

@crownedgrouse
Copy link
Author

BTW, my geas project may be interesting for other.erldocs.com to give information on available erlang release windows of projects...

@crownedgrouse
Copy link
Author

humm, looks like it fails for any (?) documentation.

@fenollp
Copy link
Member

fenollp commented Jan 6, 2016

Hello! Yes, the repo is too big for github, thus some generated html pages disappear. I'm working on it.

Could you write a small PR implementing meta_geas.escript? I agree this would be a great addition.

@crownedgrouse
Copy link
Author

On my side I need to reduce doc directory size.

@fenollp
Copy link
Member

fenollp commented Jan 6, 2016

Hm, I meant other.erldocs.com is too big for github.

@crownedgrouse
Copy link
Author

For the PR, geas need Beam files, I suppose projects are not compiled on your side. I will look to add a feature to use source files instead. For compat with Erlang releases.

@crownedgrouse
Copy link
Author

OK. For the size. Anyway my project send useless data when cloning as dependance. Need to shrink.

@fenollp
Copy link
Member

fenollp commented Jan 6, 2016

Source support would be great!
I can look into it or create an issue at least.

Projects are not compiled yet. They should be, once I find some solution secure enough.

@crownedgrouse
Copy link
Author

yes you can create an issue

@fenollp
Copy link
Member

fenollp commented Jan 10, 2016

Also I see geas stores relinfos (and diffs) (that include all MFAs even the ones not meant to be public).

Would you like these files to be generated along with erldocs.com and be made available there?

Also, would it make sense to generate a projectinfo -- a relinfo for an erlang project (along with its branches)?
That's what meta.txt is meant to be. Maybe we could agree on a format and add fields that we both need to do our stuff?

@crownedgrouse
Copy link
Author

No this will be moved to another git repo called geas_devel so that people won t clone it for usual geas usage. I will add it as dependancy only when I need to update database. Size of geas project will then be much smaller

@crownedgrouse
Copy link
Author

erldoc may then made it available if you want. The yaml format is nicer to read

@crownedgrouse
Copy link
Author

For meta.txt, I need to see what it is.

@crownedgrouse
Copy link
Author

Note, I need reldiffs to create the geas_db.hrl and geas create those files from a current Erlang release. But this is not documented, as far it is done only once, by me, at any new official release

@crownedgrouse
Copy link
Author

For meta.txt, you can certainly simply add the compat tag extracted from geas:info(xxx) output. See examples at bottom of my readme.MD.

@crownedgrouse
Copy link
Author

I did some fix to let it work better with source files. However I found a case where compat is different between .beam and .erl on a project. Digging into it, but linked to a parse_error and/or sub directories under src/ . I probably need to signal errors, mainly when using source files.
Did you tried geas ?

@fenollp
Copy link
Member

fenollp commented Jan 14, 2016

GEAS_USE_SRC=1 er -noshell -eval '{ok,O} = geas:info("."), erlang:display(proplists:get_value(compat,O)).' -s init stop

On erldocs I get {"R15","R15","18.2","18.2"} with =0 compiled and =1 on just source.
Which is a bit interesting given the dep, erlydtl, does not work with R16B03 for example (but I guess it's related to parse_transforms and not easily catchable).

So, it works great :)
If you open an issue here I will quickly add this!

Also: why use an env variable instead of a fallback to src or a info_src/1?

@crownedgrouse
Copy link
Author

there is a fallback on .erl file now when abstract code is unavailable in beam file.
However beam is better than .erl due to possible different compilation targets depending defines / compile options.
Yes geas cannot detect some things, like runtime compilation and runtime load of modules. I will add a 'Limitation' paragraph on this. As well it is a raw analyze of functions calls. I do not check at this time if a missing function call is caught with a catch in order to do an alternative, for example.

I did not released 2.0.3 for now, I will think to add another function info_src/1 .

@crownedgrouse
Copy link
Author

for erlydtl you may try the plugins or geas:offending("xxx.beam") on single beam file, it will tells you what function reduce release window.

@fenollp
Copy link
Member

fenollp commented Jan 14, 2016

Let's continue the discussion there: erldocs/erldocs_other#5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants