KodeBeagle aims at solving common software engineering challenges developers face in day-to-day activity. With the help of modern day technologies like Apache Spark, processsing TBs of data has become fast. Currently, we have targeted the following areas-
Navigation - Currently, we are working on providing an IDE like code navigation on github for repositories. (Currently Java Repositories on github are supported)
- Input parameters are to be set in src/main/resources/application.properties
- For the crawler jobs set
kodebeagle.github.crawlDirto path/to/dir/to/save/github-repos and
kodebeagle.spark.githubTokensto comma separated github tokens.
- For the index jobs set
kodebeagle.github.crawlDirto path/to/dir/of/github-repos and
kodebeagle.spark.index.outputDirto <path/to/save/indexes> (dont create this directory. It will be created automatically)
- Launch sbt launcher from project directory (make sure you have sbt installed).
- In the sbt launcher, type
project coreand then
- To run the crawler for Java and Scala repositories - Enter number for com.kodebeagle.crawler.GitHubRepoCrawlerApp
- To run the IndexJob for Java and Scala repositories - Enter number for com.kodebeagle.spark.ConsolidatedIndexJob
Upload Indices to ElasticSearch
Each of the index creation job generates indices which you can upload to your local elasticsearch by using the the script bin/upload_to_es.sh. Run this in your directory where the indices have been saved.
Change toplevel '<module .* type ="JAVA_MODULE" />' change type to "PLUGIN_MODULE".
Open Project Structure and select pluginImpl module.
In plugin deployment tab Specify path to plugin.xml (NOTE: Click NO to cleanup META_INF dialogue box to prevent accidently deleting plugin.xml file, that way it will use existing plugin.xml file.)
In Dependencies tab specify intellij Idea SDK.
To run it, go to Run > Edit Configurations > Select Plugin > Apply
Then click run (little green triangle icon on the right side)
Development Enviroment Setup
To develop KodeBeagle, you can use either IntelliJ IDEA Community Edition or IntelliJ IDEA Ultimate not older than 15.0.
Download the latest version of Scala plugin.
Extract the scala plugin archive and copy the scala-plugin.jar from Scala/lib/scala-plugin.jar to idea-IC-143.XXX.XX (Intellij IDE Folder).
Go to the IDE select File > Settings > Plugins > Install plugin from disk > Navigate to the scala-plugin that was downloaded > Restart IDE (Make sure the plugin is enabled)
Then navigate to File > New > Project From Existing Source > Navigate to Project Directory > Import Project From External Model > SBT > Select auto-import and go to Global Settings > VM params. Type this
Click on finish, wait for sbt to resolve all the project dependencies.
- Fork it!
- For each feature or bug, create a new issue on the github repository.
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am '#[MODULE_NAME] <ISSUE_NUMBER> <MESSAGE> fixes #<ISSUE_NUMBER> closes #<PULL_REQUEST_NUMBER> '.
- Please look at other commit messages in the log for the appropriate commit message convention. Or else your build will fail.
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
Code Of Conduct
This project adheres to the Open Code of Conduct. By participating, you agree to honor this code.
Please look at our license.