Skip to content

CLI

1. Versionamento

Versão Data Descrição Autor(es)
0.1 29/01/2023 Criação do documento João Pedro
1.0 29/01/2023 Adição do manual de uso da CLI v1.0.0 João Pedro
1.1 29/01/2023 Adição dos comandos existentes na CLI João Pedro
1.2 29/01/2023 Adição de vídeo demonstrativo da CLI João Pedro

2. Manual de Uso da CLI

2.1 O que é o microsserviço CLI

Esse microsserviço dentro do produto MeasureSoftGram se trata da interface de linha de comandos, que utiliza o pacote de cálculos da Core por trás dos panos, para gerar análises de qualidade dos repositórios. Se trata de um pacote Pypi totalmente independente, que tem como foco a utilização local (sem necessidade de internet).

2.2 Como executar a CLI

Para iniciar a utilização da CLI, baixe o pacote do repositório Pypi.

pip install msgram

Agora todas as funcionalidades disponíveis da CLI do MeasureSoftGram estão disponíveis pelo seguinte comando: msgram

msgram -h

msgram_help

2.3 Comandos existentes na CLI

Como demonstrado na foto anterior, a CLI do MeasureSoftGram possui três comandos:

2.3.1 msgram init

Responsável por inicializar os arquivos e pastas de configuração que são utilizados nos comandos seguintes. O arquivo msgram.json de configuração das entidades é criado nessa etapa.

msgram init -h

msgram_init

Exemplo de configuração de qualidade gerado pelo init:

{
    "characteristics": [
        {
            "key": "reliability",
            "weight": 50,
            "subcharacteristics": [
                {
                    "key": "testing_status",
                    "weight": 100,
                    "measures": [
                        {
                            "key": "passed_tests",
                            "weight": 33
                        },
                        {
                            "key": "test_builds",
                            "weight": 33
                        },
                        {
                            "key": "test_coverage",
                            "weight": 34
                        }
                    ]
                }
            ]
        },
        {
            "key": "maintainability",
            "weight": 50,
            "subcharacteristics": [
                {
                    "key": "modifiability",
                    "weight": 100,
                    "measures": [
                        {
                            "key": "non_complex_file_density",
                            "weight": 33
                        },
                        {
                            "key": "commented_file_density",
                            "weight": 33
                        },
                        {
                            "key": "duplication_absense",
                            "weight": 34
                        }
                    ]
                }
            ]
        }
    ]
}

2.3.2 msgram extract

Responsável por extrair os dados advindos dos análisadores de código (parsers). Até a versão 1.0.0, o MeasureSoftGram suporta as seguintes entidades:

Características disponíveis
  • Reliability
  • Maintainability
Subcaracterísticas disponíveis
  • testing_status
  • modifiability
Medidas disponíveis
  • passed_tests
  • tests_build
  • test_coverage
  • non_complex_file_density
  • commented_file_density
  • duplication_absense
Métricas disponíveis
  • tests [sonarqube]
  • tests_failures [sonarqube]
  • test_errors [sonarqube]
  • test_execution_time [sonarqube]
  • coverage [sonarqube]
  • functions [sonarqube]
  • complexity [sonarqube]
  • comment_lines_density [sonarqube]
  • duplicated_lines_density [sonarqube]
msgram extract -h

msgram_extract

2.3.3 msgram calculate

Responsável por calcular, através do msgram-core (versão empacotada dos cálculos), a qualidade dos arquivos extraidos. Também, por esse comando o MeasureSoftGram extrai os dados (CSV ou JSON) calculados.

msgram calculate -h

msgram_calculate

3. Demonstração de uso da CLI

O seguinte vídeo, demonstra a utilização da CLI para cálculo da qualidade do produto MeasureSoftGram: