2014-02-14 18:13:51 +01:00
|
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
|
|
|
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<title>Smack Source Distribution</title>
|
|
|
|
<style type="text/css">
|
|
|
|
BODY {
|
|
|
|
font-size : 100%;
|
|
|
|
}
|
|
|
|
BODY, TD, TH {
|
|
|
|
font-family : tahoma, verdana, arial, helvetica, sans-serif;
|
|
|
|
font-size : 0.8em;
|
|
|
|
}
|
|
|
|
A:hover {
|
|
|
|
text-decoration : none;
|
|
|
|
}
|
|
|
|
TT {
|
|
|
|
font-family : courier new, monospace;
|
|
|
|
font-weight : bold;
|
|
|
|
color : #060;
|
|
|
|
}
|
|
|
|
PRE, CODE {
|
|
|
|
font-family : courier new, monospace;
|
|
|
|
font-size : 100%;
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
</head>
|
|
|
|
|
|
|
|
<body>
|
|
|
|
|
|
|
|
<font size=4>
|
|
|
|
Smack Source Distribution<br>
|
|
|
|
</font><br>
|
|
|
|
<p>
|
|
|
|
|
|
|
|
This document provides detailed information for developers that wish to
|
|
|
|
compile and make changes to the Smack source code.
|
|
|
|
|
|
|
|
<p>For additional developer resources, please visit:
|
|
|
|
<a href="http://www.igniterealtime.org/projects/smack">
|
|
|
|
http://www.igniterealtime.org/projects/smack</a>. The Smack build process is based on Gradle. Visit the
|
|
|
|
<a href="http://www.gradle.org">Gradle website</a>
|
|
|
|
for more information and downloads.
|
|
|
|
<p>
|
|
|
|
This documentation is divided into two sections:
|
|
|
|
<ol>
|
|
|
|
<li> <a href="#setup">Setup</a> -- how to setup your environment for Smack development.
|
|
|
|
<li> <a href="#tasks">Build tasks</a> -- tasks that can be performed using the build program.
|
|
|
|
</ol>
|
|
|
|
|
|
|
|
<p><a name="setup"><b><font color="#0066cc">1.</font> Setup Your Environment</b></a><p>
|
|
|
|
|
|
|
|
Getting your machine ready for Smack development requires a few steps. Wherever
|
|
|
|
possible, instructions are provided for both Unix/Linux and Windows users.
|
|
|
|
<p>
|
|
|
|
<b><a name="javaSetup">Configure Java</a></b>
|
|
|
|
<ul>
|
2014-07-05 12:04:40 +02:00
|
|
|
A Java Development Kit (JDK) must be installed and setup on your machine. To test the installation,
|
2014-02-14 18:13:51 +01:00
|
|
|
open a shell in a Unix or a MS-DOS prompt in Windows. Check your version of
|
2014-07-05 12:04:40 +02:00
|
|
|
Java with "javac -version".
|
2014-02-14 18:13:51 +01:00
|
|
|
If Java isn't installed, download a copy from the
|
|
|
|
<a href="http://java.oracle.com/">Java website</a>.
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<b><a name="antSetup">Configure Gradle</a></b>
|
|
|
|
<ul>
|
|
|
|
Download Gradle from the <a href="http://www.gradle.org">Gradle website</a>. Follow
|
|
|
|
the setup instructions for your operating system.
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<p><b><a name="checkout">Test the Build Script</a></b><p>
|
|
|
|
<ul>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
Now, invoke the build tool to compile the Smack source code
|
|
|
|
|
|
|
|
<p>
|
|
|
|
</font><code>gradle build</code><font face="verdana, arial, helvetica" size=2>
|
|
|
|
<p>
|
|
|
|
|
|
|
|
If the build tool is invoked correctly and Smack compiles, you've correctly
|
|
|
|
configured your copy of the Smack developer distribution.
|
|
|
|
</font>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<p><b>Finished!</b><p>
|
|
|
|
<ul>
|
|
|
|
If you've gotten this far, you've finished setting up the Smack developer
|
|
|
|
distribution. Now, read below to learn about all of the tasks that you can perform
|
|
|
|
with the build tool.
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<br><br>
|
|
|
|
|
|
|
|
<p><b><a name="tasks"><font color="#0066cc">2.</font> Gradle Tasks</a></b><p>
|
|
|
|
|
|
|
|
The list of build tasks is below.
|
|
|
|
|
|
|
|
<br><br>
|
|
|
|
|
|
|
|
For a list of the commands and a brief description from the command line, type
|
|
|
|
<code>gradle tasks</code>. For more complete help, read the documentation below.
|
|
|
|
|
|
|
|
<br><br>
|
|
|
|
|
|
|
|
To execute a build task, type <code>gradle [options] targetname</code> where "targetname" is
|
|
|
|
one of the targets listed below:
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li><a href="#build">build</a>
|
|
|
|
<li><a href="#javadoc">javadocAll</a>
|
|
|
|
<li><a href="#clean">clean</a>
|
|
|
|
<li><a href="#eclipse">eclipse</a>
|
|
|
|
<li><a href="#projects">projects</a>
|
|
|
|
</ul>
|
|
|
|
<p>
|
|
|
|
Each task is documented with a syntax guide and description. Optional paramaters
|
|
|
|
for each task are enclosed with braces.
|
|
|
|
|
|
|
|
<p><b><a name="build">build</a></b>
|
|
|
|
<ul>
|
|
|
|
<i>Syntax:</i><p>
|
|
|
|
|
|
|
|
<code>
|
|
|
|
gradle build <br>
|
|
|
|
</code>
|
|
|
|
|
|
|
|
<p><i>Description:</i></p>
|
|
|
|
|
|
|
|
Compiles all the Smack source code and run the test suite. The
|
|
|
|
artifacts of the sub-projects can be found
|
|
|
|
at <code><subprojectDir>/build/libs</code>
|
|
|
|
|
|
|
|
<p>[<a href="#tasks">return to task list</a>]
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<p><b><a name="javadoc">javadocAll</a></b>
|
|
|
|
<ul>
|
|
|
|
<i>Syntax:</i><p>
|
|
|
|
|
|
|
|
<code>
|
|
|
|
gradle javadocAll<br>
|
|
|
|
</code>
|
|
|
|
|
|
|
|
<p><i>Description:</i></p>
|
|
|
|
|
|
|
|
JavaDocs all Smack source code and saves it under <code>build/javadoc</code>.
|
|
|
|
|
|
|
|
<p>[<a href="#tasks">return to task list</a>]
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<p><b><a name="clean">clean</a></b>
|
|
|
|
<ul>
|
|
|
|
<i>Syntax:</i><p>
|
|
|
|
|
|
|
|
<code>
|
|
|
|
gradle clean<br>
|
|
|
|
</code>
|
|
|
|
|
|
|
|
<p><i>Description:</i></p>
|
|
|
|
|
|
|
|
Cleans your Smack distribution directory by deleting compiled class
|
|
|
|
files and artifacts.
|
|
|
|
|
|
|
|
<p>[<a href="#tasks">return to task list</a>]
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<p><b><a name="eclipse">eclipse</a></b>
|
|
|
|
<ul>
|
|
|
|
<i>Syntax:</i><p>
|
|
|
|
|
|
|
|
<code>
|
|
|
|
gradle eclipse<br>
|
|
|
|
</code>
|
|
|
|
|
|
|
|
<p><i>Description:</i></p>
|
|
|
|
|
|
|
|
Generates Eclipse configuration files for every project. After
|
|
|
|
running <code>gradle build eclipse</code> you can import Smack in
|
|
|
|
Eclipse by selecting <code>File</code> → <code>Import...</code>
|
|
|
|
→ <code>Existing Projects into Workspace</code>
|
|
|
|
<br>
|
|
|
|
Make sure to check "<code>Search for nested projects</code>". It may be
|
|
|
|
also a good idea to create a working set for Smack, and add all Smack
|
|
|
|
projects to that working set.
|
|
|
|
<br>
|
|
|
|
Note that it's recommended to also call the <code>build</code> target
|
|
|
|
when generating the Eclipse files, or else Eclipse may not find all
|
|
|
|
requirements.
|
|
|
|
|
|
|
|
<p>[<a href="#tasks">return to task list</a>]
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<p><b><a name="projects">projects</a></b>
|
|
|
|
<ul>
|
|
|
|
<i>Syntax:</i><p>
|
|
|
|
|
|
|
|
<code>
|
|
|
|
gradle projects<br>
|
|
|
|
</code>
|
|
|
|
|
|
|
|
<p><i>Description:</i></p>
|
|
|
|
|
|
|
|
Show all Smack projects and their description.
|
|
|
|
|
|
|
|
<p>[<a href="#tasks">return to task list</a>]
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
</html>
|