Skip to content

mezuro/kalibro_processor

Repository files navigation

README - Kalibro Processor

<img src=“https://codeclimate.com/github/mezuro/kalibro_processor.png” /> <img src=“https://travis-ci.org/mezuro/kalibro_processor.png?branch=master” alt=“Build Status” /> <img src=“https://codeclimate.com/github/mezuro/kalibro_processor/badges/coverage.svg” />

Kalibro Processor is a source code analysis web service which is also part of the Mezuro project. It is free software under the AGPLv3 license.

It was strongly based on the vintage Kalibro (github.com/mezuro/kalibro) written in Java mostly by Carlos Morais (carlos88morais at gmail dot com) on his MSc dissertation (in portuguese www.teses.usp.br/teses/disponiveis/45/45134/tde-25092013-142158/en.php)


Contributing

Please, have a look at the wiki pages about development workflow and code standards:


Development

  • System dependencies (Ubuntu package names)

    • build-essential

    • curl

    • postgresql-server-dev-9.1

    NOTE: The version of postgresql may vary according to your system version

  • Ruby version

    2.3.0

    You can easily install it through the Ruby Version Manager - RVM. Instructions on how to do it can be found at rvm.io

    NOTE: If you are using the gnome-shell, or any derivative like terminator, you have to mark on your profile the option to use a “login bash”.

  • Configuration

    ./bin/setup

    This will create all the configuration files with defaults for Ubuntu and initialize your database.

    • Local environment

      RAILS_ENV=local ./bin/setup
      

      This is an environment used when you want to run the server for acceptance tests from other services like Prezento. It uses a delayed_job queue for processings. So in order to process, run:

      RAILS_ENV=local rake jobs:work
      
  • How to run the test suite

    rake
    

    NOTE: For this you will need the Kalibro Configurations service up and running as explained below.

  • Services (job queues, cache servers, search engines, etc.)

    • Kalibro Configurations

      • You can find it at github.com/mezuro/kalibro_configurations

      • By default Mezuro will expect it to be running on port 8083 at localhost.

      • In order to run it as expected, run on two different terminal instances: “‘rails s -p 8083“`.

  • Deployment instructions

    Deployment is made through Capistrano (github.com/capistrano/capistrano)

    cap production deploy
    

    In order to do this, you must have your ssh key set at the target server.

    Otherwise, you can also modify the deployment file at config/deploy.rb.


Install

  • First Deploy

    1. Make sure that the deployment files (config/deploy.rb config/deploy/production.rb are correctly configured at the server;

    2. Also, make sure that your server already has rvm installed;

    * It should already have the ruby version installed with the gemset created as well
    1. Check if everything is OK for deploy:

      cap production deploy:check
      
    2. Finally deploy with:

      cap production deploy
      

License

Copyright © 2013-2016 The Authors.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see <www.gnu.org/licenses/>.


Authors

Please see the humans.txt (at the ‘public` folder) file with the authors


Acknowledgments

The authors have been supported by the following organizations:

University of São Paulo (USP) FLOSS Competence Center ccsl.ime.usp.br