Core framework of openHAB
Go to file
Markus Rathgeb fd95b86b36 centralize the bundle identifier construction
The ready marker logic is created to hide the real usage. The ready
marker uses an "identifier" that is not specific or limited to bundles.

Currently the bundle symbolic name is used as bundle identifier.
That "convention" needs to be known at several different places.

There should be one method that created an identifier for a bundle and
"no one" needs to care about the implementation details.

Another point is that the bundle symbolic name that has been used is
optional. It may be null e.g. for bundles that has been installed by the
synthetic bundle installer mechanism etc.

The runtime assigns a bundle ID to an installed bundle that remains the
same for the bundle (see JavaDoc). The bundle ID is present all the
time.

The implementation of the "get identifier for bundle" has been choosen
to use the BSN -- if available -- (as before) but fallback to a custom
one using also the bundle ID (to be unique).
So we can provide always a non null identifier for a bundle.
It should be easily to change the identifier creation now if there is
every any need for.

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-02-06 15:56:00 +01:00
bom add test: org.openhab.core.config.core (#516) 2019-02-04 17:37:10 +01:00
bundles centralize the bundle identifier construction 2019-02-06 15:56:00 +01:00
demo use openHAB Core index, simplify itests and demo app (#503) 2019-02-01 11:02:39 +01:00
features improved addons parent pom (#536) 2019-02-06 15:16:55 +01:00
itests centralize the bundle identifier construction 2019-02-06 15:56:00 +01:00
licenses/epl-2.0 mavenize openHAB and integrate mavenized ESH repository (#467) 2019-01-28 13:07:31 +01:00
notes mavenize openHAB and integrate mavenized ESH repository (#467) 2019-01-28 13:07:31 +01:00
tools/oomph Adopt openHAB Core IDE setup to folder layout & set workspace name (#538) 2019-02-06 12:51:11 +00:00
.gitignore mavenize openHAB and integrate mavenized ESH repository (#467) 2019-01-28 13:07:31 +01:00
.travis.yml mavenize openHAB and integrate mavenized ESH repository (#467) 2019-01-28 13:07:31 +01:00
CONTRIBUTING.md updated contribution info 2015-12-30 23:44:04 +01:00
crowdin.yml mavenize openHAB and integrate mavenized ESH repository (#467) 2019-01-28 13:07:31 +01:00
LICENSE Changed license from EPL v1 to EPL v2 (#466) 2019-01-16 22:59:49 +01:00
pom.xml (Temporarily) removed DS requirements generation to make addon repos compile (#530) 2019-02-05 08:57:11 +00:00
README.md Update README.md (#498) 2019-02-01 16:18:41 +01:00

openHAB 2 Core bundles

This project contains core bundles of the openHAB 2 runtime.

Building and running the project is fairly easy if you follow the steps detailed below.

Please note that openHAB 2 Core is not a product itself, but a framework to build solutions on top. It is picked up by the main openHAB distribution build.

This means that what you build is primarily an artifact repository of OSGi bundles that can be used within smart home products.

1. Prerequisites

The build infrastructure is based on Maven. If you know Maven already then there won't be any surprises for you. If you have not worked with Maven yet, just follow the instructions and everything will miraculously work ;-)

What you need before you start:

Make sure that the "mvn" command is available on your path

2. Checkout

Checkout the source code from GitHub, e.g. by running

git clone https://github.com/openhab/openhab-core.git

3. Building with Maven

To build this project from the sources, Maven takes care of everything:

  • set MAVEN_OPTS to "-Xms512m -Xmx1024m"
  • change into the openhab-core directory ("cd openhab-core“)
  • run "mvn clean install" to compile and package all sources

If there are tests that are failing occasionally on your local build, run mvn -DskipTests=true clean install instead to skip them.

How to contribute

If you want to become a contributor to the project, please read about contributing and check our guidelines first.