The detection of design smells (i.e., occurrences of anti-patterns and of their code smells) can be simply done in batch, programmatically. There are two possible ways. ====== Standalone SmellDetectionCaller ====== The standalone ''SmellDetectionCaller'' can be found on [[https://github.com/ptidejteam/SmellDetectionCaller|GitHub]] or BitBucket. The Eclipse Java project ''0 - SmellDetectionCaller'' contains the Java, class, and JAR files needed to identify occurrences of code and design smells in Java source code, Java binary class-files, or C++ source code. The class ''ptidej.sad.smelldetectioncaller.SmellDetectionCaller'' must be modified to change the path to a folder or a JAR file in which is located the code of the program to be analysed. The remaining Eclipse Java projects are only used to regenerate the JAR files necessary to run the class ''ptidej.sad.smelldetectioncaller.SmellDetectionCaller''. These JAR files are in the ''Ptidej.jar'', which contains the bare minimum code from Ptidej, and the JAR files in ''Ptidej_lib'', which contains all the JAR supporting Ptidej. ===== How to Build JAR Version ===== - Execute once ''/SmellDetectionCaller/src/ptidej/sad/smelldetectioncaller/SmellDetectionCaller.java'' as launch configuration ''SmellDetectionCaller''. - Select ''/SmellDetectionCaller/src/ptidej/sad/smelldetectioncaller/SmellDetectionCaller.java''. - Export as "Java/Runnable JAR file" - Select as launch configuration ''SmellDetectionCaller''. - Select as export destination ''0 - SmellDetectionCaller\Ptidej.jar''. - Select ''Copy required libraries into a sub-folder next to the generated JAR''. - Check ''Save as ANT script''. - Select as ANT script location ''\0 - SmellDetectionCaller\Generate JARs.xml''. ====== Full Ptidej SmellDetectionCaller ====== The complete source code and supporting JAR files of Ptidej can be found on GitHub and [[https://bitbucket.org/ptidejteam/ptidej-5|BitBucket]]. After downloading and (re)compiling the source code, the class ''sad.detection.generators.SmellDetectionCaller'' should be modified to point the detection to the path or JAR files containing the program to be analysed. The class ''sad.detection.generators.SmellDetectionHelper'' can also be modified to select what anti-patterns and-or code smells to detect.