/frege-gradle-plugin

Gradle plugin for compiling Frege projects

Primary LanguageGroovyBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Frege Gradle Plugin

This is the official Gradle plugin to compile Frege projects (https://github.com/Frege/frege). See the example project (https://github.com/mperry/frege-gradle-example) for examples on the usage of this plugin.

This plugin is an alternative to using Gradle’s JavaEx task to start the Frege tools. Those who prefer the latter might want to have a look at (https://github.com/Dierk/HelloFrege)

Plugin Application

The gradle plugin portal page for Frege documents how to apply the Frege plugin (https://plugins.gradle.org/plugin/org.frege-lang).

For applying the plugin in all Gradle versions use:

buildscript {
  repositories {
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath "gradle.plugin.org.frege-lang:frege-gradle-plugin:0.8"
  }
}

apply plugin: "org.frege-lang"

To apply the plugin using the new incubating, plugin mechanism (since Gradle 2.1), add:

plugins {
  id "org.frege-lang" version "0.8"
}

Tasks

This plugin creates the following tasks:

  • fregeRepl

  • fregeQuickCheck

  • fregeDoc

  • fregeNativeGen

  • compileFrege

  • compileTestFrege

The plugin adds dependencies so that using the build task is typically all that is required to invoke the compileFrege and compileTestFrege tasks. These task dependencies include:

  • classes → compileFrege → compileJava

  • testClasses → compileTestFrege → compileTestJava

  • test → fregeQuickCheck → testClasses

Task Help

TODO: Add options and descriptions for each task above.

Example

See:

Continuous Integration

The Travis CI build of this repository is at https://travis-ci.org/Frege/frege-gradle-plugin.

Snapshots

Snapshot releases are available from the Sonatype repository at https://oss.sonatype.org/content/groups/public/org/frege-lang.