Search code examples
frege

how do I compile a whole Frege source tree


Following the answeres to how to use multiple inline assertions in Frege I learned how to compile two Frege modules A and B where B depends on A: you have to compile B. If given the -make option, the compiler will figure out that B depends on A, will find A on the sourcepath (-sp flag), and will compile A first and then B.

However, I cannot just give all files I care about to the compiler. Giving both A and B to the compiler failed with a "cyclic dependency" error for me. And I also found no way to give a directory to the compiler (it just did nothing).

This looks like I had to know the root of the dependency graph to do a proper compilation of all need-to-be-compiled files. But

  • I may not know the root.
  • There may be many of them.
  • It's very difficult to do a proper build automation that way.

Is there a combination of compiler options where I can just let the compiler compile all files in a source tree?


Solution

  • This issue has now been addressed by the frege-maven-plugin:

    https://github.com/Frege/frege-maven-plugin

    which is available in maven central.