This document provides detailed information for developers that wish to compile and make changes to the Smack source code.
For additional developer resources, please visit: http://www.igniterealtime.org/projects/smack. The Smack build process is based on Gradle. Visit the Gradle website for more information and downloads.
This documentation is divided into two sections:
Getting your machine ready for Smack development requires a few steps. Wherever possible, instructions are provided for both Unix/Linux and Windows users.
Now, invoke the build tool to compile the Smack source code
If the build tool is invoked correctly and Smack compiles, you've correctly
configured your copy of the Smack developer distribution.
gradle build
Finished!
The list of build tasks is below.
For a list of the commands and a brief description from the command line, type
gradle tasks
. For more complete help, read the documentation below.
To execute a build task, type gradle [options] targetname
where "targetname" is
one of the targets listed below:
Each task is documented with a syntax guide and description. Optional paramaters for each task are enclosed with braces.
gradle build
Description:
Compiles all the Smack source code and run the test suite. The artifacts of the sub-projects can be found at<subprojectDir>/build/libs
gradle javadocAll
Description:
JavaDocs all Smack source code and saves it underbuild/javadoc
.
gradle clean
Description:
Cleans your Smack distribution directory by deleting compiled class files and artifacts.
gradle eclipse
Description:
Generates Eclipse configuration files for every project. After runninggradle build eclipse
you can import Smack in
Eclipse by selecting File
→ Import...
→ Existing Projects into Workspace
Search for nested projects
". It may be
also a good idea to create a working set for Smack, and add all Smack
projects to that working set.
build
target
when generating the Eclipse files, or else Eclipse may not find all
requirements.
gradle projects
Description:
Show all Smack projects and their description.