openhab / openhab-distro

The binary distribution of openHAB
https://www.openhab.org/
Eclipse Public License 2.0
1.3k stars 394 forks source link

No webui's #879

Closed martinvw closed 5 years ago

martinvw commented 5 years ago

Is it expected that webui's which have been split of recently cannot be installed anymore in the snapshots?

CC: @davidgraeff

wborn commented 5 years ago

I also ran into this issue today. Testing a fix now. :-)

lucacalcaterra commented 5 years ago

I'm working on a binding development, today i create a fresh copy of the environment but launching openhab runtime hangs to please stand by while ui are being installed.

Is this the issue ? But i didn't understand how to fix it..

Antoher Issue is that Eclipse , when launch the distro give me the followin errors:

image

wborn commented 5 years ago

Looks like a different issue @lucacalcaterra.

davidgraeff commented 5 years ago

@lucacalcaterra I do had the same issue though a few days ago (on Linux, so it's not a Windows only problem)

martinvw commented 5 years ago

@wborn, with the newest one it looks still bad, maybe worse:

2019-02-21 21:24:31.488 [ERROR] [core.karaf.internal.FeatureInstaller] - Failed installing 'openhab-binding-hue, openhab-binding-exec, openhab-binding-yahooweather, openhab-binding-bluetooth, openhab-binding-airquality, openhab-misc-restdocs, openhab-misc-openhabcloud, openhab-binding-network, openhab-ui-habpanel, openhab-persistence-mysql, openhab-misc-hueemulation, openhab-binding-mqtt, openhab-transformation-map, openhab-ui-classic, openhab-binding-snmp1, openhab-transformation-xslt, openhab-action-mqtt, openhab-transformation-exec, openhab-binding-systeminfo, openhab-binding-wol1, openhab-transformation-scale, openhab-misc-market, openhab-binding-weatherunderground, openhab-binding-zwave, openhab-persistence-mqtt, openhab-action-telegram, openhab-transformation-xpath, openhab-binding-ntp, openhab-action-mail, openhab-binding-astro, openhab-binding-squeezebox, openhab-persistence-mapdb, openhab-binding-nest, openhab-ui-habot, openhab-persistence-influxdb, openhab-binding-mqtt1, openhab-binding-rfxcom, openhab-binding-windcentrale, openhab-binding-tradfri, openhab-binding-logreader, openhab-ui-habmin, openhab-ui-paper, openhab-voice-voicerss, openhab-misc-lsp, openhab-ui-homebuilder, openhab-transformation-javascript, openhab-binding-weather1, openhab-transformation-regex, openhab-misc-ruleengine, openhab-transformation-jsonpath, openhab-binding-ipp, openhab-misc-dropbox1, openhab-ui-basic, openhab-misc-homekit, openhab-binding-icloud, openhab-binding-expire1, openhab-binding-gpstracker': Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=openhab-ui-homebuilder; type=karaf.feature; version="[2.5.0.SNAPSHOT,2.5.0.SNAPSHOT]"; filter:="(&(osgi.identity=openhab-ui-homebuilder)(type=karaf.feature)(version>=2.5.0.SNAPSHOT)(version<=2.5.0.SNAPSHOT))" [caused by: Unable to resolve openhab-ui-homebuilder/2.5.0.SNAPSHOT: missing requirement [openhab-ui-homebuilder/2.5.0.SNAPSHOT] osgi.identity; osgi.identity=org.openhab.ui.homebuilder; type=osgi.bundle; version="[2.5.0.201902190011,2.5.0.201902190011]"; resolution:=mandatory [caused by: Unable to resolve org.openhab.ui.homebuilder/2.5.0.201902190011: missing requirement [org.openhab.ui.homebuilder/2.5.0.201902190011] osgi.wiring.package; filter:="(osgi.wiring.package=org.openhab.ui.dashboard)"]]

&


2019-02-21 21:27:11.673 [WARN ] [org.apache.felix.fileinstall        ] - Error while starting bundle: file:/openhab/addons/org.openhab.binding.samsungtv-2.3.0-SNAPSHOT.jar
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.samsungtv [208]
  Unresolved requirement: Import-Package: org.apache.commons.net.util

        at org.eclipse.osgi.container.Module.start(Module.java:444) ~[?:?]
        at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[?:?]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1260) [10:org.apache.felix.fileinstall:3.6.4]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1233) [10:org.apache.felix.fileinstall:3.6.4]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1221) [10:org.apache.felix.fileinstall:3.6.4]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:515) [10:org.apache.felix.fileinstall:3.6.4]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) [10:org.apache.felix.fileinstall:3.6.4]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) [10:org.apache.felix.fileinstall:3.6.4]
