KITPraktomatTeam / Praktomat

quality control for programming assignments
http://pp.ipd.kit.edu/projects/praktomat/praktomat.php
GNU General Public License v2.0
46 stars 22 forks source link

Remove GCJ support #344

Closed hannesbraun closed 2 years ago

hannesbraun commented 2 years ago

Right now, there's a checker/compiler in the Praktomat source code making use of the "GNU Compiler for the Java Programming Language" (GCJ). See src/checker/compiler/JavaGCCBuilder.py

This makes Praktomat depend on the availability of this compiler. (I know, you could just ignore it as long as you're not going to use it.) Still, I think it's time to remove this checker. As stated on the GCJ website:

As of GCC 7, the GCC Java frontend and associated libjava runtime library have been removed from GCC.

The GCC 7 release was around 2017. The development on GCJ even stopped already somewhere in 2009. Right now, it's not available anymore as a package in recent releases of Ubuntu or Debian. Therefore, I think we should now remove support for GCJ.

Any thoughts on this? Otherwise, I'll just leave this issue open for a bit and submit a pull request for removing GCJ support somewhere in the future.

ifrh commented 2 years ago

Perhaps changing GCJ to ECJ "eclipse JDT Batch Compiler" , see https://manpages.ubuntu.com/manpages/jammy/man1/ecj.1.html and see http://help.eclipse.org/latest/index.jsp?topic=/org.eclipse.jdt.doc.user/tasks/task-using_batch_compiler.htm , should be the replacement, to enable a java compiler, which gives other (additional) informations compared to original javac messages.

[Edit, add URL]

hannesbraun commented 2 years ago

Indeed, the JDT compiler might be some sort of a replacement (although its use case is a bit different).

I'm just wondering: would you actually be using it? I certainly won't. And if nobody else plans to use it, we don't need to implement it. We could then rather spend our time implementing other useful features ;)