---
title: technology.app4mc
output:
  blogdown::html_page:
    toc: true
    autoCollapseToc: false
  html_document:
    toc: yes
params:
  project_id: "technology.app4mc"
menu:
  sidebar:
    parent: projects
---

```{r init, message=FALSE, echo=FALSE, warning=FALSE}

library(xts)
library(dygraphs)
require(xtable)
library(R.utils)

project_id <- params$project_id

file_git_commits <- "git_commits.csv"
file_git_commits_evol <- "git_commits_evol.csv"
file_git_log <- "git_log.txt"
file_bz_issues <- "bugzilla_issues.csv"
file_bz_issues_open <- "bugzilla_issues_open.csv"
file_bz_evol <- "bugzilla_evol.csv"
file_bz_components <- "bugzilla_components.csv"
file_bz_versions <- "bugzilla_versions.csv"
file_forums_posts <- "eclipse_forums_posts.csv"
file_forums_threads <- "eclipse_forums_threads.csv"
file_pmi_checks <- "eclipse_pmi_checks.csv"
file_jenkins_builds <- "jenkins_builds.csv"
file_jenkins_jobs <- "jenkins_jobs.csv"
file_sc_authors <- "scancode_authors.csv"
file_sc_copyrights <- "scancode_copyrights.csv"
file_sc_holders <- "scancode_holders.csv"
file_sc_licences <- "scancode_licences.csv"
file_sc_packages <- "scancode_packages.csv"
file_sc_pl <- "scancode_programming_languages.csv"
file_sc_sf <- "scancode_special_files.csv"
file_sq_issues_blocker <- "sq_issues_blocker.csv"
file_sq_issues_critical <- "sq_issues_critical.csv"
file_sq_issues_major <- "sq_issues_major.csv"
file_sq_metrics <- "sq_metrics.csv"
```

## About this document

