-
-
Notifications
You must be signed in to change notification settings - Fork 409
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
Missing actor in generated documentation #3332
Comments
Are we only generating public documentation but, there's a bug in that? |
I don't understand your question. Every other type (private or public) is generating documentation. This specific actor is not. Here's what the
For some reason, the The logs in the OP essentially mean that every link to |
There's an option to only generate public documentation. My question was, are we using that option when it fails? |
I'm still not sure I understand you. Sorry. The command I'm using is the same used to deploy to stdlib.ponylang.io. (reference: .travis_script.bash -> .travis_commands.bash -> Makefile-ponyc). There isn't any other option as far as I can tell. Also, it only generates warnings. It doesn't stop documentation from being built; it only doesn't know which file to link to and the link will be broken. |
@EpicEric there's an option to pony to only create docs for public types. looking at the makefile, that option is not being used when creating stdlib docs via the Makefile. See output of |
I've opened issue #3340 for that. This issue is about "why isn't that file being generated" when it should. There's probably some issue with docgen that prevents that file from being generated. I don't know anything about the compiler -- in this case, how it generates documentation -- to figure out why it didn't, eg. if it's related to the generated AST or something else. |
So, if the file "isn't used" then it would be excluded. However, it is definitely included in the code that is exercised by the stdlib test program. I suppose that it is possible that it is "optimized away" prior to docgen but I would be shocked if that is the case. The documentation generation pass, as far as I know, happens before any optimization such as dead code removal. |
The https://github.com/ponylang/ponyc/blob/master/src/libponyc/pass/docgen.c#L130 and https://github.com/ponylang/ponyc/blob/master/src/libponyc/pass/docgen.c#L182 I also have some issues with this when building docs for https://github.com/mfelsche/ponycheck but it is not a biggie. As a long-term goal i would love to have some kind of annotation for excluding types from documentation or forcibly including them (whetever is less verbose), that docgen would use to exclude or include certain types. But that might be just me. |
@mfelsche I should have known that! I'm the one that put that awful hack in. |
What is the general feeling about some kind of annotation for that? If the feeling is positive overall I might start an RFC for that. Maybe we can probe for the feeling with 👍 and 👎 reactions on this comment? |
I did 👎 because I'd rather revisit just about everything about documentation generation, not because I don't like the idea given the current system. |
This could be "temporarily" solved by renaming |
To add another possibly unpopular suggestion, I'll say what I've been saying since the start of my involvement with Pony - tests shouldn't be part of the package they are testing, they should be in a subdirectory or nearby companion directory. This is what I do on all my Pony projects, and it works quite well, despite some limitations that have been cited by some in the past about not being able to write tests that engage directly with private types (this has some workarounds I could explain if desired). If we did this, we wouldn't need the silly check that looks for |
Given the lack of movement on my part for changing the doc system (ponydoc is still slowly coming along), That was to create a \nodoc\ annotation that users can use to exclude code from generated documentation and remove by "is test" hack. I've brought this up in Zulip here: |
The can be used to control the pony compilers documentation generation, any structure that can have a docstring (except packages) can be annotated with \nodoc\ to prevent documentation from being generated. This replaces a hack I put in years ago to filter out items that were "for testing" by looking for Test and _Test at the beginning of the name as well as providing UnitTest or TestList. All standard library test items have been annotated with \nodoc\ to keep them continuing to not have documentation generated by our standard process of creating the standard library documentation site. ponylang org libraries will need to be updated as well. Note that the "should we include this package" hack to filter out packages called "test" and "builtin_test" still exists for the time being until we have further discussion. Closes #3332
The can be used to control the pony compilers documentation generation, any structure that can have a docstring (except packages) can be annotated with \nodoc\ to prevent documentation from being generated. This replaces a hack I put in years ago to filter out items that were "for testing" by looking for Test and _Test at the beginning of the name as well as providing UnitTest or TestList. All standard library test items have been annotated with \nodoc\ to keep them continuing to not have documentation generated by our standard process of creating the standard library documentation site. ponylang org libraries will need to be updated as well. Note that the "should we include this package" hack to filter out packages called "test" and "builtin_test" still exists for the time being until we have further discussion. Closes #3332
The can be used to control the pony compilers documentation generation, any structure that can have a docstring (except packages) can be annotated with \nodoc\ to prevent documentation from being generated. This replaces a hack I put in years ago to filter out items that were "for testing" by looking for Test and _Test at the beginning of the name as well as providing UnitTest or TestList. All standard library test items have been annotated with \nodoc\ to keep them continuing to not have documentation generated by our standard process of creating the standard library documentation site. ponylang org libraries will need to be updated as well. Note that the "should we include this package" hack to filter out packages called "test" and "builtin_test" still exists for the time being until we have further discussion. Closes #3332
The can be used to control the pony compilers documentation generation, any structure that can have a docstring (except packages) can be annotated with \nodoc\ to prevent documentation from being generated. This replaces a hack I put in years ago to filter out items that were "for testing" by looking for Test and _Test at the beginning of the name as well as providing UnitTest or TestList. All standard library test items have been annotated with \nodoc\ to keep them continuing to not have documentation generated by our standard process of creating the standard library documentation site. ponylang org libraries will need to be updated as well. Note that the "should we include this package" hack to filter out packages called "test" and "builtin_test" still exists for the time being until we have further discussion. Closes #3332
The can be used to control the pony compilers documentation generation, any structure that can have a docstring (except packages) can be annotated with \nodoc\ to prevent documentation from being generated. This replaces a hack I put in years ago to filter out items that were "for testing" by looking for Test and _Test at the beginning of the name as well as providing UnitTest or TestList. All standard library test items have been annotated with \nodoc\ to keep them continuing to not have documentation generated by our standard process of creating the standard library documentation site. ponylang org libraries will need to be updated as well. Note that the "should we include this package" hack to filter out packages called "test" and "builtin_test" still exists for the time being until we have further discussion. Closes #3332
When building docs for the stdlib, it seems that the file for the _TestRunner actor is not being generated, which results in the following warnings in MkDocs:
Sure enough, the actor is missing from the ponytest documentation.
The text was updated successfully, but these errors were encountered: