- python 2.7+ (kenja doesn't support python 3 because GitPython does'nt support python 3)
- Java
- git (confirmed versions)
- 1.7.10
- 1.8.5.2
- 2.0.1
Kenja needs following libraries.
python setup.py install
git submodule init
git submodule update
cd parser/java
mvn assembly:assembly
cd -
cp parser/java/target/kenja-java-parser-0.1-jar-with-dependencies.jar kenja/lib/java-parser.jar
python setup.py install
kenja.historage.convert <your_repository_path> <path_of_historage_directory> <path_of_syntax_tree_directory>
- Use path of empty directory for <path_of_historage_directory>
- Historage (a Git repository) will be created here.
- Kenja will make this directory automatically if you give non-existing directory.
kenja.historage.convert --syntax-trees-dir=<path_of_syntax_tree_directory> <your_repository_path> <path_of_historage_directory>
- Information of syntax trees will be stored in the <path_of_syntax_tree_directory>
- We recommend you to provide path of empty dir for <path_of_syntax_tree_directory>
- Kenja will make a lot of files which contains syntax information to construct a historage.
- Kenja will make this directory automatically if you give non-existing directory.
kenja.detection.extract_method all <historage_path>
kenja.detection.extract_method --format json all <historage_path>
kenja.detection.pull_up_method all <historage_path>
use install.sh
sh install.sh
Apache Maven 2 or 3
- The Historage which converted by kenja is case sensitive, because Git is case sensitive too.
- Your local file system should use case sensitive file system when you construct Historage by kenja.