Prevention of wrong site, wrong procedure, wrong patient surgery ...
Never a Wrong (Semantic) Version Again! - Ferry Huberts
-
Upload
mfrancis -
Category
Technology
-
view
511 -
download
2
description
Transcript of Never a Wrong (Semantic) Version Again! - Ferry Huberts
![Page 1: Never a Wrong (Semantic) Version Again! - Ferry Huberts](https://reader035.fdocuments.net/reader035/viewer/2022081907/549c4276b47959aa318b46b3/html5/thumbnails/1.jpg)
Never A Wrong
(Semantic) Version Again!
bndtools
![Page 2: Never a Wrong (Semantic) Version Again! - Ferry Huberts](https://reader035.fdocuments.net/reader035/viewer/2022081907/549c4276b47959aa318b46b3/html5/thumbnails/2.jpg)
2/14
About Me
● Ferry Huberts M.Sc.● Open Source Entrepreneur (pelagic.nl)
● Member of the bnd / bndtools team● Contributor in several other projects
– Like olsrd, cgit
![Page 3: Never a Wrong (Semantic) Version Again! - Ferry Huberts](https://reader035.fdocuments.net/reader035/viewer/2022081907/549c4276b47959aa318b46b3/html5/thumbnails/3.jpg)
3/14
Meaning of Semantic
se·man·ticadjective \si- man-tik\ˈ
Origin of SEMANTIC
Greek sēmantikos significant, from sēmainein to signify, mean, from sēma sign, token
* From http://www.merriam-webster.com/dictionary.
![Page 4: Never a Wrong (Semantic) Version Again! - Ferry Huberts](https://reader035.fdocuments.net/reader035/viewer/2022081907/549c4276b47959aa318b46b3/html5/thumbnails/4.jpg)
4/14
Meaning of Version
ver·sionnoun \ v r-zh n, -sh n\ˈ ə ə ə
Origin of VERSION
Middle French, from Medieval Latin version-, versio act of turning, change, from Latin vertere to turn — more at worth
* From http://www.merriam-webster.com/dictionary.
![Page 5: Never a Wrong (Semantic) Version Again! - Ferry Huberts](https://reader035.fdocuments.net/reader035/viewer/2022081907/549c4276b47959aa318b46b3/html5/thumbnails/5.jpg)
5/14
Meaning of Semantic Version
A Semantic Version
isA change with (strict) meaning
![Page 6: Never a Wrong (Semantic) Version Again! - Ferry Huberts](https://reader035.fdocuments.net/reader035/viewer/2022081907/549c4276b47959aa318b46b3/html5/thumbnails/6.jpg)
6/14
Semantic Versioning Schemes
● OSGihttp://www.osgi.org/wiki/uploads/Links/SemanticVersioning.pdf
● SemVer.orghttp://semver.org/
● Eclipsehttp://wiki.eclipse.org/Version_Numbering
![Page 7: Never a Wrong (Semantic) Version Again! - Ferry Huberts](https://reader035.fdocuments.net/reader035/viewer/2022081907/549c4276b47959aa318b46b3/html5/thumbnails/7.jpg)
7/14
Semantic Versioning
● OSGihttp://www.osgi.org/wiki/uploads/Links/SemanticVersioning.pdf
![Page 8: Never a Wrong (Semantic) Version Again! - Ferry Huberts](https://reader035.fdocuments.net/reader035/viewer/2022081907/549c4276b47959aa318b46b3/html5/thumbnails/8.jpg)
8/14
Premise
Semantic Versions
are all about
(Backward) Compatibility
![Page 9: Never a Wrong (Semantic) Version Again! - Ferry Huberts](https://reader035.fdocuments.net/reader035/viewer/2022081907/549c4276b47959aa318b46b3/html5/thumbnails/9.jpg)
9/14
Major.Minor.Micro.Qualifier*
● Major: incompatible change for providersand consumers
● Minor: incompatible change for providers● Micro: compatible change● Qualifier: anything (e.g. build identity)
* Major, Minor and Micro are numbers, Qualifier is a string
Semantic Version
![Page 10: Never a Wrong (Semantic) Version Again! - Ferry Huberts](https://reader035.fdocuments.net/reader035/viewer/2022081907/549c4276b47959aa318b46b3/html5/thumbnails/10.jpg)
10/14
API
Coherent setof
exported classes
![Page 11: Never a Wrong (Semantic) Version Again! - Ferry Huberts](https://reader035.fdocuments.net/reader035/viewer/2022081907/549c4276b47959aa318b46b3/html5/thumbnails/11.jpg)
11/14
Hands-On
bndtoolsThe easy, powerful and productive way to develop with OSGi.
Based on bnd and Eclipse.
![Page 12: Never a Wrong (Semantic) Version Again! - Ferry Huberts](https://reader035.fdocuments.net/reader035/viewer/2022081907/549c4276b47959aa318b46b3/html5/thumbnails/12.jpg)
12/14
Rocket Example
rocket.control.apirocket.control
rocket.blackbox
API
rocket.control.api.RocketControlListener
Provider
Consumerbndtools
![Page 13: Never a Wrong (Semantic) Version Again! - Ferry Huberts](https://reader035.fdocuments.net/reader035/viewer/2022081907/549c4276b47959aa318b46b3/html5/thumbnails/13.jpg)
13/14
Summary
● Semantic Versions:– Theory:
● conceptually easy
– Reality:● not so easy● easy to forget to update the multiple places
– There are some subtleties
● bndtools can handle* it for you● Never Stop Thinking
* except for semantic changes not detectable by a machine, like kph to mph renames
![Page 14: Never a Wrong (Semantic) Version Again! - Ferry Huberts](https://reader035.fdocuments.net/reader035/viewer/2022081907/549c4276b47959aa318b46b3/html5/thumbnails/14.jpg)
14/14
Contact
bndtools: http://bndtools.org/https://github.com/bndtools/bndtoolsmailto:[email protected]
bnd: http://www.aqute.biz/Bnd/Bnd https://github.com/bndtools/bndmailto:[email protected]
Ferry Huberts <[email protected]>