kaikreuzer commented 5 years ago

Please note that we didn't yet have a successful web-ui build at all, so all our latest PRs to that repo (and its feature definition) are not yet available to the distro...

I guess we first have to fix that one here: https://ci.openhab.org/job/openHAB-WebUI/10/console

wborn commented 5 years ago

I guess we first have to fix that one here

I could reproduce it by wiping my local Maven repo. But fixing it is another thing. :wink:

martinvw commented 5 years ago

Please note that we didn't yet have a successful web-ui build at all, so all our latest PRs to that repo (and its feature definition) are not yet available to the distro...

I missed that, let me take a look as well in parallel :-)

wborn commented 5 years ago

It mostly looks like Tycho has problems resolving the BND build dashboard @kaikreuzer. What do you think would be the best way to solve it?

Build the dashboard using Tycho again? Using BND for all webui bundles? It wouldn't allow for the openhab2-addons parent. Maybe you or @maggu2810 know of something else?

maggu2810 commented 5 years ago

That's related: https://github.com/openhab/openhab-core/issues/590#issuecomment-465626360

and for me also: https://github.com/openhab/openhab-core/pull/586#issuecomment-465570230

--

Oh, sorry, seems you have different problems. Need to read the topic completely, but cannot do it now, need to wait for tomorrow...

kaikreuzer commented 5 years ago

I really wonder why that can matter? It is in the same reactor and there's a pom dependency to it defined. I would expect that there's no difference in how the referenced artifact is built as long as it is built by the reactor...

martinvw commented 5 years ago

I have a partial local build re-enabling tycho (I was not patient enough and my build env is not in a good shape)

If you are interested I pushed the branch:

https://github.com/openhab/openhab-webui/pull/13

wborn commented 5 years ago

Thanks @martinvw!

Maybe the Tycho Wiki entry about not being able to mix POM-fist and manifest-first projects in the same reactor explains this issue?

After reading it I tried the following which also worked:

martinvw commented 5 years ago

After reading it I tried the following which also worked:

If that makes more sense and is closer to the way forward I would prefer that, mine is more like a step backward :-)

maggu2810 commented 5 years ago

Wouldn't it be much simpler to migrate the other UIs to a non-tycho build? It shouldn't a big deal. I already migrated the basic, classic and the Paper UI before it gets removed. There where just minor additional steps to be done (e.g. moving snippets to src/main/resources etc.).

martinvw commented 5 years ago

@maggu2810 I agree 😊

I don’t expect that I can make time today but if I can I will mention it here before starting

kaikreuzer commented 5 years ago

Wouldn't it be much simpler to migrate the other UIs to a non-tycho build?

For a quick fix (which we need to get back to a working snapshot distro), it is even much simpler to just merge https://github.com/openhab/openhab-webui/pull/13 - this reduces the time pressure for moving everything to a non-tycho build.

maggu2810 commented 5 years ago

I don’t expect that I can make time today but if I can I will mention it here before starting

If you need some support or assistance to move things forward, feel free to ping me.

martinvw commented 5 years ago

@maggu2810 I started a WIP PR, I believe that I did it alright :-)

martinvw commented 5 years ago

@maggu2810 if you would know by heart what I need to get this dependency in the correct way:


[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project org.openhab.ui.classic: Compilation failure
[ERROR] D:\Documents\_Martin\Java\openhab-webui\org.openhab.ui.classic\src\main\java\org\openhab\ui\classic\internal\render\PageRenderer.java: The type org.eclipse.emf.common.util.EList cannot be resolved. It is indirectly referenced from required .class files
maggu2810 commented 5 years ago

Add this:

<dependency>
  <groupId>org.openhab.core.bom</groupId>
  <artifactId>org.openhab.core.bom.compile-model</artifactId>
  <type>pom</type>
</dependency>
martinvw commented 5 years ago

@maggu2810 it works, with: No, it does not, thanks for your hint :-D

martinvw commented 5 years ago

@maggu2810 what should I do with lib folders? Replace with the real maven dependency?

maggu2810 commented 5 years ago

IMHO

wborn commented 5 years ago

Did any of you also try build 1530? It should contain the webui artifacts of the successful build. But it doesn't show any UI at all on a new installation. :neutral_face:

martinvw commented 5 years ago

Indeed same here :-(


2019-02-22 13:24:19.411 [ERROR] [core.karaf.internal.FeatureInstaller] - Failed installing 'openhab-binding-hue, openhab-binding-exec, openhab-binding-yahooweather, openhab-binding-bluetooth, openhab-binding-airquality, openhab-misc-restdocs, openhab-misc-openhabcloud, openhab-binding-network, openhab-ui-habpanel, openhab-persistence-mysql, openhab-misc-hueemulation, openhab-binding-mqtt, openhab-transformation-map, openhab-ui-classic, openhab-binding-snmp1, openhab-transformation-xslt, openhab-action-mqtt, openhab-transformation-exec, openhab-binding-systeminfo, openhab-binding-wol1, openhab-transformation-scale, openhab-misc-market, openhab-binding-weatherunderground, openhab-binding-zwave, openhab-persistence-mqtt, openhab-action-telegram, openhab-transformation-xpath, openhab-binding-ntp, openhab-action-mail, openhab-binding-astro, openhab-binding-squeezebox, openhab-persistence-mapdb, openhab-binding-nest, openhab-ui-habot, openhab-persistence-influxdb, openhab-binding-mqtt1, openhab-binding-rfxcom, openhab-binding-windcentrale, openhab-binding-tradfri, openhab-binding-logreader, openhab-ui-habmin, openhab-ui-paper, openhab-voice-voicerss, openhab-misc-lsp, openhab-ui-homebuilder, openhab-transformation-javascript, openhab-binding-weather1, openhab-transformation-regex, openhab-misc-ruleengine, openhab-transformation-jsonpath, openhab-binding-ipp, openhab-misc-dropbox1, openhab-ui-basic, openhab-misc-homekit, openhab-binding-icloud, openhab-binding-expire1, openhab-binding-gpstracker': Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=openhab-ui-paper; type=karaf.feature; version="[2.5.0.SNAPSHOT,2.5.0.SNAPSHOT]"; filter:="(&(osgi.identity=openhab-ui-paper)(type=karaf.feature)(version>=2.5.0.SNAPSHOT)(version<=2.5.0.SNAPSHOT))" [caused by: Unable to resolve openhab-ui-paper/2.5.0.SNAPSHOT: missing requirement [openhab-ui-paper/2.5.0.SNAPSHOT] osgi.identity; osgi.identity=org.openhab.ui.paper; type=osgi.bundle; version="[2.5.0.201902220725,2.5.0.201902220725]"; resolution:=mandatory [caused by: Unable to resolve org.openhab.ui.paper/2.5.0.201902220725: missing requirement [org.openhab.ui.paper/2.5.0.201902220725] osgi.wiring.package; filter:="(osgi.wiring.package=org.openhab.ui.dashboard)"]]
martinvw commented 5 years ago

@wborn I could now manually install the feature: 'openhab-ui-dashboard'

After the rest did come, so maybe its something small now, any ideas?

martinvw commented 5 years ago

After the manual install, only these problems remain:

2019-02-22 13:43:59.376 [ERROR] [core.karaf.internal.FeatureInstaller] - Failed installing 'openhab-misc-lsp, openhab-misc-dropbox1, openhab-binding-yahooweather, openhab-misc-restdocs'

kaikreuzer commented 5 years ago

@wborn I could now manually install the feature: 'openhab-ui-dashboard' After the rest did come, so maybe its something small now, any ideas?

I'd say we should add a feature dependency to the dashboard to all the single UIs in https://github.com/openhab/openhab-webui/blob/master/features/src/main/feature/feature.xml. Wdyt?

kaikreuzer commented 5 years ago

openhab-binding-yahooweather

Better remove this from your setup as it does not exist anymore...

openhab-misc-restdocs

This is now called openhab-ui-restdocs.

wborn commented 5 years ago

There also needs to be a dependency so you can use the dashboard to select the installation package on initial installation.

kaikreuzer commented 5 years ago

You're right, that's the tricky one - it used to be part of openhab-runtime-base, but as it is not part of openhab-core, it cannot be in the base feature anymore.

wborn commented 5 years ago

How about adding the openhab-ui-dashboard to featuresBoot in org.apache.karaf.features.cfg?

kaikreuzer commented 5 years ago

Might work, can you give it a try?

martinvw commented 5 years ago

Better remove this from your setup as it does not exist anymore...

I feel a little bit stupid but how do I do that? feature:uninstall does not suffice?

kaikreuzer commented 5 years ago

Uninstall it through Paper UI or (if you have configured it in addons.cfg) remove it from addons.cfg. That should do the job.

wborn commented 5 years ago

can you give it a try?

It works on a local build so I've created #883. :smile:

martinvw commented 5 years ago

Uninstall it through Paper UI or (if you have configured it in addons.cfg) remove it from addons.cfg. That should do the job.

But I can't see it in the PaperUI because it does not exists anymore :-)

wborn commented 5 years ago

You can remove it from userdata/config/org/openhab/addons.config

martinvw commented 5 years ago

You can remove it from userdata/config/org/openhab/addons.config

Yes that worked!

kaikreuzer commented 5 years ago

https://ci.openhab.org/job/openHAB-WebUI/14/console fails as it picks up an openhab.core bundle that was built this afternoon (and which has DS requirements enabled). I assume this comes from a local Maven repo on Jenkins, which would be an incorrect configuration (will try to change it).

But @maggu2810: This seems to tell me that https://github.com/openhab/openhab-core/pull/595 will break this and we will need to adapt all our Tycho builds - so please let us test/prepare this before merging https://github.com/openhab/openhab-core/pull/595.

maggu2810 commented 5 years ago

First someone should fix the Jenkins configuration that merge request builders jobs does not pollute the Maven repositories used by other jobs.

IIRC you did not use the current master's HEAD but the latest "snapshot release" (don't know how you tell it) in the p2 repositories. Correct?

If it is correct, I assume we can move other things foward and fix that stuff parallel. Didn't we?

I written it already somewhere else: I am not able to build the webui repository at all. IMHO it should be able to clone a repository containing Maven projects and enter mvn clean install. Perhaps this could be fixed, too. Then I could perhaps also have a look at and try to help.

kaikreuzer commented 5 years ago

First someone should fix the Jenkins configuration

I did that immediately after my message above.

IIRC you did not use the current master's HEAD but the latest "snapshot release" (don't know how you tell it) in the p2 repositories. Correct?