This document is a [R notebook](https://rmarkdown.rstudio.com/), dynamically created from the numbers extracted on the project. It lists all datasets published for the project, providing basic numbers, figures and a quick summary, and serves as a test case to make sure that all the required data is present and roughly consistent with requirements. All plots and tables are computed from the actual data as provided in the downloads.

To re-execute the document, simply start a R session, load `rmarkdown` and `render` the page with the project ID as a parameter:

```r
require('rmarkdown')
render("datasets_report.Rmarkdown", params = list(project_id = "`r project_id`"), output_format="html_document")
```

This website uses the [blogdown](https://github.com/rstudio/blogdown) R package, which provides a different output_format for the hugo framework. 

This report was generated on ``r Sys.Date()``.


## Downloads

All data is retrieved from [Alambic](https://alambic.io), an open-source framework for development data extraction and processing. 

This project's analysis page can be found on the [Alambic instance for the Eclipse forge](https://eclipse.alambic.io), at https://eclipse.alambic.io/projects/`r project_id`.

Downloads are composed of gzip'd CSV and JSON files. CSV files always have a header to name the fields, which makes it easy to import in analysis software like R: 

```r
data <- read.csv(file='myfile.csv', header=T)
names(data)
```

List of datasets generated for the project:

`r if(file.exists(file_git_commits)){paste("
* Git
    - [Git Commits](https://download.eclipse.org/dataeggs/projects/", project_id, "/", file_git_commits, ".gz) (CSV) -- Full list of commits with id, message, time, author, committer, and added, deleted and modifed lines.
    - [Git Commits Evol](https://download.eclipse.org/dataeggs/projects/", project_id, "/", file_git_commits_evol, ".gz) (CSV) -- Evolution of number of commits and authors by day. 
    - [Git Log](https://download.eclipse.org/dataeggs/projects/", project_id, "/", file_git_log, ".gz) (TXT) -- the raw export of git log.
", sep='')}`
`r if(file.exists(file_bz_issues)){paste("
* Bugzilla
    - [Bugzilla issues](https://download.eclipse.org/dataeggs/projects/", project_id, "/", file_bz_issues, ".gz) (CSV) -- list of all issues. 
    - [Bugzilla open issues](https://download.eclipse.org/dataeggs/projects/", project_id, "/", file_bz_issues_open, ".gz) (CSV) -- list of issues in an open state. 
    - [Bugzilla evolution](https://download.eclipse.org/dataeggs/projects/", project_id, "/",file_bz_evol, ".gz) (CSV) -- weekly time series of issues created. 
    - [Bugzilla components](https://download.eclipse.org/dataeggs/projects/", project_id, "/", file_bz_components, ".gz) (CSV) -- list of components declared for the project. 
    - [Bugzilla versions](https://download.eclipse.org/dataeggs/projects/", project_id, "/", file_bz_versions, ".gz) (CSV) -- list of versions declared for the project. 
", sep='')}`
`r if(file.exists(file_forums_posts)){paste("
* Eclipse Forums
    - [Forums Posts](https://download.eclipse.org/dataeggs/projects/", project_id, "/", file_forums_posts, ".gz) (CSV) -- list of all forum posts for this project.
    - [Forums threads](https://download.eclipse.org/dataeggs/projects/", project_id, "/", file_forums_threads, ".gz) (CSV) -- list of all forum threads for this project. 
", sep='')}`
`r if(file.exists(file_jenkins_builds)){paste("
* Jenkins CI
    - [Jenkins CI Builds](https://download.eclipse.org/dataeggs/projects/", project_id, "/", file_jenkins_builds, ".gz) (CSV) -- list of all builds on the Jenkins CI instance. 
    - [Jenkins CI Jobs](https://download.eclipse.org/dataeggs/projects/", project_id, "/", file_jenkins_jobs, ".gz) (CSV) -- list of all jobs on the Jenkins CI instance. 
", sep='')}`
`r if(file.exists(file_pmi_checks)){paste("
* Eclipse PMI
    - [PMI Checks](https://download.eclipse.org/dataeggs/projects/", project_id, "/", file_pmi_checks, ".gz) (CSV) -- list of all checks applied to the Project Management Infrastructure entries for the project.
", sep='')}`
`r if(file.exists(file_sc_authors)){paste("
* ScanCode
    - [ScanCode files](https://download.eclipse.org/dataeggs/projects/", project_id, "/", file_sc_pl, ".gz) (CSV) -- list of files identified in the codebase by ScanCode. 
    - [ScanCode authors](https://download.eclipse.org/dataeggs/projects/", project_id, "/", file_sc_authors, ".gz) (CSV) -- list of authors identified in the codebase by ScanCode.
    - [ScanCode copyrights](https://download.eclipse.org/dataeggs/projects/", project_id, "/", file_sc_copyrights, ".gz) (CSV) -- list of copyrights identified in the codebase by ScanCode. 
    - [ScanCode holders](https://download.eclipse.org/dataeggs/projects/", project_id, "/", file_sc_holders, ".gz) (CSV) -- list of copyright holders identified in the codebase by ScanCode.
    - [ScanCode licences](https://download.eclipse.org/dataeggs/projects/", project_id, "/", file_sc_licences, ".gz) (CSV) -- list of licences identified in the codebase by ScanCode. 
    - [ScanCode packages](https://download.eclipse.org/dataeggs/projects/", project_id, "/", file_sc_packages, ".gz) (CSV) -- list of packages identified in the codebase by ScanCode. 
    - [ScanCode programming languages](https://download.eclipse.org/dataeggs/projects/", project_id, "/", file_sc_pl, ".gz) (CSV) -- list of programming languages identified in the codebase by ScanCode. 
", sep='')}`
`r if(file.exists(file_sq_metrics)){paste("
* SonarQube
    - [SonarQube blocker issues](https://download.eclipse.org/dataeggs/projects/", project_id, "/", file_sq_issues_blocker, ".gz) (CSV) -- list of blocker issues detected by SonarQube. 
    - [SonarQube critical issues](https://download.eclipse.org/dataeggs/projects/", project_id, "/", file_sq_issues_critical, ".gz) (CSV) -- list of critical issues detected by SonarQube.
    - [SonarQube major issues](https://download.eclipse.org/dataeggs/projects/", project_id, "/", file_sq_issues_major, ".gz) (CSV) -- list of major issues detected by SonarQube. 
    - [SonarQube metrics](https://download.eclipse.org/dataeggs/projects/", project_id, "/", file_sq_metrics, ".gz) (CSV) -- list of code metrics extracted from SonarQube. 
", sep='')}`


```{r inc_git, eval=file.exists(file_git_commits), child='datasets_report_git.inc'}
```


```{r inc_bz, eval=file.exists(file_bz_issues), child='datasets_report_bz.inc'}
```


```{r inc_forums, eval=file.exists(file_forums_posts), child='datasets_report_forums.inc'}
```


```{r inc_jenkins, eval=file.exists(file_jenkins_builds), child='datasets_report_jenkins.inc'}
```


```{r inc_pmi, eval=file.exists(file_pmi_checks), child='datasets_report_pmi.inc'}
```


```{r inc_sc, eval=file.exists(file_sc_authors), child='datasets_report_scancode.inc'}
```


```{r inc_sq, eval=file.exists(file_sq_metrics), child='datasets_report_sq.inc'}
```

