aboutsummaryrefslogtreecommitdiff
path: root/src
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-12refactor: finishes the runFregeTask refctoringf-minimal-frege-replThibault 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-09fix: only asserts a substring of the classpathThibault Gagnaux
Increases the max number of test processes, which may reduce the test execution time.
2021-12-09refactor: adds test case for classpath with external dependenciesThibault Gagnaux
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-21fix: adds dependent frege files test casesThibault Gagnaux
If a Frege module A depends on Frege module B, then you need to compile with the `-make` flag so that the compiler resolves the dependencies and compiles the module B before the module A.
2021-11-17feat: Adds incremental build and build cache support for the `fregeCompile` taskThibault Gagnaux
2021-11-16refactor: adds testcase with illegal compiler flagThibault 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-10refactor: tests and makes `FregeDTOBuilder` a singletonThibault Gagnaux
2021-11-09feat: adds two tests and makes them pass for new `runFregeTask`Thibault Gagnaux
2021-07-08Refactor: Uses junit5 nested tests for a better structureThibault Gagnaux
Setups missing java 11 in the github workflow
2021-07-07Splits tests into fast unit tests and slow functional testsThibault 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
2021-06-28Inits branch with a simple groovy testThibault Gagnaux
2020-06-28upgrading to gradle 6.5Dierk Koenig
2020-06-28compiles and runs with frege-3.25.84.jar and Gradle 5.0Dierk Koenig
2016-04-12Add support for >gradle 2.12Rene Groeschke
- update wrapper to 2.12 - fix sourcedirectory setup - add integTest coverage for 2.12
2015-12-29workaround for failing fregedoc when ignoring java sourcesRene Groeschke
2015-12-14seme more coverage and work on frege doc task.Rene Groeschke
TODO fix fregedoc task for mixed java + frege sources
2015-11-23fix FregeCompile incremental build behaviourRene Groeschke
2015-11-22add integ test coverage for using custom sourcesets with fregeRene Groeschke
- test coverage for #15
2015-11-22remove redundant unit testRene Groeschke
2015-11-22group all frege task in frege groupRene Groeschke
- fixes issue #30
2015-11-22fix fregepath handlingRene Groeschke
2015-11-22some more work on coverage and some cleanupRene Groeschke
- get packages for integ tests right - introduce common AbstractFregeIntegrationSpec - first stab of unit test coverage for FregeCompile - minor cleanup on FregeCompile - configure fregePath as part as part of base plugin convention
2015-11-21add integtest coverage for calling java from fregeRene Groeschke
2015-11-21simplify implementation and remove use of internal api that is shaded by ↵Rene Groeschke
classloader
2015-11-21remove optional annotations for property that are not optional but configurableRene Groeschke
2015-11-21some integTest cleanup + more test coverageRene Groeschke
2015-11-21some integTest cleanup + more test coverageRene Groeschke