JabRef / jabref

Graphical Java application for managing BibTeX and biblatex (.bib) databases
https://devdocs.jabref.org
MIT License
3.54k stars 2.47k forks source link

Refactoring the Usage of Deprecated Java APIs #11674

Open viktorkrimstein opened 3 weeks ago

viktorkrimstein commented 3 weeks ago

Background

When running Code -> Analyze Code -> Run Inspection by Name -> Deprecated API Usage (Java | Code Maturity in the IntelliJ IDEA, I find 142 warnings about the usage of deprecated Java APIs in the code base.

Solution

Refactor the deprecated API usages without changing the functionality and performance of the given code base.

Acceptance Criteria

When running the workflow despcibed in the Background section, no depracted API usages are documented in the main branch. In a situation, when the usage of deprecated APIs is currently necessary and inevitable, a clear JavaDoc is provided why this is the case and marked for later refactoring.

koppor commented 2 weeks ago

@viktorkrimstein Please show up at my office of University of Stuttgart - or at my second office Sindelfingen; and we can pair on this. -- If you feel brave enough, you can open pull requests for yourself.

koppor commented 2 weeks ago

@viktorkrimstein Some more ideas: Rules for refactoring could be added to OpenRewrite. Maybe, you can craft minimal examples and create issues at the OpenRewrite repository. With that, the whole Java ecosystem would benefit.

viktorkrimstein commented 2 weeks ago

@koppor I've already forked the project and am currently working an that. On the way finding more and more Bugs (e.g. that the ACS publication parser simply runs into HTTP 403: Forbidden). Trying to fix as much as I manage on the way.

Showing up at the University of Stuttgart would be great again but impossible due to family and work (Graduated with an M.Sc. years ago 😄)

I'm using JabRef since then and wanted to find some hustle to stay sane in the corporate IT world.

koppor commented 2 weeks ago

@koppor I've already forked the project and am currently working an that. On the way finding more and more Bugs (e.g. that the ACS publication parser simply runs into HTTP 403: Forbidden). Trying to fix as much as I manage on the way.

Nice. We love smaller pull requests. Maybe https://gitbutler.com/ helps to craft these. -- It has all your changes integrated locally, but can manage multiple upstream PRs for the changes.

Regarding fetchers, you might find some help at https://devdocs.jabref.org/code-howtos/fetchers.html.

I'm using JabRef since then and wanted to find some hustle to stay sane in the corporate IT world.

It was a similar story here. Glad to hear about others experiencing similar things 😅