Software projects within the Common Code Community have several standard tools available to assist developers and others who contribute to and use Community project assets.  CableLabs makes these tools available to the community and can assist members in their use.  The tools address Software Configuration and Maintenance (SCM), bug/issue tracking, code review, and Continuous Integration (CI).  Additional tools may be added to this "toolbox" as the community evolves and as project needs arise.

 

Gerrit is a free, web-based team code collaboration tool. Software developers in a team can review each other's modifications to their source code using a Web browser and approve or reject those changes. It integrates closely with Git, a distributed version control system.  Gerrit operates as a wrapper around Git that controls all change to the software repository for that project.  As a result, projects in the Common Code Community that use Gerrit (use is optional) will access their source code through Gerrit (and not directly through Git).

 

JIRA is an advanced bug and issue tracking system available for users of the Common Code Community.  JIRA is a commercial product of Atlassian Corp. and CableLabs offers it to members of the Community to assist in recording and tracking bugs and new feature requests logged against the Community project software.  Projects in the Community that wish to use JIRA will need to operate within a default lifecycle model.  Customization of the default JIRA lifecycle, issue states, or views is not available at this time.

 

Software Configuration Management within the Common Code Community uses Git, a distributed revision control system.  Git was initially designed and developed by Linus Torvalds for Linux kernel development in 2005, and has since become one of the most widely adopted version control systems for software development.  GitLab is a web-based Git repository manager with wiki and issue tracking features, offering web-based access and features similar to other popular Git repository managers. 

 

Jenkins is an open source tool providing continuous integration services for software development. It supports the Common Code Community SCM tools (GitLab and Gerrit) and can execute Apache Ant and Apache Maven based projects as well as arbitrary shell scripts and Windows batch commands.  

Builds can be started by various means, including trigger by commit in version control systems, scheduled via a cron-like mechanism, build triggered by other build completion, or by requesting a specific build URL.

Return to Common Code Community Home