If you would like to use the runblacklist bnd instruction in an
integration test it will not work as expected.
In my current test case it is not used at all.
This is caused because an included file overrides this instruction.
IMHO it would be better to use the "Merged Instructions" feature and use
a postfix in the included file. This way you can use the non postfixed
instruction as usual.
See: https://bnd.bndtools.org/chapters/820-instructions.html#merged-instructions
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
Use the same Pax Web and Jetty version for the runtime dependencies
(used by the demo application) as is used in the Karaf distribution.
This PR needs to be merged synchron to the updated bndrun in the openHAB
demo repository.
Related to: https://github.com/openhab/openhab-core/pull/1197#issuecomment-553029014
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
Make sure Throwables are not be substituted into log messages so they can be formatted according to the logging configuration.
Signed-off-by: Wouter Born <github@maindrain.net>
For bnd 4.3.0 release notes, see:
https://github.com/bndtools/bnd/wiki/Changes-in-4.3.0
Also note:
The Bnd Maven plugins are now marked thread safe and can be used with -T.
It seems to work well so far as long as the features are build after the bundles so I've added the bundles BOM as dependency to the features POM.
We still need to make SAT thread safe (openhab/static-code-analysis#200).
When disabling SAT you can build using one thread per processor core by executing:
mvn clean install -DskipChecks -T 1C
This significantly speeds up Maven builds and puts all your processor cores to good use. :-)
Signed-off-by: Wouter Born <github@maindrain.net>
Using waitForAssert instead of sleeping 10ms makes the tests stable when the system has some load.
Fixes#1139
Signed-off-by: Wouter Born <github@maindrain.net>
Every connection to the LSP server failed because it always threw a org.eclipse.smarthome.model.ide.SitemapIdeSetup NoClassDefFoundError.
Which is caused by the SitemapIdeSetup residing in a package that is split between both the org.openhab.core.model.item.ide and the org.openhab.core.model.sitemap.ide bundles.
The SitemapIdeSetup class is also using classes from the org.eclipse.smarthome.model package which is also a package split between the org.openhab.core.model.items and org.openhab.core.model.sitemap bundles.
After renaming the packages used for the sitemap classes the NoClassDefFoundError is resolved and LSP works properly again.
Many imports were updated for the sitemap model package changes.
Fixes#1030
Signed-off-by: Wouter Born <github@maindrain.net>
Fixes SAT errors/warnings in resources and tests reported by SAT 0.8.0-SNAPSHOT.
Related to openhab/static-code-analysis#363
Signed-off-by: Wouter Born <github@maindrain.net>
* Added "resources" folder as a resource folder to bnd instructions
Co-Authored-By: Wouter Born <github@maindrain.net>
Signed-off-by: Kai Kreuzer <kai@openhab.org>
* Added nullness annotations to o.o.c.binding.xml
* Use local variables
* Removed unuused import
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
waitForAssert doesn't catch NPEs so this PR fixes that by also checking the localized modules for null.
Related to #1089
Signed-off-by: Wouter Born <github@maindrain.net>
* Added contructor injection to thing xml
* Removed Nullable from getChannels and getChannelGroups
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
* Added nullness annotations to 'RuleTemplateI18nUtil'
* Added nullness annotations to 'ConfigDescriptionGroupI18nUtil'
* Moved 'ConfigDescriptionI18nUtil' into internal package
* Moved 'ConfigDescriptionGroupI18nUtil' into internal package
* Moved 'ThingTypeI18nUtil' into internal package
* Use 'ConfigI18nLocalizationService' instead of 'ConfigDescriptionI18nUtil'
* Use default labels / descriptions if application of localization is not successful
* Resolved itest.bndrun files
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
Adds null annotations to all registries, the interfaces they implement and a few other classes.
Also-by: Christoph Weitkamp <github@christophweitkamp.de>
Signed-off-by: Wouter Born <github@maindrain.net>
* Use !isEmpty() instead of "size() > 0" or "size() != 0"
!isEmpty() expresses the intent more clearly and is therefore preferred.
Counting the number of elements can also be an expensive operation e.g. when using linked lists.
Co-Authored-By: Christoph Weitkamp <github@christophweitkamp.de>
Signed-off-by: Wouter Born <github@maindrain.net>