23022017¶
- 23022017
- Next Steps
- Feature List
- Template Hierarchies
- Mode-specific Templates Refactoring
- Catkin Templates for ROS Workspaces
- YAML Syntax
- Deployment / Platform Recipes
- Indicate "3rd-Party Projects"
- Platform Dependency Analysis
- Docker Slaves for Clean Build
- Thorough CMake Analysis
- Revised Architecture
- Credentials Store
- Further Provisioning of Analysis Results in Templates
- Avoid Repetitive Warnings for Missing Dependencies
- 3rd Party Generator Modules
- GitHub Migration
- User Documentation
Next Steps¶
- Integrate Robert's template changes
- 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?
- 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