-
Notifications
You must be signed in to change notification settings - Fork 317
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
Delete old Java frontends #242
Conversation
Not sure removing java version numbers will work in the long term. Both To cover both audiences, the program may need support for more than one java version. To handle removal, the project could have a guideline when a front end is considered obsolete (example, older than 5 years before the newest release). |
I think there is a bit of a misunderstanding here: The legacy Java frontends are only for a single version. For each Java update, a new frontend had to be created to support new language features. This was tedious and just not ideal. The Java 9 frontend is actually a Java 9+ frontend that was introduced for Java 9. It supports future Java versions if JPlag is compiled with that version. We can remove the old Java frontends, as the Java9+ frontend should be able to parse older code as well (additionally, there this is the legacy version of JPlag). For future java versions, we just need to update the whole project to be compiled with that, and then we should be able to support the new language features automatically. As an example, #159 is such an upgrade. This is why we renamed the Java 9+ frontend; it is actually version-independent (explicitly to deal with the rapid release of Java versions). The version number was just to distinguish it from the redundant frontends that we will remove with this PR. For the other frontends, we do not actually know in what state they are and what language versions they support or don't support. Since we use JPlag mainly for Java code, this frontend is well maintained and up to date. The other frontends might already be unmaintained and out-of-date, but I do not really know. In my opinion, a frontend is considered as obsolete, if another frontend covers the same language version(s) and also one or more additional language versions. New frontends are always welcome, if they bring some capabilities that the existing frontends do not possess. Overhauls/modernizations of existing frontends are also welcome! TL;DR The Java 9+ frontend is version-independent making the legacy java frontends redundant. The state of the other frontends is (largely) unknown. |
Co-authored-by: Alberth289346 <alberth289346@gmail.com>
Removes the old language frontends (contributing towards #114):
The newest Java frontend is now just called
java
instead ofjava9
.