mirror of
https://github.com/vanitasvitae/Smack.git
synced 2024-12-27 13:07:58 +01:00
c9a9982cef
While markdown is easier to write, Smack's markdown documentation was never tightly coupled with the source. For example, the markdown documentation never provided links to the actual Java classes and methods. This poses the risk that the documentation and the code diverge over time. Furthermore, javadoc is constantly improving (for example @snippet annotations) and I expect that one will be able to write javadoc in markdown. Fixes SMACK-928. |
||
---|---|---|
.. | ||
eclipse | ||
intellij | ||
logo | ||
old-documentation-images | ||
releasedocs | ||
sample | ||
fix-a-javadoc.sh | ||
generate-notice-file | ||
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>