Skip to content

Commit e26883a

Browse files
committed
Initial code base
The initial commit only contains very core bundles and all build infrastructure to build openHAB on top of Eclipse SmartHome. No add ons (bundles) are contained, instead a compatibility bundle for addons of openHAB 1.x is sketched out. Signed-off-by: Kai Kreuzer <[email protected]> (github: @kaikreuzer)
1 parent d8ee37a commit e26883a

File tree

363 files changed

+10730
-3
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

363 files changed

+10730
-3
lines changed

.gitignore

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
target/
2+
src-gen/
3+
xtend-gen/
4+
bin/
5+
bundles/io/org.openhab.io.multimedia.tts.marytts/lib/
6+
.antlr*
7+
.metadata/
8+
*/plugin.xml_gen
9+
10+
distribution/openhabhome/logs/*.log
11+
distribution/openhabhome/*.zip
12+
distribution/openhabhome/etc/rrd4j/*.rrd

AUTHORS

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# This file lists all individuals having contributed content to the repository.
2+
# If you're submitting a patch, please add your name here in alphabetical order as part of the patch.
3+
#
4+
# For a list of active project maintainers, see the MAINTAINERS file.
5+
#
6+
Kai Kreuzer <[email protected]>
7+
Thomas Eichstädt-Engelen <[email protected]>

CONTRIBUTING.md

+180
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
# Contributing to openHAB
2+
3+
Want to hack on openHAB? Awesome! Here are instructions to get you
4+
started. They are probably not perfect, please let us know if anything
5+
feels wrong or incomplete.
6+
7+
## Reporting Issues
8+
9+
Please report [openHAB2 specific issues here](https://github.com/openhab/openhab2/issues), while issues that are related to the core framework should be reported in the [bugzilla of Eclipse SmartHome](https://bugs.eclipse.org/bugs/buglist.cgi?product=SmartHome&component=Core).
10+
Do not worry, if you are not clear, which category your issue belongs to - we will redirect you, if necessary.
11+
12+
## Build Environment
13+
14+
For instructions on setting up your development environment, please
15+
see our dedicated [IDE setup guide](https://github.com/openhab/openhab/wiki/IDE-Setup).
16+
17+
## Contribution guidelines
18+
19+
### Pull requests are always welcome
20+
21+
We are always thrilled to receive pull requests, and do our best to
22+
process them as fast as possible. Not sure if that typo is worth a pull
23+
request? Do it! We will appreciate it.
24+
25+
If your pull request is not accepted on the first try, don't be
26+
discouraged! If there's a problem with the implementation, hopefully you
27+
received feedback on what to improve.
28+
29+
We're trying very hard to keep openHAB lean and focused. We don't want it
30+
to do everything for everybody. This means that we might decide against
31+
incorporating a new feature. However, there might be a way to implement
32+
that feature *on top of* openHAB.
33+
34+
### Discuss your design on the mailing list
35+
36+
We recommend discussing your plans [on the mailing
37+
list](https://groups.google.com/group/openhab)
38+
before starting to code - especially for more ambitious contributions.
39+
This gives other contributors a chance to point you in the right
40+
direction, give feedback on your design, and maybe point out if someone
41+
else is working on the same thing.
42+
43+
### Create issues...
44+
45+
Any significant improvement should be documented as [a GitHub
46+
issue](https://github.com/openhab/openhab2/issues) before anybody
47+
starts working on it.
48+
49+
### ...but check for existing issues first!
50+
51+
Please take a moment to check that an issue doesn't already exist
52+
documenting your bug report or improvement proposal. If it does, it
53+
never hurts to add a quick "+1" or "I have this problem too". This will
54+
help prioritize the most common problems and requests.
55+
56+
### Conventions
57+
58+
Fork the repo and make changes on your fork in a feature branch:
59+
60+
- If it's a bugfix branch, name it XXX-something where XXX is the number of the
61+
issue
62+
- If it's a feature branch, create an enhancement issue to announce your
63+
intentions, and name it XXX-something where XXX is the number of the issue.
64+
65+
Submit unit tests for your changes. openHAB has a great test framework built in; use
66+
it! Take a look at existing tests for inspiration. Run the full test suite on
67+
your branch before submitting a pull request.
68+
69+
Update the documentation when creating or modifying features. Test
70+
your documentation changes for clarity, concision, and correctness, as
71+
well as a clean documentation build.
72+
73+
Write clean code. Universally formatted code promotes ease of writing, reading,
74+
and maintenance.
75+
76+
Pull requests descriptions should be as clear as possible and include a
77+
reference to all the issues that they address.
78+
79+
Pull requests must not contain commits from other users or branches.
80+
81+
Commit messages must start with a capitalized and short summary (max. 50
82+
chars) written in the imperative, followed by an optional, more detailed
83+
explanatory text which is separated from the summary by an empty line.
84+
85+
Code review comments may be added to your pull request. Discuss, then make the
86+
suggested modifications and push additional commits to your feature branch. Be
87+
sure to post a comment after pushing. The new commits will show up in the pull
88+
request automatically, but the reviewers will not be notified unless you
89+
comment.
90+
91+
Before the pull request is merged, make sure that you squash your commits into
92+
logical units of work using `git rebase -i` and `git push -f`. After every
93+
commit the test suite should be passing. Include documentation changes in the
94+
same commit so that a revert would remove all traces of the feature or fix.
95+
96+
Commits that fix or close an issue should include a reference like `Closes #XXX`
97+
or `Fixes #XXX`, which will automatically close the issue when merged.
98+
99+
Add your name to the AUTHORS file, but make sure the list is sorted and your
100+
name and email address match your git configuration. The AUTHORS file is
101+
regenerated occasionally from the git commit history, so a mismatch may result
102+
in your changes being overwritten.
103+
104+
### Sign your work
105+
106+
The sign-off is a simple line at the end of the explanation for the
107+
patch, which certifies that you wrote it or otherwise have the right to
108+
pass it on as an open-source patch. The rules are pretty simple: if you
109+
can certify the below (from
110+
[developercertificate.org](http://developercertificate.org/)):
111+
112+
```
113+
Developer Certificate of Origin
114+
Version 1.1
115+
116+
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
117+
660 York Street, Suite 102,
118+
San Francisco, CA 94110 USA
119+
120+
Everyone is permitted to copy and distribute verbatim copies of this
121+
license document, but changing it is not allowed.
122+
123+
124+
Developer's Certificate of Origin 1.1
125+
126+
By making a contribution to this project, I certify that:
127+
128+
(a) The contribution was created in whole or in part by me and I
129+
have the right to submit it under the open source license
130+
indicated in the file; or
131+
132+
(b) The contribution is based upon previous work that, to the best
133+
of my knowledge, is covered under an appropriate open source
134+
license and I have the right under that license to submit that
135+
work with modifications, whether created in whole or in part
136+
by me, under the same open source license (unless I am
137+
permitted to submit under a different license), as indicated
138+
in the file; or
139+
140+
(c) The contribution was provided directly to me by some other
141+
person who certified (a), (b) or (c) and I have not modified
142+
it.
143+
144+
(d) I understand and agree that this project and the contribution
145+
are public and that a record of the contribution (including all
146+
personal information I submit with it, including my sign-off) is
147+
maintained indefinitely and may be redistributed consistent with
148+
this project or the open source license(s) involved.
149+
```
150+
151+
then you just add a line to every git commit message:
152+
153+
Signed-off-by: Joe Smith <[email protected]> (github: github_handle)
154+
155+
using your real name (sorry, no pseudonyms or anonymous contributions.)
156+
157+
One way to automate this, is customise your get ``commit.template`` by adding
158+
a ``prepare-commit-msg`` hook to your openHAB checkout:
159+
160+
```
161+
curl -o .git/hooks/prepare-commit-msg https://raw.github.com/openhab/openhab2/master/contrib/prepare-commit-msg.hook && chmod +x .git/hooks/prepare-commit-msg
162+
```
163+
164+
* Note: the above script expects to find your GitHub user name in ``git config --get github.user``
165+
166+
#### Small patch exception
167+
168+
There are several exceptions to the signing requirement. Currently these are:
169+
170+
* Your patch fixes spelling or grammar errors.
171+
* Your patch is a single line change to documentation.
172+
173+
### How can I become a maintainer?
174+
175+
* Step 1: learn the component inside out
176+
* Step 2: make yourself useful by contributing code, bugfixes, support etc.
177+
* Step 3: volunteer on the discussion group (https://groups.google.com/group/openhab)
178+
179+
Don't forget: being a maintainer is a time investment. Make sure you will have time to make yourself available.
180+
You don't have to be a maintainer to make a difference on the project!

README.md

+26-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,27 @@
1-
openhab2
2-
========
1+
## Introduction
32

4-
The next-generation open Home Automation Bus (openHAB)
3+
The open Home Automation Bus (openHAB) project aims at providing a universal integration platform for all things around home automation. It is a pure Java solution, fully based on OSGi. The Equinox OSGi runtime and Jetty as a web server build the core foundation of the runtime.
4+
5+
It is designed to be absolutely vendor-neutral as well as hardware/protocol-agnostic. openHAB brings together different bus systems, hardware devices and interface protocols by dedicated bindings. These bindings send and receive commands and status updates on the openHAB event bus. This concept allows designing user interfaces with a unique look&feel, but with the possibility to operate devices based on a big number of different technologies. Besides the user interfaces, it also brings the power of automation logics across different system boundaries.
6+
7+
For further Information please refer to our homepage http://www.openhab.org.
8+
9+
## openHAB 1 vs. openHAB 2
10+
11+
So far the "productive" openHAB code is at http://github.com/openhab/openhab.
12+
This project is the home of the next-generation openHAB aka openHAB2.
13+
A major focus of openHAB2 is adding administration UIs to the system to make it more user-friendly for "regular" users (i.e. not the developer type). For this, openHAB2 is now based on the [Eclipse SmartHome](http://www.eclipse.org/smarthome) project. openHAB2 is not yet ready to be used as it is in an early phase. We will try to provide regular updates on the state of things, so stay tuned!
14+
15+
## Community: How to get Support and How to Contribute
16+
17+
If you are looking for support, please check out the [different support channels](https://github.com/openhab/openhab/wiki/Support-options-for-openHAB) that we provide.
18+
19+
As any good open source project, openHAB welcomes any participation in the project. Read more in the [how to contribute](https://github.com/openhab/openhab2/CONTRIBUTING.md) guide.
20+
21+
If you are a developer and want to jump right into the sources and execute openHAB from within Eclipse, please have a look at the [IDE setup](https://github.com/openhab/openhab/wiki/IDE-Setup) procedures.
22+
23+
[![](http://raw.github.com/wiki/openhab/openhab/images/twitter.png)](http://twitter.com/openHAB)
24+
25+
## Trademark Disclaimer
26+
27+
Product names, logos, brands and other trademarks referred to within the openHAB website are the property of their respective trademark holders. These trademark holders are not affiliated with openHAB or our website. They do not sponsor or endorse our materials.

bundles/binding/pom.xml

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
3+
4+
<parent>
5+
<groupId>org.openhab</groupId>
6+
<artifactId>bundles</artifactId>
7+
<version>2.0.0-SNAPSHOT</version>
8+
</parent>
9+
10+
<modelVersion>4.0.0</modelVersion>
11+
<groupId>org.openhab.bundles</groupId>
12+
<artifactId>binding</artifactId>
13+
14+
<name>openHAB Bindings</name>
15+
16+
<packaging>pom</packaging>
17+
18+
<modules>
19+
</modules>
20+
21+
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<classpath>
3+
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
4+
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
5+
<classpathentry kind="src" path="src/main/java"/>
6+
<classpathentry kind="output" path="target/classes"/>
7+
</classpath>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>org.openhab.core.compat1x</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>org.eclipse.jdt.core.javabuilder</name>
10+
<arguments>
11+
</arguments>
12+
</buildCommand>
13+
<buildCommand>
14+
<name>org.eclipse.pde.ManifestBuilder</name>
15+
<arguments>
16+
</arguments>
17+
</buildCommand>
18+
<buildCommand>
19+
<name>org.eclipse.pde.SchemaBuilder</name>
20+
<arguments>
21+
</arguments>
22+
</buildCommand>
23+
</buildSpec>
24+
<natures>
25+
<nature>org.eclipse.pde.PluginNature</nature>
26+
<nature>org.eclipse.jdt.core.javanature</nature>
27+
</natures>
28+
</projectDescription>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
eclipse.preferences.version=1
2+
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3+
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
4+
org.eclipse.jdt.core.compiler.compliance=1.7
5+
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6+
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7+
org.eclipse.jdt.core.compiler.source=1.7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
eclipse.preferences.version=1
2+
pluginProject.equinox=false
3+
pluginProject.extensions=false
4+
resolve.requirebundle=false
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
Manifest-Version: 1.0
2+
Bundle-ManifestVersion: 2
3+
Bundle-Name: openHAB 1.x Compatibility Layer
4+
Bundle-SymbolicName: org.openhab.core.compat1x
5+
Bundle-Version: 2.0.0.qualifier
6+
Bundle-Activator: org.openhab.core.compat1x.internal.Activator
7+
Bundle-Vendor: openHAB.org
8+
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
9+
Import-Package: javax.servlet,
10+
javax.servlet.http,
11+
org.apache.commons.collections,
12+
org.apache.commons.exec;version="1.1.0",
13+
org.apache.commons.httpclient;version="3.1.0",
14+
org.apache.commons.httpclient.auth;version="3.1.0",
15+
org.apache.commons.httpclient.methods;version="3.1.0",
16+
org.apache.commons.httpclient.params;version="3.1.0",
17+
org.apache.commons.io;version="2.0.1",
18+
org.apache.commons.lang,
19+
org.apache.commons.net.util,
20+
org.eclipse.smarthome.core.binding,
21+
org.eclipse.smarthome.core.events,
22+
org.eclipse.smarthome.core.items,
23+
org.eclipse.smarthome.core.library.items,
24+
org.eclipse.smarthome.core.library.types,
25+
org.eclipse.smarthome.core.persistence,
26+
org.osgi.framework,
27+
org.osgi.service.cm,
28+
org.osgi.service.event,
29+
org.osgi.service.http,
30+
org.slf4j
31+
Export-Package: org.openhab.core.binding,org.openhab.core.events;uses:
32+
="org.openhab.core.items,org.osgi.service.event,org.openhab.core.type
33+
s",org.openhab.core.items;uses:="org.openhab.core.types,org.openhab.c
34+
ore.events",org.openhab.core.library.items,org.openhab.core.library.t
35+
ypes,org.openhab.core.persistence,org.openhab.core.scriptengine.actio
36+
n,org.openhab.core.service,org.openhab.core.transform,org.openhab.cor
37+
e.transform.actions,org.openhab.core.types,org.openhab.io.net.exec,or
38+
g.openhab.io.net.http,org.openhab.model.item.binding
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
source.. = src/main/java/
2+
output.. = target/classes/
3+
bin.includes = META-INF/,\
4+
.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
3+
4+
<modelVersion>4.0.0</modelVersion>
5+
6+
<parent>
7+
<groupId>org.openhab.bundles</groupId>
8+
<artifactId>core</artifactId>
9+
<version>2.0.0-SNAPSHOT</version>
10+
</parent>
11+
12+
<properties>
13+
<bundle.symbolicName>org.openhab.core.compat1x</bundle.symbolicName>
14+
<bundle.namespace>org.openhab.core.compat1x</bundle.namespace>
15+
</properties>
16+
17+
<groupId>org.openhab.core</groupId>
18+
<artifactId>org.openhab.core.compat1x</artifactId>
19+
20+
<name>openHAB Core 1.x Compatibility Layer</name>
21+
<packaging>eclipse-plugin</packaging>
22+
23+
</project>

0 commit comments

Comments
 (0)