From ab07b29c22a0979ddfce1d5fde9150996e6a5345 Mon Sep 17 00:00:00 2001 From: Galder Zamarren˃o Date: Thu, 17 Oct 2013 21:39:24 +0200 Subject: Reshuffle to make plugin a first level project --- build.gradle | 20 ++---- buildSrc/build.gradle | 15 ---- buildSrc/lib/frege-3.21.232-g7b05453.jar | Bin 10720001 -> 0 bytes .../groovy/org/gradle/frege/FregePlugin.groovy | 13 ---- .../main/groovy/org/gradle/frege/FregeTask.groovy | 77 --------------------- .../META-INF/gradle-plugins/frege.properties | 1 - lib/frege-3.21.232-g7b05453.jar | Bin 0 -> 10720001 bytes src/main/frege/HelloWorld.fr | 2 - .../groovy/org/gradle/frege/FregePlugin.groovy | 13 ++++ src/main/groovy/org/gradle/frege/FregeTask.groovy | 77 +++++++++++++++++++++ .../META-INF/gradle-plugins/frege.properties | 1 + test/build.gradle | 23 ++++++ test/lib/frege-3.21.232-g7b05453.jar | Bin 0 -> 10720001 bytes test/src/main/frege/HelloWorld.fr | 2 + 14 files changed, 122 insertions(+), 122 deletions(-) delete mode 100644 buildSrc/build.gradle delete mode 100644 buildSrc/lib/frege-3.21.232-g7b05453.jar delete mode 100644 buildSrc/src/main/groovy/org/gradle/frege/FregePlugin.groovy delete mode 100644 buildSrc/src/main/groovy/org/gradle/frege/FregeTask.groovy delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/frege.properties create mode 100644 lib/frege-3.21.232-g7b05453.jar delete mode 100644 src/main/frege/HelloWorld.fr create mode 100644 src/main/groovy/org/gradle/frege/FregePlugin.groovy create mode 100644 src/main/groovy/org/gradle/frege/FregeTask.groovy create mode 100644 src/main/resources/META-INF/gradle-plugins/frege.properties create mode 100644 test/build.gradle create mode 100644 test/lib/frege-3.21.232-g7b05453.jar create mode 100644 test/src/main/frege/HelloWorld.fr diff --git a/build.gradle b/build.gradle index f426383..bbe4c7d 100644 --- a/build.gradle +++ b/build.gradle @@ -1,23 +1,15 @@ -buildscript { - repositories { - flatDir name:"frege-lib", dirs:"buildSrc/lib" - } -} +apply plugin: "groovy" -apply plugin: "frege" -apply plugin: "idea" -apply plugin: "java" +repositories { + flatDir name:"frege-lib", dirs:"lib" -repositories { - flatDir name:"frege-lib", dirs:"buildSrc/lib" } dependencies { + compile ":frege:3.21.232-g7b05453" -} + compile gradleApi() + compile localGroovy() -compileFrege { - outputDir = project.file("$buildDir/frege") - verbose = true } \ No newline at end of file diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle deleted file mode 100644 index bbe4c7d..0000000 --- a/buildSrc/build.gradle +++ /dev/null @@ -1,15 +0,0 @@ -apply plugin: "groovy" - -repositories { - - flatDir name:"frege-lib", dirs:"lib" - -} - -dependencies { - - compile ":frege:3.21.232-g7b05453" - compile gradleApi() - compile localGroovy() - -} \ No newline at end of file diff --git a/buildSrc/lib/frege-3.21.232-g7b05453.jar b/buildSrc/lib/frege-3.21.232-g7b05453.jar deleted file mode 100644 index 254d961..0000000 Binary files a/buildSrc/lib/frege-3.21.232-g7b05453.jar and /dev/null differ diff --git a/buildSrc/src/main/groovy/org/gradle/frege/FregePlugin.groovy b/buildSrc/src/main/groovy/org/gradle/frege/FregePlugin.groovy deleted file mode 100644 index 93c5f26..0000000 --- a/buildSrc/src/main/groovy/org/gradle/frege/FregePlugin.groovy +++ /dev/null @@ -1,13 +0,0 @@ -package org.gradle.frege - -import org.gradle.api.Plugin -import org.gradle.api.Project - -class FregePlugin implements Plugin { - - void apply(Project project) { - project.apply(plugin: 'base') - project.task('compileFrege', type: FregeTask, group: 'Build') - } - -} diff --git a/buildSrc/src/main/groovy/org/gradle/frege/FregeTask.groovy b/buildSrc/src/main/groovy/org/gradle/frege/FregeTask.groovy deleted file mode 100644 index 26598b9..0000000 --- a/buildSrc/src/main/groovy/org/gradle/frege/FregeTask.groovy +++ /dev/null @@ -1,77 +0,0 @@ -package org.gradle.frege - -import org.gradle.api.DefaultTask -import org.gradle.api.GradleException -import org.gradle.api.InvalidUserDataException -import org.gradle.api.tasks.* -import org.gradle.process.internal.DefaultJavaExecAction -import org.gradle.process.internal.JavaExecAction -import org.gradle.api.internal.file.FileResolver - -class FregeTask extends DefaultTask { - - private static final FREGE_FILE_EXTENSION_PATTERN = ~/.*\.fr?$/ - - @Input boolean hints - - @Input boolean verbose - - @Input boolean inline = true - - @Input boolean make = true - - @Input boolean skipCompile - - @Input boolean includeStale - - // TODO: Find default - @OutputDirectory File outputDir = new File("build/classes") - - @TaskAction - void executeCompile() { - println "Compiling Frege to " + outputDir - - FileResolver fileResolver = getServices().get(FileResolver.class) - JavaExecAction action = new DefaultJavaExecAction(fileResolver) - action.setMain("frege.compiler.Main") - action.setClasspath(project.files(project.configurations.compile)) - - List args = [] - if (hints) - args << "-hints" - if (inline) - args << "-inline" - if (make) - args << "-make" - if (verbose) - args << "-v" - if (skipCompile) - args << "-j" - - args << "-d" - args << outputDir - - - eachFileRecurse(new File("src/main/frege")) { File file -> - if (file.name =~ FREGE_FILE_EXTENSION_PATTERN) { - args << file - } - - } - - action.args(args) - - action.execute() - } - - private static void eachFileRecurse(File dir, Closure fileProcessor) { - dir.eachFile { File file -> - if (file.directory) { - eachFileRecurse(file, fileProcessor) - } else { - fileProcessor(file) - } - } - } - -} \ No newline at end of file diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/frege.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/frege.properties deleted file mode 100644 index cc3210c..0000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/frege.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.gradle.frege.FregePlugin diff --git a/lib/frege-3.21.232-g7b05453.jar b/lib/frege-3.21.232-g7b05453.jar new file mode 100644 index 0000000..254d961 Binary files /dev/null and b/lib/frege-3.21.232-g7b05453.jar differ diff --git a/src/main/frege/HelloWorld.fr b/src/main/frege/HelloWorld.fr deleted file mode 100644 index c47a6f2..0000000 --- a/src/main/frege/HelloWorld.fr +++ /dev/null @@ -1,2 +0,0 @@ -module HelloWorld where -main _ = println "Hello World" \ No newline at end of file diff --git a/src/main/groovy/org/gradle/frege/FregePlugin.groovy b/src/main/groovy/org/gradle/frege/FregePlugin.groovy new file mode 100644 index 0000000..93c5f26 --- /dev/null +++ b/src/main/groovy/org/gradle/frege/FregePlugin.groovy @@ -0,0 +1,13 @@ +package org.gradle.frege + +import org.gradle.api.Plugin +import org.gradle.api.Project + +class FregePlugin implements Plugin { + + void apply(Project project) { + project.apply(plugin: 'base') + project.task('compileFrege', type: FregeTask, group: 'Build') + } + +} diff --git a/src/main/groovy/org/gradle/frege/FregeTask.groovy b/src/main/groovy/org/gradle/frege/FregeTask.groovy new file mode 100644 index 0000000..26598b9 --- /dev/null +++ b/src/main/groovy/org/gradle/frege/FregeTask.groovy @@ -0,0 +1,77 @@ +package org.gradle.frege + +import org.gradle.api.DefaultTask +import org.gradle.api.GradleException +import org.gradle.api.InvalidUserDataException +import org.gradle.api.tasks.* +import org.gradle.process.internal.DefaultJavaExecAction +import org.gradle.process.internal.JavaExecAction +import org.gradle.api.internal.file.FileResolver + +class FregeTask extends DefaultTask { + + private static final FREGE_FILE_EXTENSION_PATTERN = ~/.*\.fr?$/ + + @Input boolean hints + + @Input boolean verbose + + @Input boolean inline = true + + @Input boolean make = true + + @Input boolean skipCompile + + @Input boolean includeStale + + // TODO: Find default + @OutputDirectory File outputDir = new File("build/classes") + + @TaskAction + void executeCompile() { + println "Compiling Frege to " + outputDir + + FileResolver fileResolver = getServices().get(FileResolver.class) + JavaExecAction action = new DefaultJavaExecAction(fileResolver) + action.setMain("frege.compiler.Main") + action.setClasspath(project.files(project.configurations.compile)) + + List args = [] + if (hints) + args << "-hints" + if (inline) + args << "-inline" + if (make) + args << "-make" + if (verbose) + args << "-v" + if (skipCompile) + args << "-j" + + args << "-d" + args << outputDir + + + eachFileRecurse(new File("src/main/frege")) { File file -> + if (file.name =~ FREGE_FILE_EXTENSION_PATTERN) { + args << file + } + + } + + action.args(args) + + action.execute() + } + + private static void eachFileRecurse(File dir, Closure fileProcessor) { + dir.eachFile { File file -> + if (file.directory) { + eachFileRecurse(file, fileProcessor) + } else { + fileProcessor(file) + } + } + } + +} \ No newline at end of file diff --git a/src/main/resources/META-INF/gradle-plugins/frege.properties b/src/main/resources/META-INF/gradle-plugins/frege.properties new file mode 100644 index 0000000..cc3210c --- /dev/null +++ b/src/main/resources/META-INF/gradle-plugins/frege.properties @@ -0,0 +1 @@ +implementation-class=org.gradle.frege.FregePlugin diff --git a/test/build.gradle b/test/build.gradle new file mode 100644 index 0000000..414d496 --- /dev/null +++ b/test/build.gradle @@ -0,0 +1,23 @@ +buildscript { + repositories { + flatDir name:"frege-lib", dirs:"lib" + } +} + +apply plugin: "frege" +apply plugin: "idea" +apply plugin: "java" + + +repositories { + flatDir name:"frege-lib", dirs:"lib" +} + +dependencies { + compile ":frege:3.21.232-g7b05453" +} + +compileFrege { + outputDir = project.file("$buildDir/frege") + verbose = true +} \ No newline at end of file diff --git a/test/lib/frege-3.21.232-g7b05453.jar b/test/lib/frege-3.21.232-g7b05453.jar new file mode 100644 index 0000000..254d961 Binary files /dev/null and b/test/lib/frege-3.21.232-g7b05453.jar differ diff --git a/test/src/main/frege/HelloWorld.fr b/test/src/main/frege/HelloWorld.fr new file mode 100644 index 0000000..c47a6f2 --- /dev/null +++ b/test/src/main/frege/HelloWorld.fr @@ -0,0 +1,2 @@ +module HelloWorld where +main _ = println "Hello World" \ No newline at end of file -- cgit