jagiellonian/frege-analyzer-cpp

Sponsored OSS

By Jagiellonian University

Updated about 3 years ago

Image
Languages & Frameworks
Integration & Delivery
Security
0

418

Frege Analyzer C++

Overview

This is an application responsible for analyzing .cpp files. It is responsible for accepting messages from queue analyze-cpp defined in examples. After receiving said message it looks for all the files that need to be analyzed - those connected with received repo_id that are written in C++ (have value in language_id equal to 2), are present and have not already been analyzed. In order to analyze said files the application uses lizard. After completing the process application sends a message to gc queue in order to confirm that the process of analyzing have been completed. Example of said message can be seen in examples.

The application connects to fregepostgresql database and automatically creates table cppfile that is used to store the results of analyzing process. The model of said table is defined in database.py

Examples

Example of message received from analyze-cpp queue

{ 
  "repo_id": "id" 
} 

Example of message send to gc queue

{ 
  "repo_id": "id", 
  "language_id": 2 
} 
Environment variables

In order to run this application locally it's required to supply it with below environment variables:

RMQ_HOST - The RabbitMQ host

RMQ_PORT - RabbitMQ port (if not specified default port 5672 is used)

DB_HOST - PostgreSQL server host

DB_DATABASE - Database name

DB_USERNAME - Database username

DB_PASSWORD - Database password

Docker Pull Command

docker pull jagiellonian/frege-analyzer-cpp