smart_object
Inspired from IPSO
(now part of OMA SpecWorks), Smart Object
s are are meant to encapsulate capabilities of intelligent products in the field of IoT, but not only.
Contribution guidelines
Definition of Done
Features
All user facing features from the public domain must be described in a BDD style *.feature
file
UML specification
Components, Activities, States need to be described using PlantUML standard and placed in a *.puml
file in uml directory.
Generate class diagram of the complete package:
. gen_uml.sh
Code generation
Generate code from *.proto files
Static code analysis
Work by default when writing code due to analysis_options.yaml For explicit analysis eg. during a build process, use:
dart analyze
Documentation
. gen_doc.sh --show
Test results
All tests must pass, including the new ones for the PR and existing ones
Test coverage
Maintain or improve coverage when submitting PRs
. gen_cov.sh --show
Commit
A commit that bump the version of the library can be done with pubver
Install pubspec_version
with pub global activate pubspec_version
then commit
git commit -m "... Release $(pubver bump breaking|minor|patch|build)"
Libraries
- smart_object
- SmartObject Registry from Open Mobile Alliance is defined in
defs.json
Custom Smart Object definitions need to be loaded indefs-custom.json