diff options
author | Mark Perry <maperry78+github@gmail.com> | 2015-09-23 10:56:13 +1000 |
---|---|---|
committer | Mark Perry <maperry78+github@gmail.com> | 2015-09-23 10:56:13 +1000 |
commit | 9d62c4f6a7bfc9ffa90d92093f0410beeee4c85e (patch) | |
tree | 38f0995c01c45b60cf330efe12e09e994205705f /src/main/groovy | |
parent | b0731a8488d16821be1f5d7d0a19ac0e9c506d89 (diff) | |
download | frege-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')
-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') |