Obs.: essa lista pode estar desatualizada conforme o lançamento de novas releases. A versão atualizada sempre estará no último lançamento feito, o qual se encontra na branch master.
As métricas - e as futuras análises sobre elas - serão baseadas conforme os dados diponíveis em python.csv e java.csv presentes neste repositório, obtidos em 07/10/2020 às 23h30 através do código descrito a seguir.
Nesta segunda entrega do projeto, o objetivo foi o seguinte:
Sprint 02: mineração dos repositórios populares Python e Java (.csv com os valores de todas as métricas dos top-100 repositórios, bem como os scripts de coleta utilizados para mineração e análise dos repositórios)
- Valor: 7 pontos
- Entrega em 07/10/2020 até às 18:30 no Canvas e no SGA
Tendo isto em vista, foi desenvolvido um script em Node.js que, a partir de um token da API do GitHub, realiza uma busca paginada da query GraphQL a seguir - alternando somente o atributo language entre "Python" e "Java", conforme desejado - e analisa o LOC, SLOC e CLOC de cada repositório enquanto, paralelamente, os resultados são salvos em seus respectivos arquivos CSV.
{
search(type: REPOSITORY, query: "stars:>100 language:python", first: 100) {
repositoryCount
pageInfo {
endCursor
}
nodes {
... on Repository {
nameWithOwner
stargazerCount
createdAt
forkCount
watchers {
totalCount
}
releases {
totalCount
}
}
}
}
} - Instale as dependências:
npm install - (Recomendado) Crie a váriável de ambiente
TOKENa partir de um arquivo.env, na raiz do projeto, com o seguinte conteúdo:ℹ️ Não se preocupe, caso não queira realizar o item acima, poderá informar seu token diretamente na linha de comando.TOKEN=seu_token_do_GitHub_API - Execute:
npm start - Pronto, agora é só esperar e os resultados estarão no diretório
/data(a partir da raiz do projeto) com o nomepython.csvejava.csv✔️