On May 27, 2009, at 2:16 AM, Dean Schulze wrote:
Those links are the same material that is in the user guide, which
I've read twice and still don't have a clue about how to use gradle
to build a j2ee project.
I've written many Ant builds, some very complex, but your
documentation doesn't give me a clue about how to do basic things
like compile .java files.
The problem is that chapter 6 is cryptic. A typical J2EE project
has source files that get compiled with javac, web artifacts
like .html and .jsp pages that simply get moved to a directory in
the .war structure, and deployment descriptors.
I don't see any of that in your documentation.
How do I compile my .java files? How do I specify the src/ and
output directories? How do I move artifacts into WEB-INF/lib, etc?
Ant, for all of its shortcomings is at least intuitive. The
attributes and child elements of <javac>, <jar>, and <war>
correspond to the underlying tools. Ant falls flat on its face,
however, with simple things like doing if ... else... You can't
change the value of a property, and lots of other things. That's
really what I'm looking for from gradle.
I agree that the user's guide is not saying much about this use case.
If this is the way you want to use Gradle, don't use the Java plugin.
You still have to read the Java plugin chapter as it describes all the
tasks you now have to create by yourself.
For example:
task compile(type:Compile) {
<configuration>
}
In the Java plugin chapter there is a link to the Javadoc of each
task. The API of the task is used to configure the task. The javadoc
is not complete for every task yet but many of the properties are self-
descriptive. Alternatively you could use the respective Ant tasks.
There are many areas where Gradle does not provide a native Gradle
task. And we don't have to, as there is the wealth of Ant tasks you
can easily use from Gradle. We consider the ant tasks an integral part
of Gradle.
task myAntTask {
ant.move(...)
ant.delete(...)
// or alternatively
ant {
move(...)
delete(...)
}
}
If chapter 6 is the "normal" way to do things in gradle, then you've
made very straight forward things cryptic.
We provide things out of the box. I personally would not call this
cryptic. And we are very clear on the website that Gradle has optional
build-by-convention functionality. And in fact that is a major reason
why many people use Gradle. But Gradle can be used in many ways, from
simple Ant scripting to very complex plugin-driven multi-project builds.
If I wanted that I'd use Maven.
I wouldn't.
- Hans
--- On Sat, 5/23/09, Adam Murdoch <[email protected]> wrote:
From: Adam Murdoch <[email protected]>
Subject: Re: [gradle-user] Is there an example for migrating a J2EE
project from Ant to Gradle?
To: [email protected]
Date: Saturday, May 23, 2009, 12:01 AM
Dean Schulze wrote:
I'd like to start adopting gradle by making a gradle build to
parallel the Ant build*.xml files that I use for my J2EE projects.
I've looked at the user guide and the java examples that come with
gradle, but they're not much help. The 2 examples aren't remotely
like a typical J2EE project, and the user guide isn't much better.
The Java multi-project sample is intended to be a typical J2EE
project - it produces a WAR file and a bunch of JAR files. I'm
surprised that you think it isn't remotely like one. How can we
improve things to make this more clear, do you think? What's
different to your J2EE project?
There's a walk-through of this sample at
http://www.gradle.org/0.6/docs/userguide/tutorial_java_projects.html
If you don't want to split your build up into multiple projects, you
could use the web application quick start sample. There's an
(incomplete) walk-through at http://www.gradle.org/0.6/docs/userguide/web_project_tutorial.html
One thing these samples don't do is produce an EAR task. You can
either use the Zip task, or Ant's Ear task in your build. You might
want to have a look at http://www.gradle.org/0.6/docs/userguide/java_plugin.html#N112B3
for information about adding archives to a project.
Does anyone have an example of how to use Gradle to build typical
J2EE project - a .ear containing multiple .wars and .jars?
Thanks.
--
Hans Dockter
Gradle Project Manager
http://www.gradle.org
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email