-
Notifications
You must be signed in to change notification settings - Fork 5
Translation to JDK 17 #2
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
Conversation
|
Hi @fdoflorenzano and thanks a lot for your efforts fixing the Doclet script! I'm not sure who to ask for a review but maybe @sampottinger could give us some hints? |
|
Cool! I haven't worked much on this piece before. I think, given the size of the PR, I'd need to ask @benfry how he wants to move forward. |
|
If there's limited bandwidth elsewhere, happy to provide (a potentially slightly slower) review! |
|
Sounds good, @sampottinger! Let's wait and see what @benfry has to say regarding the review process. In the meantime, I'll probably start using the updated Doclet script anyway, as it's definitely an improvement over not being able to update the docs at all. Thanks again for your willingness to help out! |
|
Hey @fdoflorenzano, I just tried to run the script locally and I'm running into some issues. I'll summarise below are the steps I have been following, for reference. Let me know if you spot anything I could do differently to run this properly. I'm on macOS Monterey 12.5.1 (21G83) and using openjdk version "17.0.4.1" 2022-08-12 LTS Edit: I just tried switching to Oracle's JDK-17 but I get the same errors.
I get 100 errors. Here are the full logs: https://pastebin.com/dPYF8wJC |
|
Hey @SableRaf! Thanks for trying it and letting me know! I did a fresh run following yours steps (thanks for detailing them!), and I had the same output! Two extra steps I believe are needed to make this work: building the code for processing4 and processing-sound. Those leftover 6 I'm unsure I didn't get in my original try (I still don't get them when running locally), but I figured I missed the a path to processing.awt, so I just pushed that. That made it work for me. Let me know if that helps! |
|
Thanks @fdoflorenzano! I followed these steps and it seems to be working! One thing I just noticed looking at the instructions again is that I had also forgotten to run |
|
Hi @fdoflorenzano, I noticed a difference with the JSON files before and after running the new doclet script. The content appears to be the same, but the formatting of the JSON object is different. The before version is formatted with line breaks and indentation, while the after version is a single line without any line breaks or indentation. Is this difference in formatting expected or normal? If it is not expected, do you have any suggestions on how to address this issue? Thank you for your assistance! Here's a comparison using Before: After: Screen capture for illustration |
|
Hey @SableRaf ! Yes, this is expected. I think you are missing the last step in the doclet list:
|
That was it! Thanks for your patience @fdoflorenzano 🙏 I'll update the README to clarify those steps. |
|
So happy to see this finally coming together! Thanks for the hard work @fdoflorenzano! |
With Processing 4 we switched from JDK 11 to JDK 17. Unfortunately, this caused the script that parses JavaDoc comments in the Processing source and creates JSON files in the website repository to break. As a result, we were unable to update the reference until we had an updated script. However, we have now generated new JSON files using an updated script that can be found at this link: processing/processing-doclet#2
|
Merged 🚀 Thanks to @fdoflorenzano and the whole DSI team for your support! |
|
I updated the README: https://github.com/processing/processing-doclet#readme |

Hey there! This is my attempt at re-writting the doclet with the new javadoc API, so hopefully closes #1.
Just to preface, I don't consider myself a Java developer, so I might have missed stuff and for sure would need someone who is to take a look at this. My approach to translate it was running the script locally and checking the differences it generated in the JSON output, and incrementally translate different sections.
After a while, I got to the point where the script is either producing the same output or actually updating some of them with recent changes to the Processing codebase, with some exceptions that I think are OK. I'll list the exceptions below.
<br/>and<br />(notice the space), all get mapped to<br/>now, while before it would keep the space if present.processing/createWriter_has a missing related mention forcreateReader_, even thought there is a@seetag in the codebase that does mention it. But in that case, the reference string is missing the correct argument syntax. (It says* @see PApplet#createReaderbut should* @see PApplet#createReader(String))processing/PImage_blendColor_shows a related reference tocolor_(that wasn't there before), but it seems correct from the source-code (@see PApplet#color(float, float, float, float))"Iterator"/"Iterable"as types, but now it shows the composed type, like:"Iterable<String>"sound/reference, but they all are either correct updates or a different "category" or "subcategory" fields. They don't match the previous build, but I am under the impression they previous build also doesn't match the sound library. Classes only have the subcategory field different, while nested methods have different category and subcategory. Since this is pretty consistent across all the sound reference, but only in this specific library, I suspect something was wrong or outdated in the previous build. Because from what I can tell from other places in the code-base, the result it gives now for is consistent to them all.Maybe having someone who has more context about the doclet history/usage would be helpful to check the list! I can get to any thing that should be fixed but failed to notice.