Developer Resources
Requirements
- Eclipse RCP (4.3 - Kepler), but should work starting from Eclipse RCP (3.6)
- Java (1.6+)
- OSGi framework (4.3+), e.g., Eclipse Equinox or Apache Felix, the former being our reference platform
- Git
- Some devices to test with
Setup
- Install
- Java SDK (1.6+)
- Eclipse RCP (4.3+)
- Git
- Download / Fork the project sources
- Dependencies
- Most dependencies can be found in the
dependencies
folder of the [StandaloneVersion](http://github.com/dog-gateway/standaloneversion repository
- Most dependencies can be found in the
- Organize the sources in the following working sets (reflecting the Dog logic architecture)
- addons
- admin
- communication
- core
- clock
- device-factory
- device-manager
- simple-house-model
- core-library
- jaxb-library
- measure-library
- semantic-library
- stream-library
- console-log
- monitor-admin
- [rxtx] (http://github.com/dog-gateway/rxtx)
- drivers / knx
- drivers / modbus
- drivers / zwave
- drivers / bticino
- drivers / echelon
Run / Test
Together with source repositories, we provide a set of configuration samples (as separate repositories) designed to allow developers to quickly experiment with Dog and selected technologies. Sample configurations can be used as starting seed for designing or developing new deployments, according to the developer needs.
Sample configurations (and Eclipse launchers)
- bticino-configuration
- rule-engine-configuration
- semantic-configuration
- eventstore-configuration
- zwave-configuration
- knx-configuration
- xively-configuration
- [adminui-configuration] (http://github.com/dog-gateway/adminui-configuration)
- websocket-configuration
- mqtt-configuration
Development guidelines
We are currently working on formal development guidelines, at the moment we could only provide some references to the OSGi guidelines (which should be respected when developing new bundles) and to some presentations on the Dog Gateway architecture and inner working.
We are also finalizing development HowTos, so please stay tuned!
Javadoc
Please refer to the single gateway bundle repositories to get the corresponding Javadocs.