How are p2 repos related here? The build should not at all depend on anything in a p2 repo.

I am not able to build the webui repository at all.

Even with the latest master? Why? @wborn worked hard on making it all build, even on a clean local Maven repo.

maggu2810 commented 5 years ago

Even with the latest master? Why? @wborn worked hard on making it all build, even on a clean local Maven repo.

I checked out the current master minutes before. The message is the same as the last one.

$ mvn clean install
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=1024M; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=256m; support was removed in 8.0
[INFO] Scanning for projects...
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM for org.openhab.ui:pom:[unknown-version]: Could not find artifact org.openhab:pom-addons2:pom:2.5.0-SNAPSHOT and 'parent.relativePath' points at no local POM @ line 5, column 11
 @ 
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]   
[ERROR]   The project org.openhab.ui:pom:[unknown-version] (/home/maggu2810/data/shared/bin/pkgs/eclipse/oh.git/openhab-webui/pom.xml) has 1 error
[ERROR]     Non-resolvable parent POM for org.openhab.ui:pom:[unknown-version]: Could not find artifact org.openhab:pom-addons2:pom:2.5.0-SNAPSHOT and 'parent.relativePath' points at no local POM @ line 5, column 11 -> [Help 2]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException

How are p2 repos related here? The build should not at all depend on anything in a p2 repo.

Perhaps things has been changed. If the Tychos build does not consume the openHAB Core bundles from the p2 target platform why did we create a p2 repo in openHAB Core at all?

kaikreuzer commented 5 years ago

You are right, Jenkins has the same problem:

19:39:10 [FATAL] Non-resolvable parent POM: Could not find artifact org.openhab:pom-addons2:pom:2.5.0-SNAPSHOT and 'parent.relativePath' points at no local POM @ line 5, column 11

why did we create a p2 repo in openHAB Core at all?

Because that's how those bundles are made available in the target platform of the Addons IDE setup. That's there only use, they are not relevant for Maven at all.

maggu2810 commented 5 years ago

You have to build the addons repository first to get a copy of that POM in the local repository...

kaikreuzer commented 5 years ago

So there are probably two solutions:

  1. Make the build use the parent pom defined in openhab-core (and which is also used by openhab2-addons)
  2. Add the artifactory snapshot repo to the pom (assuming that addons is always built before webui).

Probably 1 is the preferred option.

maggu2810 commented 5 years ago

org.eclipse.equinox.event

I will give it a try, but I am in good spirits to bump the p2 repo from Oxygen to Photon (in the pom-tycho pom) will already solve the problem.

maggu2810 commented 5 years ago

@kaikreuzer I added some PRs to hopefully improve the overall situation.

wborn commented 5 years ago

I've updated some POMs in https://github.com/openhab/openhab-webui/pull/21 which creates a working webui build for me with an empty Maven repo @kaikreuzer.

There's also some storage/permission issue on Jenkins causing all builds to fail currently.