| Age | Commit message (Collapse) | Author |
|
|
|
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
|
|
The name implementation is already used by the java plugin and it
leads to conflicts when combining both plugins.
|
|
|
|
|
|
This adds the following common tasks:
- clean
- check
- assemble
- build
- buildConfiguration task rule
- clean task rule
|
|
its dependencies
|
|
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)`.
|
|
|
|
|
|
|
|
(WIP)
|
|
- 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.
|
|
|
|
|
|
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.
|
|
|
|
|
|
- `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.
|
|
|
|
|
|
|
|
e.g:
```groovy
dependencies {
implementation 'org.frege-lang:fregefx:0.8.2-SNAPSHOT'
}
```
|
|
|
|
|
|
|
|
|
|
- Uses the builder pattern to simplify the creation of `build.gradle` test
files.
- Adds `gradlew clean test` github workflow
|
|
Upgrades gradle-wrapper to version `7.1`.
|
|
|
|
|
|
|