Skip to content
Browse files

Extract NailgunTask

and move things into a subpackage while we are at it.

--HG--
rename : gradle/src/main/groovy/vimclojure/VimClojurePlugin.groovy => gradle/src/main/groovy/vimclojure/gradle/VimClojurePlugin.groovy
  • Loading branch information...
1 parent 3babcb0 commit 0685ae28a11c60d93a507aaf8e2d1b17d2a48be0 @kotarak committed Oct 5, 2011
View
50 gradle/src/main/groovy/vimclojure/gradle/NailgunTask.groovy
@@ -0,0 +1,50 @@
+/*-
+ * Copyright 2011 © Meikel Brandmeyer.
+ * All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ */
+
+package vimclojure.gradle
+
+import org.gradle.api.tasks.JavaExec
+
+class NailgunTask extends JavaExec {
+ def String nailgunServer = "127.0.0.1"
+ def int nailgunPort = 2113
+
+ public NailgunTask() {
+ main = "vimclojure.nailgun.NGServer"
+ fixUpArgs()
+ }
+
+ void setNailgunServer(String server) {
+ this.nailgunServer = server
+ fixUpArgs()
+ }
+
+ void setNailgunPort(int port) {
+ this.nailgunPort = port
+ fixUpArgs()
+ }
+
+ private void fixUpArgs() {
+ args = [ nailgunServer + ":" + nailgunPort ]
+ }
+}
View
29 ...groovy/vimclojure/VimClojurePlugin.groovy → ...vimclojure/gradle/VimClojurePlugin.groovy
@@ -21,34 +21,21 @@
* IN THE SOFTWARE.
*/
-package vimclojure
+package vimclojure.gradle
import org.gradle.api.Plugin
import org.gradle.api.Project
-import org.gradle.api.tasks.JavaExec
public class VimClojurePlugin implements Plugin<Project> {
- class Convention {
- def String nailgunServer = "127.0.0.1"
- def String nailgunPort = "2113"
- }
-
public void apply(Project project) {
- project.convention.plugins.vimclojure = new Convention()
-
- project.tasks.add(name: 'runNailgun') {
+ project.tasks.add(name: 'runNailgun', type: NailgunTask) {
dependsOn project.classes
- } << {
- project.javaexec {
- classpath = project.files(
- project.sourceSets.main.clojure.srcDirs,
- project.sourceSets.main.classesDir,
- project.configurations.testRuntime,
- project.configurations.development
- )
- main = 'vimclojure.nailgun.NGServer'
- args = [ project.nailgunServer + ":" + project.nailgunPort ]
- }
+ classpath = project.files(
+ project.sourceSets.main.clojure.srcDirs,
+ project.sourceSets.main.classesDir,
+ project.configurations.testRuntime,
+ project.configurations.development
+ )
}
}
}
View
2 gradle/src/main/resources/META-INF/gradle-plugins/vimclojure.properties
@@ -1 +1 @@
-implementation-class=vimclojure.VimClojurePlugin
+implementation-class=vimclojure.gradle.VimClojurePlugin

0 comments on commit 0685ae2

Please sign in to comment.
Something went wrong with that request. Please try again.