Meikel  Brandmeyer avatar Meikel Brandmeyer committed b1a3689

Move options to plugin extension

Comments (0)

Files changed (5)

clojuresque/src/main/groovy/clojuresque/ClojureBasePlugin.groovy

 /*-
- * Copyright 2009,2010 © Meikel Brandmeyer.
+ * Copyright 2009-2013 © Meikel Brandmeyer.
  * All rights reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
         project.convention.plugins.clojure =
             new ClojurePluginConvention(project)
 
+        project.extensions.create("clojure", ClojurePluginExtension)
+
         RepositoryHandler repos = project.repositories
         repos.convention.plugins.clojure =
             new ClojureRepositoryConvention(repos)

clojuresque/src/main/groovy/clojuresque/ClojureCompileTask.groovy

 /*-
- * Copyright 2009,2010 © Meikel Brandmeyer.
+ * Copyright 2009-2013 © Meikel Brandmeyer.
  * All rights reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
         destinationDir.mkdirs()
 
         List<String> options = []
-        if (project.aotCompile) {
+        if (project.clojure.aotCompile) {
             options.add("--compile")
         } else {
             options.add("--require")
         }
-        if (project.warnOnReflection) {
+        if (project.clojure.warnOnReflection) {
             options.add("--warn-on-reflection")
         }
 
             args = options + this.source.files
         }
 
-        if (!project.aotCompile) {
+        if (!project.clojure.aotCompile) {
             project.copy {
                 from this.source
                 into this.destinationDir

clojuresque/src/main/groovy/clojuresque/ClojurePluginConvention.groovy

 /*-
- * Copyright 2009,2010 © Meikel Brandmeyer.
+ * Copyright 2009-2013 © 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.process.ExecResult
 
+import org.slf4j.Logger
+import org.slf4j.LoggerFactory
+
 import groovy.lang.Closure
 
 class ClojurePluginConvention {
-    def boolean warnOnReflection = false
-    def boolean aotCompile = false
-    final Project project
+    private static final Logger LOGGER = LoggerFactory.getLogger(ClojurePluginConvention)
+    private final Project project
 
     public ClojurePluginConvention(Project project) {
         this.project = project
         )
         return action.execute()
     }
+
+    public void setAotCompile(boolean f) {
+        Util.deprecationWarning(LOGGER, "aotCompile", "clojure.aotCompile")
+        project.clojure.aotCompile = f
+    }
+
+    public boolean getAotCompile() {
+        Util.deprecationWarning(LOGGER, "aotCompile", "clojure.aotCompile")
+        return project.clojure.aotCompile
+    }
+
+    public void setWarnOnReflection(boolean f) {
+        Util.deprecationWarning(LOGGER, "warnOnReflection", "clojure.warnOnReflection")
+        project.clojure.warnOnReflection = f
+    }
+
+    public boolean getWarnOnReflection() {
+        Util.deprecationWarning(LOGGER, "warnOnReflection", "clojure.warnOnReflection")
+        return project.clojure.warnOnReflection
+    }
 }

clojuresque/src/main/groovy/clojuresque/ClojurePluginExtension.groovy

+/*-
+ * Copyright 2009-2013 © 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 clojuresque
+
+class ClojurePluginExtension {
+    def boolean warnOnReflection = false
+    def boolean aotCompile       = false
+}

clojuresque/src/main/groovy/clojuresque/Util.groovy

 /*-
- * Copyright 2012 © Meikel Brandmeyer.
+ * Copyright 2012,2013 © Meikel Brandmeyer.
  * All rights reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
 
 package clojuresque
 
+import org.slf4j.Logger
+
 import java.io.InputStreamReader
 import java.util.Properties
 
 
         return props
     }
+
+    public static deprecationWarning(Logger l, String o, String n) {
+        l.warn(String.format("'%s' is deprecated and will go away in a future version. Please use '%s' instead.", o, n))
+    }
 }
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.