Author: emma Date: Wed Aug 20 15:50:37 2014 New Revision: 1619131 URL: http://svn.apache.org/r1619131 Log: Documentation: dev-build.xml updated
Modified: james/site/trunk/www/server/3/dev-build.html Modified: james/site/trunk/www/server/3/dev-build.html URL: http://svn.apache.org/viewvc/james/site/trunk/www/server/3/dev-build.html?rev=1619131&r1=1619130&r2=1619131&view=diff ============================================================================== --- james/site/trunk/www/server/3/dev-build.html (original) +++ james/site/trunk/www/server/3/dev-build.html Wed Aug 20 15:50:37 2014 @@ -18,7 +18,7 @@ under the License. --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<!-- Generated by Apache Maven Doxia at Jan 13, 2013 --> +<!-- Generated by Apache Maven Doxia at Aug 20, 2014 --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> @@ -37,9 +37,9 @@ <script type="text/javascript" src="./js/jquery/js/jquery-ui-1.8.5.custom.min.js"></script> <script type="text/javascript" src="./js/fancybox/jquery.fancybox-1.3.4.js"></script> <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> - <meta name="Date-Revision-yyyymmdd" content="20130113" /> + <meta name="Date-Revision-yyyymmdd" content="20140820" /> <meta http-equiv="Content-Language" content="en" /> - + <link title="DOAP" rel="meta" type="application/rdf+xml" href="http://james.apache.org//doap_james-project.rdf"/> <!-- Google Analytics --> @@ -77,7 +77,7 @@ <div class="xleft"> - <span id="publishDate">Last Published: 2013-01-13</span> + <span id="publishDate">Last Published: 2014-08-20</span> </div> <div class="xright"> <a href="../../index.html" title="Home">Home</a> | @@ -268,225 +268,254 @@ </div> <div id="bodyColumn"> <div id="contentBox"> - <!-- Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. --> - - - - <div class="section"><h2>Why Build from Source?<a name="Why_Build_from_Source"></a></h2> - - <p>This step is not necessary to use the standard out of the box version of James. A - pre-built binary version of James is available from the James download directory.</p> - - <p>But if you wish to customize the James source code, it will be necessary for you to - build the distribution yourself.</p> - - <p>You can read on this page how to build from the command line and from eclipse IDE.</p> - - </div> - - <div class="section"><h2>Get Source Code<a name="Get_Source_Code"></a></h2> - - <p>There are two ways to get the James source code.</p> - - <ol style="list-style-type: decimal"> - <li>Download the source distribution - the source is available from the - <a class="externalLink" href="http://james.apache.org/download.cgi">James release mirrors</a>. - Simply choose the version of James you'd like to download, and pick the source - distribution appropriate for your platform.</li> - <li>Get the source code using SVN - this method gives you access to the cutting edge code - base. Instructions on how to use SVN to get the James source code - can be found <a class="externalLink" href="http://www.apache.org/dev/version-control.html">here</a>. - Apache James Server beta1 repository is <a class="externalLink" href="http://svn.apache.org/repos/asf/james/server/tags/james-server-3.0-beta1/">http://svn.apache.org/repos/asf/james/server/tags/james-server-3.0-beta1/</a>.</li> - <li>For information, you can download all Apache James sources (server, mailbox, imap, mailet...) if you check out <a class="externalLink" href="http://svn.apache.org/repos/asf/james/current">http://svn.apache.org/repos/asf/james/current/</a>. - Watch out!: you will get a release, but what we call a "trunk", that is on constant development and debugging.</li> - </ol> - - <p>We consider in this document that you have checked-out James source code in JAMES_SRC_HOME directory.</p> - - <p>Consult the <a href="dev.html">architecture</a> page if you want to learn - more on the internal source structure.</p> - - </div> - - <div class="section"><h2>Required Tools<a name="Required_Tools"></a></h2> - - <p>To run the build you need two third-party tools.</p> - <ol style="list-style-type: decimal"> - <li>Java Development Kit - You must have a JDK of Java version 1.6 or higher installed to build the - James distribution. The exact JDKs available depend on the platform. A JDK must be downloaded and - installed before the build can run.</li> - <li>Maven 3.0.2 - This is a Java-tailored, XML-configured, extensible build or make system. You need maven (3.0.2+) in order - to build James. You can get maven 3.0.2 from <a class="externalLink" href="http://maven.apache.org/download.html">here</a>. - Installation instructions for maven are also available on the same page <a class="externalLink" href="http://maven.apache.org/download.html">http://maven.apache.org/download.html</a>.</li> - </ol> - <p>Set (on windows) or export (on Unix) MAVEN_OPTS to tune the memory needed by maven with "MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=128m"</p> - - </div> - - <div class="section"><h2>Build James Source from Command Line<a name="Build_James_Source_from_Command_Line"></a></h2> - - <p>In the JAMES_SRC_HOME top level directory (where the parent pom.xml resides), invoke maven with 'mvn' with any of the following command line arguments: - </p><ul> - <li>clean - deletes the target directory, making the system ready for a clean build.</li> - <li>compile - compiles the source code.</li> - <li>test - run unit tests for James.</li> - <li><b>package - generates all the James distributions, packed. - From the root directory, cd to 'container-spring/target' to have the build distribution. - Notice, for the latest trunk(revision 1430655+), a specific profile argument need to be set: '-Pwith-assembly'. - The location of final distributions is also changed to 'JAMES_SRC_HOME/server/app/target'.</b></li> - <li>javadocs:javadocs - builds the James javadocs.</li> - <li>site - builds the entirety of the James website.</li> - </ul> - - <p>For example, invoke <tt>mvn package</tt> to get a zip/tar of James distribution.</p> - <p>All built products are output in the <tt>container-spring/target</tt> - subdirectory of the James source directory. - This directory will be deleted if you run build with the clean argument.</p> - <p><b>Warning!</b> Any changes you've made in the 'dist' directory - will be lost after a recompilation. If you are running James for this directory - we recommend you backup to avoid losing work. </p> - <p>You can also invoke the command line from a shell. Go to the server project cli folder and type mvn exec:java -Dexec.args="-h localhost -p 9999 help"</p> - - </div> - - <div class="section"><h2>Build James Source from Eclipse<a name="Build_James_Source_from_Eclipse"></a></h2> - - <div class="section"><h3>Import projects in Eclipse with m2eclipse<a name="Import_projects_in_Eclipse_with_m2eclipse"></a></h3> - - <p>You should have Eclipse IDE with <a class="externalLink" href="http://m2eclipse.sonatype.org">m2eclipse</a> plugin installed.</p> - <p>You now need to import the maven projects in the Eclipse workspace.</p> - <p>Therefore, click on the <tt>File</tt> menu and select <tt>Import</tt>. - Choose <tt>Existing Maven Project</tt> and click on <tt>Next</tt> button.</p> - <img src="./images/eclipse/eclipse-import-maven-view-1.gif" alt="" /> - - </div> - - <div class="section"><h3>Select Projects to Import<a name="Select_Projects_to_Import"></a></h3> - - <p>Select the JAMES_SRC_HOME directory where you have checked out the source code.</p> - <p>Eclipse should present you with the list of James server modules.</p> - <p>Select the modules you want to import (by default, all) and click on <tt>Finish</tt> - to execute the import.</p> - - <img src="./images/eclipse/eclipse-import-maven-view-2.gif" alt="" /> - - <p>You can also import other projects from - <a class="externalLink" href="http://james.apache.org/imap/source-code.html">imap</a>, - <a class="externalLink" href="http://james.apache.org/mailbox/source-code.html">mailbox</a> - and <a class="externalLink" href="http://james.apache.org/protocols/source-code.html">protocols</a> to have a - more complete view on the used sources code.</p> - - </div> - - <div class="section"><h3>Enable Workspace Resolution<a name="Enable_Workspace_Resolution"></a></h3> - - <p>Check that 'Workspace resolution' is enable in m2eclipse plugin.</p> - <p>Your changes in code will be directly taken into account.</p> - <img src="./images/eclipse/eclipse-m2eclipse-project-dependencies.gif" alt="" /> - - </div> - - <div class="section"><h3>Prepare projects<a name="Prepare_projects"></a></h3> - - <p>Now you have James projects in Eclipse workspace.</p> - <p>You still have to prepare the following to be able to run from Eclipse:</p> - <ol style="list-style-type: decimal"> - <li>Copy the <tt>context</tt> folder, <tt>log4j.properties</tt> - and <tt>META-INF</tt> folder from <tt>container-spring\src\main\config\james</tt> - directory to a source folder of <tt>container-spring</tt> project (you can use for example a - new folder called <tt>stage</tt> as Eclipse source folder).</li> - <li>Copy all files (except context folder log4j.properties and META-INF/persistence.xml) - from <tt>container-spring\src\main\config\james</tt> folder to a <tt>conf</tt> folder - (<tt>conf</tt> folder must be a sub-folder of the JAMES_SRC_HOME directory where you made the check-out). - As non-root privilege user, you may need to change the SMTP/IMAP/POP3 ports to values higher than 1024.</li> - <li>For ease, you can also create 2 new eclipse projects to edit the files and visualize the created mails/store/...: - james-server-container-spring-conf and james-server-container-spring-var.</li> - </ol> - <img src="./images/eclipse/eclipse-m2eclipse-projects.gif" alt="" /> - - </div> - - <div class="section"><h3>Run James from Eclipse<a name="Run_James_from_Eclipse"></a></h3> - - <p>That's it. Run or Debug James in Eclipse (right-click on the Main class) and Have Fun!.</p> - <img src="./images/eclipse/eclipse-run-james.gif" alt="" /> - - <p>If you change a JPA Entity class, your will need to run 'mvn package' - or add the following option to the VM argument of your run configuration - '-javaagent:my_home_folder/.m2/repository/org/apache/openjpa/openjpa/2.0.1/openjpa-2.0.1.jar' - </p> - - </div> - - </div> - - <div class="section"><h2>Build James from NetBeans<a name="Build_James_from_NetBeans"></a></h2> - - <p>This was done using NetBeans 7, which comes bundeled with Maven 3, needed to build James 3. - Older versions of NetBeans should be able to build James fine, provided that you configure them to use an instance of Maven 3, if they do not have it. - I used james 3.0-beta1 release and it builded in 7:40 min on my notebook running Debian Squeeze. - </p> - - <div class="section"><h3>Getting the sources from the repository<a name="Getting_the_sources_from_the_repository"></a></h3> - <p>Building James with NetBeans is very easy as it comes with Subersion and Maven support already build in. - Maven is bundeled with the IDE, but Subverion is not, so you will have to install Subversion yourself and NetBeans will be able to use it. - You can get more details on how to install and where to get Subversion from the NetBeans Help menu by clicking on <b>Help Contents</b> and from there go to the <b>IDE Basics->Version Control and File Hierarchy->Subversion</b> topic. - </p> - <p>For Linux users, Subversion is probably packaged by your distribution so use your distribution tools to install it (aptitude, yum, etc.)</p> - <p>Once you have Subversion, go to <b>Team->Subversion->Checkout</b> menu entry. <br /> - You will see an dialog window used to enter the information about the Subversion repository you are going to use. It looks like this: - <img src="./images/netbeans/netbeans-svn-checkout1.png" alt="" />. <br /> - In the <tt>Repository URL</tt> field enter the location for James repository and click <tt>Next</tt>. - You can use the following URL to get the trunk or developement version: - <a class="externalLink" href="http://svn.apache.org/repos/asf/james/server/trunk">http://svn.apache.org/repos/asf/james/server/trunk</a>.<br /> - After this you will be presented with another dialog window where you can configure which folders to check out and where to save them on your machine. - <img src="./images/netbeans/netbeans-svn-checkout2.png" alt="" />. <br /> - If you supplied the above URL you can click <tt>Finish</tt> to get trunk version and start hacking. - You can choose another folder by clicking <tt>Browse</tt>. A new dialog window will open and from there you cand browse - the whole subversion repository. I wanted to build James 3.0beta so I choosed <tt>james-serve-3.0-beta1</tt> under james/server/tags/ folder. - <img src="./images/netbeans/netbeans-svn-checkout-browse.png" alt="" />. <br /> - </p> - <p>After you click <tt>Finish</tt> NetBeans will checkout the sources. It will detect the Maven project and ask you if you wish to open the project. - If you open the project you will see in the Projects Window (<tt>CTRL+1</tt> if not visible) something similar to the next image:<br /> - <img src="./images/netbeans/netbeans-james-project.png" alt="" />. - </p> - - </div> - - <div class="section"><h3>Building the project<a name="Building_the_project"></a></h3> - <p> Building the project does not require too much work. Just go to <tt>Run->Build Project</tt> menu option. - Make sure that James is the main project (if you have other projects open) or NetBeans will build that project instead of James. - Once the build is finished you will find the binary distribution in <tt>container-spring/target</tt> directory. - <img src="./images/netbeans/james-build-dir.png" alt="" />. <br /> - </p> - </div> - - </div> - - <div class="section"><h2>Build James Source from other IDEs<a name="Build_James_Source_from_other_IDEs"></a></h2> - - <p>We will be happy to include on this page any other tutorial you could send - use about developing James with your favorite Integrated Development Environment.</p> - - </div> - - - + <!-- Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. --> + + + + <div class="section"><h2>Why Build from Source?<a name="Why_Build_from_Source"></a></h2> + + <p>This step is not necessary to use the standard out of the box version of James. A + pre-built binary version of James is available from the James download directory.</p> + + <p>But if you wish to customize the James source code, it will be necessary for you to + build the distribution yourself.</p> + + <p>You can read on this page how to build from the command line and from eclipse IDE.</p> + + </div> + + <div class="section"><h2>Get Source Code<a name="Get_Source_Code"></a></h2> + + <p>There are two ways to get the James source code.</p> + + <ol style="list-style-type: decimal"> + <li>Download the source distribution - the source is available from the + <a class="externalLink" href="http://james.apache.org/download.cgi">James release mirrors</a>. + Simply choose the version of James you'd like to download, and pick the source + distribution appropriate for your platform.</li> + <li>Get the source code using SVN - this method gives you access to the cutting edge code + base. Instructions on how to use SVN to get the James source code + can be found <a class="externalLink" href="http://www.apache.org/dev/version-control.html">here</a>. + Apache James Server beta4 repository is <a class="externalLink" href="http://svn.apache.org/repos/asf/james/server/tags/james-server-3.0-beta4/">http://svn.apache.org/repos/asf/james/server/tags/james-server-3.0-beta4/</a>.</li> + <li>For information, you can download all Apache James sources (server, mailbox, imap, mailet...) if you check out <a class="externalLink" href="http://svn.apache.org/repos/asf/james/current">http://svn.apache.org/repos/asf/james/current/</a>. + Watch out!: you will get a release, but what we call a "trunk", that is on constant development and debugging.</li> + </ol> + + <p>We consider in this document that you have checked-out James source code in JAMES_SRC_HOME directory.</p> + + <p>Consult the <a href="dev.html">architecture</a> page if you want to learn + more on the internal source structure.</p> + + </div> + + <div class="section"><h2>Required Tools<a name="Required_Tools"></a></h2> + + <p>To run the build you need two third-party tools.</p> + <ol style="list-style-type: decimal"> + <li>Java Development Kit - You must have a JDK of Java version 1.6 or higher installed to build the + James distribution. The exact JDKs available depend on the platform. A JDK must be downloaded and + installed before the build can run.</li> + <li>Maven 3.0.2 - This is a Java-tailored, XML-configured, extensible build or make system. You need maven (3.0.2+) in order + to build James. You can get maven 3.0.2 from <a class="externalLink" href="http://maven.apache.org/download.html">here</a>. + Installation instructions for maven are also available on the same page <a class="externalLink" href="http://maven.apache.org/download.html">http://maven.apache.org/download.html</a>.</li> + </ol> + <p>Set (on windows) or export (on Unix) MAVEN_OPTS to tune the memory needed by maven with "MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=128m"</p> + + </div> + + <div class="section"><h2>Build James Source from Command Line<a name="Build_James_Source_from_Command_Line"></a></h2> + + <p>In the JAMES_SRC_HOME top level directory (where the parent pom.xml resides), invoke maven with 'mvn' with any of the following command line arguments: + </p><ul> + <li>clean - deletes the target directory, making the system ready for a clean build.</li> + <li>compile - compiles the source code.</li> + <li>test - run unit tests for James.</li> + <li><b>package - generates all the James distributions, packed. + From the root directory, cd to 'container-spring/target' to have the build distribution. + Notice, for the latest trunk(revision 1430655+), a specific profile argument need to be set: '-Pwith-assembly'. + The location of final distributions is also changed to 'JAMES_SRC_HOME/server/app/target'.</b></li> + <li>javadocs:javadocs - builds the James javadocs.</li> + <li>site - builds the entirety of the James website.</li> + </ul> + + <p>For example, invoke <tt>mvn package</tt> to get a zip/tar of James distribution.</p> + <p>All built products are output in the <tt>container-spring/target</tt> + subdirectory of the James source directory. + This directory will be deleted if you run build with the clean argument.</p> + <p><b>Warning!</b> Any changes you've made in the 'dist' directory + will be lost after a recompilation. If you are running James for this directory + we recommend you backup to avoid losing work. </p> + <p>You can also invoke the command line from a shell. Go to the server project cli folder and type mvn exec:java -Dexec.args="-h localhost -p 9999 help"</p> + + </div> + + <div class="section"><h2>Build James Source from Eclipse<a name="Build_James_Source_from_Eclipse"></a></h2> + + <div class="section"><h3>Import projects in Eclipse with m2eclipse<a name="Import_projects_in_Eclipse_with_m2eclipse"></a></h3> + + <p>You should have Eclipse IDE with <a class="externalLink" href="http://m2eclipse.sonatype.org">m2eclipse</a> plugin installed.</p> + <p>You now need to import the maven projects in the Eclipse workspace.</p> + <p>Therefore, click on the <tt>File</tt> menu and select <tt>Import</tt>. + Choose <tt>Existing Maven Project</tt> and click on <tt>Next</tt> button.</p> + <img src="./images/eclipse/eclipse-import-maven-view-1.gif" alt="" /> + + </div> + + <div class="section"><h3>Select Projects to Import<a name="Select_Projects_to_Import"></a></h3> + + <p>Select the JAMES_SRC_HOME directory where you have checked out the source code.</p> + <p>Eclipse should present you with the list of James server modules.</p> + <p>Select the modules you want to import (by default, all) and click on <tt>Finish</tt> + to execute the import.</p> + + <img src="./images/eclipse/eclipse-import-maven-view-2.gif" alt="" /> + + <p>You can also import other projects from + <a class="externalLink" href="http://james.apache.org/imap/source-code.html">imap</a>, + <a class="externalLink" href="http://james.apache.org/mailbox/source-code.html">mailbox</a> + and <a class="externalLink" href="http://james.apache.org/protocols/source-code.html">protocols</a> to have a + more complete view on the used sources code.</p> + + </div> + + <div class="section"><h3>Enable Workspace Resolution<a name="Enable_Workspace_Resolution"></a></h3> + + <p>Check that 'Workspace resolution' is enable in m2eclipse plugin.</p> + <p>Your changes in code will be directly taken into account.</p> + <img src="./images/eclipse/eclipse-m2eclipse-project-dependencies.gif" alt="" /> + + </div> + + <div class="section"><h3>Prepare projects<a name="Prepare_projects"></a></h3> + + <p>Now you have James projects in Eclipse workspace.</p> + <p>You still have to prepare the following to be able to run from Eclipse:</p> + <ol style="list-style-type: decimal"> + <li>Copy the <tt>context</tt> folder, <tt>log4j.properties</tt> + and <tt>META-INF</tt> folder from <tt>container-spring\src\main\config\james</tt> + directory to a source folder of <tt>container-spring</tt> project (you can use for example a + new folder called <tt>stage</tt> as Eclipse source folder).</li> + <li>Copy all files (except context folder log4j.properties and META-INF/persistence.xml) + from <tt>container-spring\src\main\config\james</tt> folder to a <tt>conf</tt> folder + (<tt>conf</tt> folder must be a sub-folder of the JAMES_SRC_HOME directory where you made the check-out). + As non-root privilege user, you may need to change the SMTP/IMAP/POP3 ports to values higher than 1024.</li> + <li>For ease, you can also create 2 new eclipse projects to edit the files and visualize the created mails/store/...: + james-server-container-spring-conf and james-server-container-spring-var.</li> + </ol> + <img src="./images/eclipse/eclipse-m2eclipse-projects.gif" alt="" /> + + </div> + + <div class="section"><h3>Run James from Eclipse<a name="Run_James_from_Eclipse"></a></h3> + + <p>That's it. Run or Debug James in Eclipse (right-click on the Main class) and Have Fun!.</p> + <img src="./images/eclipse/eclipse-run-james.gif" alt="" /> + + <p>If you change a JPA Entity class, your will need to run 'mvn package' + or add the following option to the VM argument of your run configuration + '-javaagent:my_home_folder/.m2/repository/org/apache/openjpa/openjpa/2.0.1/openjpa-2.0.1.jar' + </p> + + </div> + + </div> + + <div class="section"><h2>Build James from NetBeans<a name="Build_James_from_NetBeans"></a></h2> + + <p>This was done using NetBeans 7, which comes bundeled with Maven 3, needed to build James 3. + Older versions of NetBeans should be able to build James fine, provided that you configure them to use an instance of Maven 3, if they do not have it. + I used james 3.0-beta1 release and it builded in 7:40 min on my notebook running Debian Squeeze. + </p> + + <div class="section"><h3>Getting the sources from the repository<a name="Getting_the_sources_from_the_repository"></a></h3> + <p>Building James with NetBeans is very easy as it comes with Subersion and Maven support already build in. + Maven is bundeled with the IDE, but Subverion is not, so you will have to install Subversion yourself and NetBeans will be able to use it. + You can get more details on how to install and where to get Subversion from the NetBeans Help menu by clicking on <b>Help Contents</b> and from there go to the <b>IDE Basics->Version Control and File Hierarchy->Subversion</b> topic. + </p> + <p>For Linux users, Subversion is probably packaged by your distribution so use your distribution tools to install it (aptitude, yum, etc.)</p> + <p>Once you have Subversion, go to <b>Team->Subversion->Checkout</b> menu entry. <br /> + You will see an dialog window used to enter the information about the Subversion repository you are going to use. It looks like this:</p> + <img src="./images/netbeans/netbeans-svn-checkout1.png" alt="" /> + <p>In the <tt>Repository URL</tt> field enter the location for James repository and click <tt>Next</tt>. + You can use the following URL to get the trunk or development version: + <a class="externalLink" href="http://svn.apache.org/repos/asf/james/server/trunk">http://svn.apache.org/repos/asf/james/server/trunk</a>.<br /> + After this you will be presented with another dialog window where you can configure which folders to check out and where to save them on your machine.</p> + <img src="./images/netbeans/netbeans-svn-checkout2.png" alt="" /> + <p>If you supplied the above URL you can click <tt>Finish</tt> to get trunk version and start hacking. + You can choose another folder by clicking <tt>Browse</tt>. A new dialog window will open and from there you can browse + the whole subversion repository. I wanted to build James 3.0beta so I choosed <tt>james-serve-3.0-beta1</tt> under james/server/tags/ folder. <br /></p> + <img src="./images/netbeans/netbeans-svn-checkout-browse.png" alt="" /> + + <p>After you click <tt>Finish</tt> NetBeans will checkout the sources. It will detect the Maven project and ask you if you wish to open the project. + If you open the project you will see in the Projects Window (<tt>CTRL+1</tt> if not visible) something similar to the next image:<br /></p> + <img src="./images/netbeans/netbeans-james-project.png" alt="" /> + + </div> + + <div class="section"><h3>Building the project<a name="Building_the_project"></a></h3> + <p> Building the project does not require too much work. Just go to <tt>Run->Build Project</tt> menu option. + Make sure that James is the main project (if you have other projects open) or NetBeans will build that project instead of James. + Once the build is finished you will find the binary distribution in <tt>container-spring/target</tt> directory. <br /></p> + <img src="./images/netbeans/james-build-dir.png" alt="" /> + </div> + + </div> + + <div class="section"><h2>Build James from IntelliJ IDEA<a name="Build_James_from_IntelliJ_IDEA"></a></h2> + + <p>This section has been created using IntelliJ IDEA 12 and Maven 3. And downloading the trunk version of the server + from <tt>http://svn.apache.org/repos/asf/james/server/trunk/</tt>. + </p> + + <div class="section"><h3>Getting the sources from the repository<a name="Getting_the_sources_from_the_repository"></a></h3> + <p>To download the source code, you can use the Subversion support that comes with IntelliJ IDEA following the next steps:</p> + + <p>First, in the Welcome page, click on <b>Check out from Version Control</b> and select <b>Subversion</b>.</p> + <img src="./images/intellij-idea/intellij-new-project.png" alt="" /> + <p>In the pop-up window, press the <b>+</b> button to add the James code repository in the next pop-up.</p> + <img src="./images/intellij-idea/intellij-svn-repo.png" alt="" /> <br /> + <img src="./images/intellij-idea/intellij-svn-repo-add-repo.png" alt="" /> <br /> + <p>Then, choose the location for the project.</p> + <img src="./images/intellij-idea/intellij-svn-repo-checkout-choose-folder.png" alt="" /> + + <p>When this process is done, the project should look like this. <br /></p> + <img src="./images/intellij-idea/intellij-james-project.png" alt="" /> + + </div> + + <div class="section"><h3>Building the project<a name="Building_the_project"></a></h3> + <p> To build the project, you must open the <b>Maven Projects</b> panel. Then double click on the install goal to run this goal.<br /></p> + <img src="./images/intellij-idea/intellij-mvn.png" alt="" /> + <p>Then you will find the James server zip in the <b>app/target</b> folder.<br /></p> + <img src="./images/intellij-idea/intellij-james-zip.png" alt="" /> + </div> + </div> + + + <div class="section"><h2>Build James Source from other IDEs<a name="Build_James_Source_from_other_IDEs"></a></h2> + + <p>We will be happy to include on this page any other tutorial you could send + use about developing James with your favorite Integrated Development Environment.</p> + + </div> + + + </div> </div> @@ -494,7 +523,7 @@ <hr/> </div> <div id="footer"> - <div class="xright">Copyright © 2002-2013 + <div class="xright">Copyright © 2002-2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.