rascal icon indicating copy to clipboard operation
rascal copied to clipboard

getProjectPathConfig should read every configuration parameter from pom.xml

Open jurgenvinju opened this issue 7 months ago • 1 comments

Is your feature request related to a problem? Please describe.

There is now an overlap between the passing of parameters from the maven plugin to the main functions of the compiler, the checker, the tutor and the executor. A part is implemented in getProjectPathConfig and a part is implemented in the maven plugin code. These parts both overlap and extend each other. It would be better if we re-align this "magic" in a single place.

Until recently, the pom.xml was only used to configure the compiler and we used the RASCAL.MF for the interpreter. But the removal of the lib:// scheme and the introduction of the mvn:/// scheme and the merging of rascal-core and tutor back into the rascal project have resulted in a consolidation of getProjectPathConfig. It is now almost a single point of change for the configuration of Rascal projects. Almost...

Describe the solution you'd like

  • [ ] add a "tutor" mode to getProjectPathConfig, next to "interpreter" and "compiler"
  • [ ] add an "exec" mode to getProjectPathConfig, next to "interpreter" and "compiler" and "tutor"
  • [ ] read source paths from pom.xml (next to deprecated parsing of RASCAL.MF)
  • [ ] read configuration parameters from:
    • [ ] generic rascal-maven-plugin <configuration>
    • [ ] specific goal executions, where the goals are compile, tutor, console and exec which override the generic tags
    • [ ] computation of sensible defaults for things like bin (outputDirectory), resources, srcs (src/main/rascal), which simulate the behavior of maven when it interprets the pom files.
  • [ ] stop passing path config on the command line and replace with only the root -project folder to pass into getProjectPathConfig.
  • [ ] start calling getProjectPathConfig(root, mode=...) from the main functions of every tool: compile, check, console, tutor, exec

jurgenvinju avatar Apr 25 '25 11:04 jurgenvinju