On 22/06/10 4:45 AM, Meikel Brandmeyer wrote:
Hi,
Am 21.06.2010 um 08:43 schrieb Adam Murdoch:
There's really only the following lifecycle tasks at the moment:
* clean
* check
* assemble
* build
Arguably classes and test should be included in this list too.
+1
I'm the author of clojuresque (a gradle plugin for Clojure support). And
classes and test not being generally available is a slight annoyance, because I
have to suck in the Java plugin where it is not necessary.
The Groovy and Scala plugins have the same problem. Also the War and
Antlr plugins have to drag in the Java plugin for similar reasons.
It would be good to make the Java, Groovy, Scala and Clojure (and any
other jvm language) plugins all peers, rather than treating Java (the
language) as a special case, where the other plugins all have to
'extend' the Java plugin.
One option would be to extract a common base plugin out of the Java
plugin, which would be shared by all the jvm language plugins. This base
plugin would add in the main and test source sets, plus the test and jar
tasks. This would mean that tasks such as 'classes', 'testClasses',
'test', and so on would be available without having to apply the java
plugin.
An implication of this change is that projects which use multiple
languages, say, Java and Groovy, would have to apply both the groovy and
the java plugins, whereas at the moment they can just apply the groovy
plugin. This isn't necessarily a bad thing, though. I think I prefer
having to declare all the language I want to use.
--
Adam Murdoch
Gradle Developer
http://www.gradle.org
CTO, Gradle Inc. - Gradle Training, Support, Consulting
http://www.gradle.biz
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email