Hi Ichiro, as a practical matter getting the folders standardized to
allow the option of Maven (what you also agree with) is probably the
best that can be managed right now--but that's 50% of the benefits right
there. The only Apache project I'm aware of that returned from Maven to
Ant is Apache Qpid. All the other apps I'm using during my day
job--CXF, Camel, WSS4J, Jersey, Metro, plus the several more that my
coworkers used--they are all Mavenized today. What does that mean? Not
just that they can open the file structure and immediately know where
everything is, but it is always the same commands to do the same things:
mvn clean install, mvn test, mvn tomcat:redeploy, mvn eclipse:eclipse,
etc. They don't even need to read the pom.xml. Otherwise, with Ant you
need to study a build.xml for each project in order to learn each
project's specific way of doing things, which gets annoying. It is
Maven's standardization which is so valuable in allowing people to jump
in and be productive quickly--even if each individual project build.xml
(including quite possibly what you just attached) could be better than
Maven's implementation.
Regards,
Glen
On 12/16/2012 04:26 PM, Ichiro Furusato wrote:
Hi Glen,
I'm neither a committer on this project so my "vote" should
be taken with some salt, but in my own experience with both
maven and ant, I've gone back to preferring ant, with the
changes you're suggesting, i.e., adopting a directory
structure that people are familiar with, but sticking with
ant. The commitment to maven is sort of like the commitment
to GPL: it forces you to alter your project. If one desires
the maven approach for a project (and it's warranted for
that project), then great, but when I buy a hammer I don't
want to have to alter how I build a house; I just want a
new hammer. Ant is just a normal hammer. I leave it up to
others to decide if maven is appropriate to JSPWiki.
One thing I have started doing is having ant manage the
dependency acquisition, which supports explicit pulls of
specifically-versioned libraries (so I control what gets
pulled, not simply the latest). This could of course be
done with Ivy, but having it within ant works fine for
me, just one less tool.
To be of some help in this regard, I've attached a
skeleton build-deps.xml file that includes the basic ant
dependency checker and downloader. This could be filled
out with all of the jars that would be included with
JSPWiki. I like this approach since it means I don't have
to include a much smaller number of libraries with my own
distros.
Ichiro
On Mon, Dec 17, 2012 at 9:58 AM, Glen Mazza (JIRA)<[email protected]> wrote:
[https://issues.apache.org/jira/browse/JSPWIKI-651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13533513#comment-13533513
]
Glen Mazza commented on JSPWIKI-651:
------------------------------------
Yes, for code modularization, an excellent first step is to forget about Maven
but still use the Maven standard directory format
(http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html)
and then update the Ant build.xml to work with that new structure. At least
with src/main/java, test/man/java, src/main/resources, test/main/resources (and
for anything under the WEB-INF folder, src/main/webapp). This will make
JSPWiki look like just about every other Mavenized project, making it easier
for new people to jump in, knowing where everything is and realizing they can
use the same Maven commands they use on other projects without needing to study
a big build.xml file anymore.
As for all those submodules, sure, sounds good! But you might wish to keep it
simple right now with one pom.xml until we're off Ant (because others have to be
brought up to speed with Maven), then put in submodules after that. Or do a
hybrid... You understand the JWPWiki code a lot more than I do so you might be
more comfortable jumping to submodules more quickly than I. The Apache CXF pom.xml
has about as many bells and whistles as you can find, but you might want to take a
look at the Apache Roller pom.xml & folder structure
(http://svn.apache.org/viewvc/roller/trunk/), as it is also a Java web app like
JSPWiki and was created by several skilled developers.
Convert JSPWiki to a Maven project
----------------------------------
Key: JSPWIKI-651
URL:https://issues.apache.org/jira/browse/JSPWIKI-651
Project: JSPWiki
Issue Type: Improvement
Reporter: Daniel Johansson
Priority: Trivial
Labels: ant, build, ivy, maven
Attachments: pom.xml
Hello there, I was hoping to maybe one day contribute to the JSPWiki project
and after having checked out the trunk code and played around somewhat I was
thinking it would be very nice if this project used Maven.
I'm sure most of you are familiar with Maven in one way or another, you might
even have a really good reason for not doing this to JSPWiki.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:http://www.atlassian.com/software/jira