mirror of
https://github.com/vanitasvitae/Smack.git
synced 2024-12-18 00:27:57 +01:00
e98d42790a
This commit adds - SmackReactor / NIO - a framework for finite state machine connections - support for Java 8 - pretty printed XML debug output It also - reworks the integration test framework - raises the minimum Android API level to 19 - introduces XmppNioTcpConnection Furthermore fixes SMACK-801 (at least partly). Java 8 language features are available, but not all runtime library methods. For that we would need to raise the Android API level to 24 or higher. |
||
---|---|---|
.. | ||
eclipse | ||
logo | ||
releasedocs | ||
sample | ||
getCopyright.sh | ||
gradle.properties.example | ||
javadoc-overview.html | ||
README.html | ||
sample.providers | ||
smacklint.sh |
<!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> A Java Development Kit (JDK) must be installed and setup on your machine. To test the installation, open a shell in a Unix or a MS-DOS prompt in Windows. Check your version of Java with "javac -version". 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>