diff options
-rw-r--r-- | src/main/groovy/frege/gradle/CompileTask.groovy | 17 | ||||
-rw-r--r-- | src/main/groovy/frege/gradle/FregePlugin.groovy | 16 |
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') |