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

API scanning improvement: Catagorize and attach javadoc in a generated report/doc site #3341

Open
Cervator opened this issue Apr 26, 2018 · 2 comments
Labels
Category: Build/CI Requests, Issues and Changes targeting gradle, groovy, Jenkins, etc. Category: Doc Requests, Issues and Changes targeting javadoc and module documentation Good First Issue Good for learners that are new to Terasology Topic: Architecture Requests, Issues and Changes related to software architecture, programming patterns, etc.

Comments

@Cervator
Copy link
Member

Goes somewhat with #3320, #3321, and #3322 which focus on the SemVer validating testing (whether a PR constitutes a major, minor, or patch change). But there is a whole other series of utility possible with this functionality: writing out the list of classes and packages that are part of the Modding API with added documentation and decoration.

With #3253 merged we have a report usable for API comparison, but it doesn't really do anything for actual modders/developers looking for API docs. See an example at https://gist.github.com/Cervator/f34259ba73f7af7e02f3f2627211b143

At this stage method and other related info has been added, but the docs variant should focus more on categorizing what each thing is (category) and how it works (javadoc)

Eventually we should make that available in a format that could be published as part of a website. But we could get there incrementally with a next version trying to classify and describe, either in plain text or some basic markdown/html.

For example: Events. At present there is an outdated wiki page at https://github.com/MovingBlocks/Terasology/wiki/Events that has a listing of a variety of events, but it was put together manually. That's bad. We need to automate it.

It would thus be ideal if the ApiScraper could be executed in doc mode to create such a list. Out of all the things on the Modding API list (we got that part) which are events (has Event in its parentage), and what is their short description (class-level javadoc)?

A link to the event in full Javadoc would be ideal, although we don't have a great permanent home for that yet. We do have Javadoc published for the engine in Jenkins so links could be made for that: http://jenkins.terasology.org/job/Terasology/javadoc/

Beyond Events there should also be extra highlighting of Systems and Components. Maybe other stuff? Unsure. But hopefully this issue will be a good primer for making more useful things :-)

To start: Check out the ApiScraper class and read through the linked issues here (and the issues/PRs they link to, etc etc etc ...)

@Cervator Cervator added Category: Doc Requests, Issues and Changes targeting javadoc and module documentation Category: Build/CI Requests, Issues and Changes targeting gradle, groovy, Jenkins, etc. API Good First Issue Good for learners that are new to Terasology labels Apr 26, 2018
@sudoshweta
Copy link

Hi @Cervator , I am an outreachy applicant, may I work on this issue?

@Adrijaned
Copy link
Member

Hi @sudoshweta, feel free to start working on this. As far as I know, no one else should be doing this yet. Also, please consider joining our chat on #terasology on freenode or at discord.gg/Terasology

@skaldarnar skaldarnar added Topic: Architecture Requests, Issues and Changes related to software architecture, programming patterns, etc. and removed Api labels May 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category: Build/CI Requests, Issues and Changes targeting gradle, groovy, Jenkins, etc. Category: Doc Requests, Issues and Changes targeting javadoc and module documentation Good First Issue Good for learners that are new to Terasology Topic: Architecture Requests, Issues and Changes related to software architecture, programming patterns, etc.
Projects
None yet
Development

No branches or pull requests

4 participants