aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
AgeCommit message (Collapse)Author
2022-02-23feat: simplifies the replFrege taskThibault Gagnaux
The replFregeTask has the following new logic: 1. Compiles the specified fregeRepl module (either in the `build.gradle` 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 bash command: `eval $(./gradlew -q replFrege)`.
2022-02-23refactor: finishes the replFregeTask refactoringThibault Gagnaux
2022-02-11refactor: finishes the compileFregeTask refactoringThibault Gagnaux
2022-02-09refactor: continues with staged builder refactoringThibault Gagnaux
2022-02-09refactor: introduces staged builder patterns for frege project setupThibault Gagnaux
(WIP)
2022-02-02feat: simplifies the whole gradle pluginThibault Gagnaux
- the `compileFregeTask` has a new optional input called `mainModuleName`. If it is set, it and only its dependencies will be compiled, otherwise all `.fr`files in the `mainSourceDir`will be compiled. - the internal `DependencyFregeTask` is deleted because it was only used by the vscode plugin and I decided to remove this gradle plugin as a dependency. - an example project folder was added to test the plugin manually.
2021-12-21fix: only compile `*.fr` filesThibault Gagnaux
2021-12-21chore: renames `replModule` -> `replSource` and updates readmeThibault Gagnaux
2021-12-21feat: adds `replSource` property and command-line optionThibault Gagnaux
The `replSource` property specifies the frege source file that you want to load into the repl. It is excluded in the `fregeCompile` task so that we don't get two java class files (one from `compileFrege` and one from the fregeRepl `:l` command) that shadow each other on the classpath. As a result, we can make interactive changes to the `replSource` file and use the `:r` reload command to see them.
2021-12-21refactor: extracts common `setupClasspath` logic to util classThibault Gagnaux
2021-12-21feat: adds `outputDir` to classpathThibault Gagnaux
2021-12-10refactor: adds an internal `depsFrege` task and simplifes `replFrege`Thibault Gagnaux
- `depsFregeTask`: only internal use for the vscode plugin to automate the repl code lens. - `replFregeTask`: simplified to only print the command to start the repl because starting and interacting through a console is not gradle's core strength. See https://github.com/tricktron/frege-gradle-plugin/issues/11.
2021-12-08feat: replFrege task v2 returns classpath with all dependenciesThibault Gagnaux
2021-11-28fix: adds `System.in` as StandardInput to make `ReplFrege` task interactivelyThibault Gagnaux
2021-11-24feat: adds `replFrege` taskf-repl-taskThibault Gagnaux
2021-11-24refactor: allows to configure the classpath with the groovy dependency notationThibault Gagnaux
e.g: ```groovy dependencies { implementation 'org.frege-lang:fregefx:0.8.2-SNAPSHOT' } ```
2021-11-17feat: Adds incremental build and build cache support for the `fregeCompile` taskThibault Gagnaux
2021-11-16feat: adds `compilerFlags` property to configure the Frege compilerThibault Gagnaux
2021-11-10feat: `mainModule` property can be configured with command-line optionThibault Gagnaux
2021-11-09feat: adds two tests and makes them pass for new `runFregeTask`Thibault Gagnaux
2021-07-07Refactors testsThibault Gagnaux
- Uses the builder pattern to simplify the creation of `build.gradle` test files. - Adds `gradlew clean test` github workflow
2021-07-02Adds `fregeCompile` task with some testsThibault Gagnaux
Upgrades gradle-wrapper to version `7.1`.
2021-07-01Refactors `SetupFregeCompilerTask` testsThibault Gagnaux
2021-06-30Adds first `SetupFregeCompilerTaks` with some testsThibault Gagnaux
2021-06-29Switches from groovy's spock testing framework back to javaThibault Gagnaux