59
OSGi Versioning and Testing Chris Aniszczyk EclipseSource http://aniszczyk.org Paul VanderLei Band XI International

OSGi Versioning And Testing

Embed Size (px)

DESCRIPTION

Slides from the Eclipse Summit Europe talk by Chris Aniszczyk and Paul VanderLei on October 28, 2009.

Citation preview

  • 1. OSGi Versioning and Testing
    Chris AniszczykEclipseSource
    http://aniszczyk.org
    Paul VanderLei
    Band XI International

2. Sample Application: Toast
Telematics-On-A-STick
Sample from upcoming bookequinoxosgi.org
Example project in EclipseRTwiki.eclipse.org/Toast
2
OSGi Versioning and Testing | Copyright 2009 EclipseSource & Band XI International; made available under EPL v1.0
3. Toast Dependencies
3
OSGi Versioning and Testing | Copyright 2009 EclipseSource & Band XI International; made available under EPL v1.0
EmergencyMonitor
EmergencyServlet
GPS
Channel
Airbag
Log
4. get location
EmergencyMonitor
notify
EmergencyServlet
send
HTTP
GPS
log
Channel
Log
Toast: Emergency Scenario
4
OSGi Versioning and Testing | Copyright 2009 EclipseSource & Band XI International; made available under EPL v1.0
Airbag
5. Versioning: Overview
Versioning
Evolving API
Tools
Issues
Summary
5
OSGi Versioning and Testing | Copyright 2009 EclipseSource & Band XI International; made available under EPL v1.0
6. Define Versioning
Software versioning is the process of assigning either unique version names or unique version numbers to unique states of computer software.
Versioning is relative though
6
OSGi Versioning and Testing | Copyright 2009 EclipseSource & Band XI International; made available under EPL v1.0
7. Versioning: User Perspective
7
OSGi Versioning and Testing | Copyright 2009 EclipseSource & Band XI International; made available under EPL v1.0
Versioning is a marketing thing
Users dont really care about versions
Users just want to know if the version of the software they are running is current
e.g., Ubuntu
Feisty Fawn 7.04
Gutsy Gibbon 7.10
Hardy Heron 8.04
8. Versioning: Dev Perspective
8
OSGi Versioning and Testing | Copyright 2009 EclipseSource & Band XI International; made available under EPL v1.0
Version numbers are like dog tags*
Primarily used in an event of emergency
*http://www.codinghorror.com/blog/archives/000793.html
9. OSGi Versions
Dependencies are defined on the module and package level
Import-Package
Require-Bundle
Ranges allow for flexibility
Import-Package: org.easymock;version=[2.4.0,3.0.0)
9
OSGi Versioning and Testing | Copyright 2009 EclipseSource & Band XI International; made available under EPL v1.0
10. OSGi Versioning Scheme
major.minor.micro.qualifier
major An incompatible update; breaking API
minor A backward compatible update; API stable
micro A bug fix; no API changes
qualifier build date; lexigraphic
Versions should encode compatibility* at the bundle and package level
10
OSGi Versioning and Testing | Copyright 2009 EclipseSource & Band XI International; made available under EPL v1.0
*http://wiki.eclipse.org/Version_Numbering
11. Bundle Versions in Eclipse
11
OSGi Versioning and Testing | Copyright 2009 EclipseSource & Band XI International; made available under EPL v1.0
Notice how the version numbers dont necessarily match the 3.6 release?
12. Evolving API: GPS 1.0
12
OSGi Versioning and Testing | Copyright 2009 EclipseSource & Band XI International; made available under EPL v1.0

  • Lets evolve our GPS API