<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to DevGuide</title><link>https://sourceforge.net/p/arcomem/wiki/DevGuide/</link><description>Recent changes to DevGuide</description><atom:link href="https://sourceforge.net/p/arcomem/wiki/DevGuide/feed" rel="self"/><language>en</language><lastBuildDate>Wed, 19 Feb 2014 00:27:17 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/arcomem/wiki/DevGuide/feed" rel="self" type="application/rss+xml"/><item><title>DevGuide modified by John Arcoman</title><link>https://sourceforge.net/p/arcomem/wiki/DevGuide/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="installing-the-arcomem-framework-for-development"&gt;Installing the Arcomem Framework for Development&lt;/h1&gt;
&lt;p&gt;If you want to develop the framework or modules for the framework, you need to&lt;br /&gt;
install it on your machine.&lt;/p&gt;
&lt;p&gt;First you will need to install a Java JDK from&lt;br /&gt;
&lt;a class="" href="http://java.sun.com/" rel="nofollow"&gt;Oracle&lt;/a&gt;. The ARCOMEM system was tested with version 1.7.&lt;br /&gt;
You will also need to install Maven which you can get from&lt;br /&gt;
&lt;a class="" href="http://maven.apache.org/" rel="nofollow"&gt;Apache&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To develop, you will want to use your favourite IDE. As the framework uses&lt;br /&gt;
Maven has a dependency management system, you can use that to generate the&lt;br /&gt;
appropriate project files for your IDE.  For eclipse, from within the directory&lt;br /&gt;
run:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;mvn&lt;/span&gt; &lt;span class="n"&gt;eclipse&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;eclipse&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;This generates the eclipse &lt;code&gt;.project&lt;/code&gt;, &lt;code&gt;.classpath&lt;/code&gt; and &lt;code&gt;.settings&lt;/code&gt; files. It&lt;br /&gt;
may take some time to do this at first as Maven will download all the project\'s&lt;br /&gt;
dependencies into a directory on your machine (&lt;code&gt;~/.m2/repository&lt;/code&gt;), but it only&lt;br /&gt;
needs to do this once. Start up Eclipse and from the &lt;code&gt;File&lt;/code&gt; menu select&lt;br /&gt;
&lt;code&gt;Import&lt;/code&gt; and then &lt;code&gt;Existing Projects into Workspace&lt;/code&gt; and select your new&lt;br /&gt;
directory. You should get 4 individual projects imported into your workspace:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;arcomem-framework-core&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;&lt;code&gt;offline-analysis-core&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;&lt;code&gt;offline-analysis-modules&lt;/code&gt; and&lt;/li&gt;
&lt;li&gt;&lt;code&gt;online-analysis&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you are developing offline analysis modules, you should (if it\'s not&lt;br /&gt;
obvious) put them in the &lt;code&gt;offline-analysis-modules&lt;/code&gt; project in the appropriate&lt;br /&gt;
package.&lt;/p&gt;
&lt;p&gt;If you want to examine the documentation, you can build the documentation using&lt;br /&gt;
the following Maven command:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;mvn&lt;/span&gt; &lt;span class="n"&gt;site&lt;/span&gt; &lt;span class="n"&gt;site&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;stage&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The documentation will be output into the &lt;code&gt;target/staging&lt;/code&gt; directory.  Open&lt;br /&gt;
&lt;code&gt;index.html&lt;/code&gt; into your browser to view the documentation. This command will&lt;br /&gt;
also build the PDF version of the documentation&lt;br /&gt;
&lt;code&gt;target/staging/ArcomemFramework.pdf&lt;/code&gt;. &lt;strong&gt;Note that due to a change between&lt;br /&gt;
maven 2 and maven 3, the PDF will not contain the project reports chapters if&lt;br /&gt;
maven 3 is used.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="building-the-system"&gt;Building the System&lt;/h2&gt;
&lt;p&gt;To build the system you can either let Eclipse do it or you can build directly&lt;br /&gt;
from the command-line.  To do this use the Maven command:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;mvn&lt;/span&gt; &lt;span class="n"&gt;compile&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;You can ensure that you clean the stuff that Eclipse is building by using&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;mvn&lt;/span&gt; &lt;span class="n"&gt;clean&lt;/span&gt; &lt;span class="n"&gt;compile&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Sometime you may have issues with dependencies not being refreshed&lt;br /&gt;
correctly. If you encounter this try using the &lt;code&gt;-U&lt;/code&gt; flag which will make Maven&lt;br /&gt;
re-check whether the dependencies need downloading (by default it only does&lt;br /&gt;
this now-and-again once the dependency is downloaded):&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;mvn&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;U&lt;/span&gt; &lt;span class="n"&gt;clean&lt;/span&gt; &lt;span class="n"&gt;compile&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;If you still have troubles will dependencies, try deleting the appropriate&lt;br /&gt;
directory in your local Maven repository &lt;code&gt;~/.m2/repository&lt;/code&gt; and re-running the&lt;br /&gt;
last command.&lt;/p&gt;
&lt;h2 id="creating-assemblies"&gt;Creating Assemblies&lt;/h2&gt;
&lt;p&gt;Assemblies are \'Maven-talk\' for fat-jars - jars that contain all the&lt;br /&gt;
dependencies. The framework\'s Maven configuration (&lt;code&gt;pom.xml&lt;/code&gt;) is already set up&lt;br /&gt;
to produce assemblies. To create the assemblies, you must first install the&lt;br /&gt;
snapshots into your local repository. From the top-level &lt;code&gt;arcomem-framework&lt;/code&gt;&lt;br /&gt;
directory run:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;mvn&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;This will copy the snapshots into your local repository as artifacts. Now you&lt;br /&gt;
can use these to build the assemblies. Go into a sub-project folder&lt;br /&gt;
(e.g. &lt;code&gt;online-analysis&lt;/code&gt;) and from within the folder run the following Maven&lt;br /&gt;
command:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;mvn&lt;/span&gt; &lt;span class="n"&gt;assembly&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;assembly&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;This will build the fat jar into the &lt;code&gt;target&lt;/code&gt; directory within that sub-project.&lt;/p&gt;
&lt;h2 id="deploying-snapshots"&gt;Deploying Snapshots&lt;/h2&gt;
&lt;p&gt;Snapshots (as opposed to releases) are builds of the system which have not been&lt;br /&gt;
marked as a release.  They include new code and may be unstable. However, it is&lt;br /&gt;
entirely possible that your code is not ready for release, yet you wish to make&lt;br /&gt;
a deployment so that someone else can use your code with Maven. To do that use:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;mvn&lt;/span&gt; &lt;span class="n"&gt;deploy&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;which will make an assembly of the sub-project and upload it to our Arcomem&lt;br /&gt;
Maven repository which currently resides in Southampton. Someone else can then&lt;br /&gt;
make use of the code by adding the dependency to their &lt;em&gt;pom.xml&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">John Arcoman</dc:creator><pubDate>Wed, 19 Feb 2014 00:27:17 -0000</pubDate><guid>https://sourceforge.netc92da8fe1044922bab8ad1eba0e74fd6019c7441</guid></item></channel></rss>