aboutsummaryrefslogtreecommitdiff
path: root/src/main/groovy/frege
diff options
context:
space:
mode:
authorMark Perry <maperry78+github@gmail.com>2015-09-23 10:56:13 +1000
committerMark Perry <maperry78+github@gmail.com>2015-09-23 10:56:13 +1000
commit9d62c4f6a7bfc9ffa90d92093f0410beeee4c85e (patch)
tree38f0995c01c45b60cf330efe12e09e994205705f /src/main/groovy/frege
parentb0731a8488d16821be1f5d7d0a19ac0e9c506d89 (diff)
downloadfrege-gradle-plugin-9d62c4f6a7bfc9ffa90d92093f0410beeee4c85e.tar.gz
frege-gradle-plugin-9d62c4f6a7bfc9ffa90d92093f0410beeee4c85e.tar.bz2
frege-gradle-plugin-9d62c4f6a7bfc9ffa90d92093f0410beeee4c85e.zip
Allow disabling frege compile task. Added default modules for compiling frege main and test
Diffstat (limited to 'src/main/groovy/frege')
-rw-r--r--src/main/groovy/frege/gradle/CompileTask.groovy17
-rw-r--r--src/main/groovy/frege/gradle/FregePlugin.groovy16
2 files changed, 21 insertions, 12 deletions
diff --git a/src/main/groovy/frege/gradle/CompileTask.groovy b/src/main/groovy/frege/gradle/CompileTask.groovy
index 07bc384..ab6e132 100644
--- a/src/main/groovy/frege/gradle/CompileTask.groovy
+++ b/src/main/groovy/frege/gradle/CompileTask.groovy
@@ -26,6 +26,8 @@ class CompileTask extends DefaultTask {
static Boolean USE_EXTERNAl = true
+ boolean enabled = true
+
Boolean help = false
@Optional @Input
@@ -71,7 +73,7 @@ class CompileTask extends DefaultTask {
List<File> fregePaths = []
// @Optional @InputDirectory
- List<File> sourcePaths = deduceSourceDir(project)
+ List<File> sourcePaths = [deduceSourceDir(project)]
@Optional @OutputDirectory
File outputDir = deduceClassesDir(project)
@@ -88,12 +90,14 @@ class CompileTask extends DefaultTask {
static File deduceSourceDir(File projectDir, String subdir) {
- new File(projectDir, subdir).exists() ? new File(projectDir, subdir) : null
+// new File(projectDir, subdir).exists() ? new File(projectDir, subdir) : null
+ new File(projectDir, subdir)
}
- static List<File> deduceSourceDir(Project project) {
+ static File deduceSourceDir(Project project) {
def d = deduceSourceDir(project.projectDir, DEFAULT_SRC_DIR)
- d == null ? [] : [d]
+ d
+// d == null ? [] : [d]
}
static File deduceClassesDir(File projectDir, String subdir) {
@@ -117,6 +121,11 @@ class CompileTask extends DefaultTask {
@TypeChecked(TypeCheckingMode.SKIP)
void executeCompile() {
+ if (!enabled) {
+ logger.info("No module found: '$module'.")
+ return;
+ }
+
if (! outputDir.exists() ) {
logger.info "Creating output directory '${outputDir.absolutePath}'."
outputDir.mkdirs()
diff --git a/src/main/groovy/frege/gradle/FregePlugin.groovy b/src/main/groovy/frege/gradle/FregePlugin.groovy
index 3daf743..33a8b65 100644
--- a/src/main/groovy/frege/gradle/FregePlugin.groovy
+++ b/src/main/groovy/frege/gradle/FregePlugin.groovy
@@ -15,21 +15,21 @@ class FregePlugin implements Plugin<Project> {
project.apply(plugin: 'base')
def e = (FregePluginExtension) project.extensions.create("frege", FregePluginExtension)
- project.task('compileFrege', type: CompileTask, group: 'Build') << {
-
+ project.task('compileFrege', type: CompileTask, group: 'Build', dependsOn: "compileJava") {
+ module = CompileTask.deduceSourceDir(project).absolutePath
}
project.tasks["classes"].dependsOn("compileFrege")
- project.tasks["compileFrege"].dependsOn("compileJava")
+// project.tasks["compileFrege"].dependsOn("compileJava")
project.task('compileTestFrege', type: CompileTask, group: 'Build') {
// sourcePaths = [CompileTask.deduceTestSrcDir(project)]
+ module = CompileTask.deduceTestSrcDir(project).absolutePath
outputDir = CompileTask.deduceTestClassesDir(project)
// logger.info("compileTestFrege debug")
// logger.info("projectDir ${project.projectDir}")
// logger.info("defaultSrc ${CompileTask.DEFAULT_SRC_DIR}")
- fregePaths = Option.fromNull(
- CompileTask.deduceClassesDir(project)
- ).map{d -> [d]}.orSome([])
+ fregePaths = Option.fromNull(CompileTask.deduceClassesDir(project))
+ .map{d -> [d]}.orSome([])
}
project.tasks.testClasses.dependsOn("compileTestFrege")
project.tasks.compileTestFrege.dependsOn("compileTestJava")
@@ -37,10 +37,10 @@ class FregePlugin implements Plugin<Project> {
def replTask = project.task('fregeRepl', type: ReplTask, group: 'Tools', dependsOn: 'compileFrege')
replTask.outputs.upToDateWhen { false } // always run, regardless of up to date checks
- def checkTask = project.task('fregeQuickCheck', type: QuickCheckTask, group: 'Tools', dependsOn: 'compileFrege')
+ def checkTask = project.task('fregeQuickCheck', type: QuickCheckTask, group: 'Tools', dependsOn: 'testClasses')
checkTask.outputs.upToDateWhen { false } // always run, regardless of up to date checks
- project.tasks.fregeQuickCheck.dependsOn("testClasses")
+// project.tasks.fregeQuickCheck.dependsOn("testClasses")
project.tasks.test.dependsOn("fregeQuickCheck")
project.task('fregeDoc', type: DocTask, group: 'Tools', dependsOn: 'compileFrege')