tricktron / frege-gradle-plugin

Gradle plugin for compiling Frege projects
2 stars 1 forks source link

New Simpler Repl Task #23

Closed tricktron closed 2 years ago

tricktron commented 2 years ago

Fixes #21 and closes #18.

New Features

The replFregeTask has the following new logic:

  1. Compiles the specified fregeRepl module (either in the build.gradle file or via command line option --replModule=...) and all its dependencies.
  2. Sets up the correct classpath so that dependent modules don't have to be imported manually. In addition, it solves the shadowing problem by removing the replModule java and class file from the classpath.
  3. It prints one single command to directly start the repl and load the specified module.

Bonus: I designed the task so that you can even automate step 3 with the following unix command: eval $(./gradlew -q replFrege).

Chores

Completely refactors and cleans up the test base. I added a new FregeProjectBuilder that helps creating a Frege project using the builder pattern. In addition, I removed the singleton property of the builders, which were the main culprits of the flaky tests in #21. Finally, the refactoring should also reduce the test execution time.