I myself am a Maven fan, and let me explain why. From one pom file (or set of poms), we are able to:<div><ul><li>do the dependency management </li><li>exclude jar files and binary files from the source code repository</li>
<li>in one command build, test, label/tag and release code</li><li>automatically maintain the versioning system</li><li>generate Eclipse config with all the relevant dependencies resolved, etc.(mvn eclipse:eclipse creates the config based on your pom and jars it has downloaded into your local repository)</li>
<li>generate all the common configuration: formatters, eclipse preferences, checkstyle, findbugs, pmd config for all users using eclipse</li><li>it&#39;s very portable</li><li>follows conventions which means that a lot of things are already done for you if things are in the right place</li>
<li>can download source/javadoc for all the relevant dependencies and tie it in nicely to eclipse</li><li>cool reporting capabilities too</li></ul><div>So in summary, projects that use maven can help development environment setup vastly. </div>
<div><br></div><div><b>setup eclipse with checkstyle, pmd, findbugs, source code and javadocs dependencies</b>: mvn eclipse:clean eclipse:eclipse </div><div><b>build</b>: mvn clean install</div><div> </div><div>I&#39;d be very happy to try setting up part/most of that for you guys (have started on the JSword stuff), but as I started found that it didn&#39;t really build (partly due to the refactoring, but also has dependencies missing in the poms). For most developers who are new to maven, what we do at work is have a prefconfigure maven installation to unzip, and instructions on how to set up 2 environment variables. Then the mvn clean install command does the rest. (We also zip up our eclipse installation so that new people don&#39;t need to install all the plugins)</div>
<div><br></div><div>Unfortunately, using several ways of building though tends to mean that some things get left behind. So I&#39;m kind of reluctant at the same time (although I have started) since next time refactoring is done, or dependencies are added, things might get missed.</div>
<div><div><br></div><div>Cheers</div><div>Chris</div><div><br></div><div><br></div><div><br></div><div>On 6 December 2010 10:01, Martin Denham <span dir="ltr">&lt;<a href="mailto:mjdenham@gmail.com">mjdenham@gmail.com</a>&gt;</span> wrote:</div>
<div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">There were advantages in having the jars under the jar folder, where they were before.  There are only a few jars and it means the eclipse project works instantly after checkout.  Will the jars still be there?<div>
<div></div><div class="h5"><br><br><div class="gmail_quote">
On 6 December 2010 05:33, DM Smith (JIRA) <span dir="ltr">&lt;<a href="mailto:jira@crosswire.org" target="_blank">jira@crosswire.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
    [ <a href="http://www.crosswire.org/bugs/browse/JS-140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=13646#action_13646" target="_blank">http://www.crosswire.org/bugs/browse/JS-140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=13646#action_13646</a> ]<br>


<div><br>
DM Smith commented on JS-140:<br>
-----------------------------<br>
<br>
</div>I&#39;ve figured out how<br>
* to include only the stuff that is wanted. Now it only brings in the jar itself and the source jar. It just took adding conf=&quot;default-&gt;master,sources&quot; to the dependency.<br>
* to specify a different location for the cache. Now at jsword/ivy.<br>
* to put the jars in a useful place: jsword/lib (this solves the caching problem)<br>
* to blend jars we can&#39;t get via ivy, with those from ivy<br>
<br>
This introduced a ripple effect and the build files (core.xml and jsword&#39;s build.xml) needed to change:<br>
* changed ${target.jar} to point to &quot;lib&quot;<br>
* uncommented prepare.extra to use it in jsword&#39;s build.xml to load dependencies.<br>
* made clean in core.xml clean out the ${target.jar} directory<br>
<br>
What&#39;s left:<br>
clean up the jsword-web documentation explaining how to checkout the project and use it within Eclipse.<br>
<br>
The big gotcha, upon checkout one must run ant in the jsword project. Otherwise, Eclipse (and probably other IDE&#39;s) will complain. If Eclipse is run first, then jsword will have to be refreshed after the run.<br>
<br>
FYI, I just noticed that there is an ant task to convert an ivy definition to a maven pom.<br>
<div><div></div><div><br>
<br>
<br>
<br>
&gt; Use Ivy to manage JSword&#39;s dependencies.<br>
&gt; ----------------------------------------<br>
&gt;<br>
&gt;                 Key: JS-140<br>
&gt;                 URL: <a href="http://www.crosswire.org/bugs/browse/JS-140" target="_blank">http://www.crosswire.org/bugs/browse/JS-140</a><br>
&gt;             Project: JSword<br>
&gt;          Issue Type: Improvement<br>
&gt;    Affects Versions: 1.6<br>
&gt;            Reporter: DM Smith<br>
&gt;            Assignee: DM Smith<br>
&gt;            Priority: Minor<br>
&gt;<br>
&gt; Ivy is an Apache component that is tightly integrated with Ant that will grab dependent jars and provide them to the project.<br>
&gt; This would greatly reduce the SVN repository size going forward as we would no longer need to house these libraries.<br>
<br>
--<br>
This message is automatically generated by JIRA.<br>
-<br>
If you think it was sent incorrectly contact one of the administrators: <a href="http://www.crosswire.org/bugs/secure/Administrators.jspa" target="_blank">http://www.crosswire.org/bugs/secure/Administrators.jspa</a><br>
-<br>
For more information on JIRA, see: <a href="http://www.atlassian.com/software/jira" target="_blank">http://www.atlassian.com/software/jira</a><br>
<br>
<br>
<br>
_______________________________________________<br>
jsword-devel mailing list<br>
<a href="mailto:jsword-devel@crosswire.org" target="_blank">jsword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/jsword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/jsword-devel</a><br>
</div></div></blockquote></div><br>
</div></div><br>_______________________________________________<br>
jsword-devel mailing list<br>
<a href="mailto:jsword-devel@crosswire.org">jsword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/jsword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/jsword-devel</a><br>
<br></blockquote></div><br></div></div></div>