aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-06-24Interact better with gradle java pluginfeature/intellij-newnea
2022-06-23Add support for the frege-intellij pluginnea
This commit adds support for the frege intellij plugin by - exposing the frege compiler jar as a dependency, so the plugin can recognize the standard library. - adding the name 'fregeRun' as that is used by the plugin to run files - add support for overriding the main module executed by runFrege so that arbitary files can be run by the plugin
2022-04-06Merge pull request #33 from ↵tricktron
tricktron/f-dependent-frege-files-with-wrong-source-path Frege Compiler Make Mode Test
2022-04-06refactor: add testThibault Gagnaux
The following applies if the frege compiler is run with the `-make` [flag](https://github.com/Frege/frege/wiki/Compiler-Manpage#make-mode): Given two dependent frege files. If the `mainSourceDir` property is not correctly configured, then the frege compiler cannot find the dependent frege file and will therefore fail the compilation. The frege compiler starts at the `mainSourceDir` and searches recursively for dependent modules. E.g. If `mod.Main.fr` imports `other.Dep.fr` then the frege compilers searches for `mainSourceDir/other/Dep.fr`.
2022-03-10Merge pull request #32 from tricktron/f-rename-configurationtricktron
Renames Configuration: implementation -> frege
2022-03-10fix: renames configuration implementation -> fregeThibault Gagnaux
The name implementation is already used by the java plugin and it leads to conflicts when combining both plugins.
2022-03-09Merge pull request #31 from tricktron/f-test-tasktricktron
Adds testFrege Task
2022-03-09feat: adds testFrege taskThibault Gagnaux
2022-03-08Merge pull request #29 from tricktron/f-init-tasktricktron
Adds initFrege Task
2022-03-08chore: updates readme with initFrege taskThibault Gagnaux
2022-03-08feat: adds new initFrege taskThibault Gagnaux
2022-03-08Merge pull request #27 from tricktron/f-clean-tasktricktron
Adds Common Gradle Tasks Including Clean
2022-03-08feat: applies gradle base pluginThibault Gagnaux
This adds the following common tasks: - clean - check - assemble - build - buildConfiguration task rule - clean task rule
2022-02-25Merge pull request #26 from ↵tricktron
tricktron/f-only-compile-mainModule-and-replModule-files Only Compile Specified Files if Specified
2022-02-25fix: runFrege and replFrege task compile only the specified module andThibault Gagnaux
its dependencies
2022-02-23Merge pull request #23 from tricktron/f-minimal-frege-repltricktron
New Simpler Repl Task
2022-02-23fix: normalize path to make test pass on windows as wellThibault Gagnaux
2022-02-23chore: uddates readmeThibault Gagnaux
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.
2022-01-18Merge pull request #20 from tricktron/f-java-target-versiontricktron
Set Java 11 as Target Version
2022-01-18chore: updates readme and version 1.6.0 -> 1.6.1Thibault Gagnaux
2022-01-18chore: updates junit jupiter 5.8.1 -> 5.8.2Thibault Gagnaux
2022-01-18feat: uses java 11 toolchain and upgrades the gradle wrapper to version 7.3.3Thibault Gagnaux
2021-12-21Merge pull request #17 from tricktron/f-repl-with-source-depstricktron
Repl with all Source Dependencies
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-11Merge pull request #13 from tricktron/f-repl-frege-v2v1.5.0-alphatricktron
Frege Repl Refactoring
2021-12-11chore: updates readme for `replFrege` task v2Thibault 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-24Merge pull request #6 from tricktron/f-repl-taskv1.4.0-alphatricktron
Adds `replFrege` Task
2021-11-24feat: adds `replFrege` taskf-repl-taskThibault Gagnaux
2021-11-24chore: updates readmeThibault Gagnaux
2021-11-24Merge pull request #5 from tricktron/f-classpath-configtricktron
Implementation Dependency Configuration
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-21Merge pull request #4 from tricktron/f-dependent-frege-filestricktron
Dependent Frege Files
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-17Merge pull request #3 from tricktron/f-incremental-compilev1.3.0-alphatricktron
Incremental Build and Cache Support