Commits

Meikel Brandmeyer committed 91deb0e

Add Convention to allow configuration of server and port

Comments (0)

Files changed (1)

gradle/src/main/groovy/vimclojure/VimClojurePlugin.groovy

 /*-
- * Copyright 2009,2010 © Meikel Brandmeyer.
+ * Copyright 2011 © Meikel Brandmeyer.
  * All rights reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
 import org.gradle.api.Project
 import org.gradle.api.tasks.JavaExec
 
-import clojuresque.ClojurePlugin
+public class VimClojurePlugin implements Plugin<Project> {
+    class Convention {
+        def String nailgunServer = "127.0.0.1"
+        def String nailgunPort = "2113"
+    }
 
-public class VimClojurePlugin implements Plugin<Project> {
     public void apply(Project project) {
-        project.apply plugin: ClojurePlugin.class
+        project.convention.plugins.vimclojure = new Convention()
 
-        project.dependencies {
-            development 'vimclojure:server:2.3.0-SNAPSHOT'
-        }
-
-        project.tasks.add(name: 'runNailgun', type: JavaExec.class,
-                dependsOn: project.classes) {
-            classpath = project.files(
-                project.sourceSets.main.clojure.sourceDir,
-                project.sourceSets.main.classesDir,
-                project.configurations.testRuntime,
-                project.configurations.development
-            )
-            main = 'vimclojure.nailgun.NGServer'
-            args = [ '127.0.0.1' ]
+        project.tasks.add(name: 'runNailgun') {
+            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 ]
+            }
         }
     }
 }
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.