Next Steps

  1. Integrate Robert's template changes
  2. User meeting
    • Collecting use-case
    • What should the individual modes do (e.g. is "ci-deploy" intended as "fast installation" or "continuous integration with installation"?)
    • How adaptable should modes be without requiring the creation of new modes?
  3. Turn the following feature ideas into a concrete roadmap in a separate meeting after 20.03.2017

Feature List

Template Hierarchies

Mode-specific Templates Refactoring

  • Remove Symlinks

Catkin Templates for ROS Workspaces

YAML Syntax

  • Multi-line strings -> recipes will be valid YAML -> recipe authors can use validating editors
  • No escaping in literal strings
  • Comments
  • Less "Comma-Problems"

Deployment / Platform Recipes

  • Specify slaves
  • Job configuration details (e.g. with or without unit tests)
  • OS, CPU, Flags, ...

Indicate "3rd-Party Projects"

Das ist ein Aspekt, den ich vorhin vergessen habe: Zum "Plattform/Generierungs-Deskriptor" sollte vermutlich noch etwas wie eine Unterteilung in eigene und 3rd-Party-Projekte gehören. Dann könnte man nämlich 3rd-Party-Projekte ohne Tests, Reports und Email-Notification bauen.

Platform Dependency Analysis

  • Provide downloadable pre-computed descriptions for common platforms

Docker Slaves for Clean Build

Thorough CMake Analysis

Revised Architecture

  • Distribution/project Meta-model
    • Hierarchical Distributions
    • Template Versions of Projects
    • Parametrised Project Inclusions
  • Dependencies
    • Richer version expressions with logical connectives and relation operators
    • Phase-aware dependencies

Credentials Store

Further Provisioning of Analysis Results in Templates

Avoid Repetitive Warnings for Missing Dependencies

Group warnings by missing things, not by projects depending on the thing

3rd Party Generator Modules

  • Written in other languages
  • Maybe include interpreters for e.g. Python, Javascript in the generator?

GitHub Migration

  • Probably good idea for project and distribution recipes; how about templates?
  • Templates as Part of Build Generator?

User Documentation

  • In general
  • Templates should allow documenting their interface