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

Reply via email to