openhab / openhab-webui

Web UIs of openHAB
Eclipse Public License 2.0
213 stars 233 forks source link

Web ui to pom first #15

Closed martinvw closed 5 years ago

nanosonde commented 5 years ago

Hi! Is this related? https://github.com/openhab/openhab-webui/issues/11

martinvw commented 5 years ago

IMHO

  • If there are artifacts that are already OSGi bundles: use Maven dependencies and adapt the features to rely on that, too
  • If there are artifacts but they are not OSGi bundles: use Maven dependencies and bnd instructions (Conditional / Private Package) to include the content.

@maggu2810 I did not yet do this

@wborn / @openhab/2-x-add-ons-maintainers I also did not check whether all the results are still fine, but my childs do also deserve some attention now. PR to this branch are welcome

martinvw commented 5 years ago

Also the paper-ui is misbehaving a little when it comes to the tests :-(

EDIT: on my Mac they do succeed...

wborn commented 5 years ago

Thanks for your work on this POM-first proposal @martinvw! It also builds well on my Ubuntu machine. :+1:


There are now several modified files for Basic UI after building the code:

$ git status
On branch web-ui-to-pom-first
Your branch is up-to-date with 'martinvw/feature/web-ui-to-pom-first'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   org.openhab.ui.basic/src/main/resources/web/fonts/Roboto-Medium.eot
    modified:   org.openhab.ui.basic/src/main/resources/web/fonts/Roboto-Medium.svg
    modified:   org.openhab.ui.basic/src/main/resources/web/fonts/Roboto-Medium.ttf
    modified:   org.openhab.ui.basic/src/main/resources/web/fonts/Roboto-Medium.woff
    modified:   org.openhab.ui.basic/src/main/resources/web/fonts/Roboto-Regular.eot
    modified:   org.openhab.ui.basic/src/main/resources/web/fonts/Roboto-Regular.svg
    modified:   org.openhab.ui.basic/src/main/resources/web/fonts/Roboto-Regular.ttf
    modified:   org.openhab.ui.basic/src/main/resources/web/fonts/Roboto-Regular.woff
    modified:   org.openhab.ui.habmin/web/index.html
    modified:   org.openhab.ui.habmin/web/lib/ace-builds/src-min-noconflict/ace.js

The modified files for HABmin is already an issue on the current master (see #20).


There also seems to be an issue preventing the UIs from installing correctly with the "Demo" package on a local build with this code:

org.apache.felix.resolver.reason.ReasonException: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=openhab-ui-restdocs; type=karaf.feature; version="[2.5.0.SNAPSHOT,2.5.0.SNAPSHOT]"; filter:="(&(osgi.identity=openhab-ui-restdocs)(type=karaf.feature)(version>=2.5.0.SNAPSHOT)(version<=2.5.0.SNAPSHOT))" [caused by: Unable to resolve openhab-ui-restdocs/2.5.0.SNAPSHOT: missing requirement [openhab-ui-restdocs/2.5.0.SNAPSHOT] osgi.identity; osgi.identity=org.openhab.ui.restdocs; type=osgi.bundle; version="[2.5.0.201902231107,2.5.0.201902231107]"; resolution:=mandatory [caused by: Unable to resolve org.openhab.ui.restdocs/2.5.0.201902231107: missing requirement [org.openhab.ui.restdocs/2.5.0.201902231107] osgi.wiring.package; filter:="(&(osgi.wiring.package=org.openhab.ui.dashboard)(version>=2.5.0)(!(version>=3.0.0)))"]]
    at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1343)
    at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:392)
    at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:378)
    at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:332)
    at org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:257)
    at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:388)
    at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1025)
    at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:964)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve openhab-ui-restdocs/2.5.0.SNAPSHOT: missing requirement [openhab-ui-restdocs/2.5.0.SNAPSHOT] osgi.identity; osgi.identity=org.openhab.ui.restdocs; type=osgi.bundle; version="[2.5.0.201902231107,2.5.0.201902231107]"; resolution:=mandatory [caused by: Unable to resolve org.openhab.ui.restdocs/2.5.0.201902231107: missing requirement [org.openhab.ui.restdocs/2.5.0.201902231107] osgi.wiring.package; filter:="(&(osgi.wiring.package=org.openhab.ui.dashboard)(version>=2.5.0)(!(version>=3.0.0)))"]
    at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1343)
    ... 12 more
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve org.openhab.ui.restdocs/2.5.0.201902231107: missing requirement [org.openhab.ui.restdocs/2.5.0.201902231107] osgi.wiring.package; filter:="(&(osgi.wiring.package=org.openhab.ui.dashboard)(version>=2.5.0)(!(version>=3.0.0)))"
    at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1343)
    ... 13 more
13:52:51.992 [ERROR] [.core.karaf.internal.FeatureInstaller] - Failed installing 'openhab-binding-hue, openhab-binding-avmfritz, openhab-binding-wemo, openhab-binding-sonos, openhab-ui-habpanel, openhab-misc-hueemulation, openhab-binding-ipp, openhab-ui-restdocs, openhab-persistence-rrd4j, openhab-ui-basic, openhab-transformation-map, openhab-binding-ntp, openhab-misc-homekit, openhab-binding-astro, openhab-ui-paper': Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=openhab-ui-restdocs; type=karaf.feature; version="[2.5.0.SNAPSHOT,2.5.0.SNAPSHOT]"; filter:="(&(osgi.identity=openhab-ui-restdocs)(type=karaf.feature)(version>=2.5.0.SNAPSHOT)(version<=2.5.0.SNAPSHOT))" [caused by: Unable to resolve openhab-ui-restdocs/2.5.0.SNAPSHOT: missing requirement [openhab-ui-restdocs/2.5.0.SNAPSHOT] osgi.identity; osgi.identity=org.openhab.ui.restdocs; type=osgi.bundle; version="[2.5.0.201902231107,2.5.0.201902231107]"; resolution:=mandatory [caused by: Unable to resolve org.openhab.ui.restdocs/2.5.0.201902231107: missing requirement [org.openhab.ui.restdocs/2.5.0.201902231107] osgi.wiring.package; filter:="(&(osgi.wiring.package=org.openhab.ui.dashboard)(version>=2.5.0)(!(version>=3.0.0)))"]]

This does work with the current master.


When I install the "Standard" package the UIs do install. However when I open Basic UI I am presented with an NPE:

HTTP ERROR 500
Problem accessing /basicui/app. Reason:

    Server Error
Caused by:
java.lang.NullPointerException
    at org.openhab.ui.basic.internal.render.AbstractWidgetRenderer.getSnippet(AbstractWidgetRenderer.java:149)
    at org.openhab.ui.basic.internal.render.PageRenderer.renderSitemapList(PageRenderer.java:225)
    at org.openhab.ui.basic.internal.servlet.WebAppServlet.showSitemapList(WebAppServlet.java:142)
    at org.openhab.ui.basic.internal.servlet.WebAppServlet.service(WebAppServlet.java:173)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)
    at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
    at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:293)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
    at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
    at org.eclipse.jetty.server.Server.handle(Server.java:503)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
    at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
    at java.lang.Thread.run(Thread.java:748)

The other UIs seem to work properly.

wborn commented 5 years ago

Sorry for the merge conflicts my PRs caused on your masterpiece @martinvw. :disappointed: Luckily it's only 8 out of the 1138 files (0,7%) you've changed in this PR!

martinvw commented 5 years ago

@wborn merge conflict and part of the git changes resolved. Habmin needs some live love with respect to that, maybe some dirs have to removed / ignored? Feel free to create a PR.

I did briefly look into the problem about the basic ui, but did not yet spot something.

martinvw commented 5 years ago

@wborn I found something really fishy with the poms pointing to the old location of the dashboard, it could be resolved now, but I did not yet test to confirm. I might have more time later this week :-(

martinvw commented 5 years ago

@maggu2810 I think there is a thing with me and BND:

The old manifest of the basicUI and the classicUI has:

Bundle-Activator: org.openhab.ui.basic.internal.WebAppActivator

while the new one does not have one, searching for it I found this, what would you propose? Where should that be solved?

https://bnd.bndtools.org/chapters/920-faq.html?#automaticActivator

Thanks!

martinvw commented 5 years ago

@maggu2810 @wborn might have a solution inspired by the core bnd files

But I have another question:

I have the following XML:


    <feature name="openhab-ui-habot" description="HABot" version="${project.version}">
        <feature>openhab-runtime-base</feature>
        <feature>openhab-ui-dashboard</feature>
        <feature>openhab-core-automation</feature>
        <bundle>mvn:org.openhab.ui/org.openhab.ui.habot/${project.version}</bundle>
        <bundle>mvn:org.openhab.core.bundles/org.openhab.core.semantics/${project.version}</bundle>
        <bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.rest/${project.version}</bundle>
        <bundle dependency="true">mvn:org.bouncycastle/bcprov-jdk15on/1.54</bundle>
        <bundle dependency="true">mvn:org.apache.opennlp/opennlp-tools/1.8.3</bundle>
        <bundle dependency="true">mvn:org.bitbucket.b_c/jose4j/0.6.3</bundle>
    </feature>

But now it can't find those dependencies, I can understand that but how should I make sure that it can find them? Of was it caused by my local kar file (which I used for testing)?

        ... 7 more
        Suppressed: shaded.org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.apache.opennlp:opennlp-tools:jar:1.8.3 in openhab (https://openhab.jfrog.io/openhab/online-repo-snapshot/2.5/)
            at shaded.org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:39)
            at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:355)
            at shaded.org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:67)
            at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:581)
            at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:249)
            at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:520)
            at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:421)
            at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:246)
            at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:223)
            at shaded.org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:294)
            at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:705)
            ... 12 more
    Caused by: shaded.org.eclipse.aether.resolution.ArtifactResolutionException: Error resolving artifact org.apache.opennlp:opennlp-tools:jar:1.8.3
        at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:444)
        at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:246)
        at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:223)
        at shaded.org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:294)
        at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:705)
        ... 12 more
Error executing command: Error:
    Error downloading mvn:org.bouncycastle/bcprov-jdk15on/1.54
    Error downloading mvn:org.bitbucket.b_c/jose4j/0.6.3
    Error downloading mvn:org.apache.opennlp/opennlp-tools/1.8.3
maggu2810 commented 5 years ago

Will have a look at.

maggu2810 commented 5 years ago

@martinvw At which time did you see that error? I can build the whole reactor without errors. Did you see it on installation time?

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for openHAB UI Components 2.5.0-SNAPSHOT:
[INFO] 
[INFO] openHAB UI Components .............................. SUCCESS [ 25.808 s]
[INFO] Icon Sets .......................................... SUCCESS [  0.191 s]
[INFO] Classic Icon Set ................................... SUCCESS [  5.590 s]
[INFO] openHAB Dashboard UI ............................... SUCCESS [  0.780 s]
[INFO] Basic UI ........................................... SUCCESS [01:48 min]
[INFO] Classic UI ......................................... SUCCESS [  1.136 s]
[INFO] openHAB CometVisu Backend .......................... SUCCESS [  2.008 s]
[INFO] PHP Support for the CometVisu Backend .............. SUCCESS [  7.451 s]
[INFO] HABmin User Interface .............................. SUCCESS [ 57.225 s]
[INFO] HABot Interactive Bot .............................. SUCCESS [01:05 min]
[INFO] HABPanel user interface ............................ SUCCESS [  1.822 s]
[INFO] openHAB HomeBuilder UI ............................. SUCCESS [ 55.612 s]
[INFO] Paper UI ........................................... SUCCESS [01:50 min]
[INFO] openHAB REST API Documentation ..................... SUCCESS [  0.716 s]
[INFO] openHAB 2 Feature Addons ........................... SUCCESS [  1.256 s]
[INFO] openHAB UI P2 Repository ........................... SUCCESS [ 32.611 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  08:09 min
[INFO] Finished at: 2019-02-28T11:07:27+01:00
[INFO] ------------------------------------------------------------------------
martinvw commented 5 years ago

Did you see it on installation time?

Yes indeed, while running the bundle, so I suppose that openHAB runtime does not lookup its dependencies in maven.repo but some specific repo, so that step seems to be missing.

maggu2810 commented 5 years ago

If I start the build openHAB it looks like (I enabled the Karaf debug feature globally):

$ ./start.sh 
Launching the openHAB runtime...
/home/rathgeb/bin/pkgs/eclipse/oh2/git/openhab-distro/distributions/openhab/target/_/runtime/bin/setenv: line 140: java-config: command not found
karaf: Enabling Java debug options: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
Listening for transport dt_socket at address: 5005

                          __  _____    ____      
  ____  ____  ___  ____  / / / /   |  / __ )     
 / __ \/ __ \/ _ \/ __ \/ /_/ / /| | / __  | 
/ /_/ / /_/ /  __/ / / / __  / ___ |/ /_/ /      
\____/ .___/\___/_/ /_/_/ /_/_/  |_/_____/     
    /_/                        2.5.0-SNAPSHOT
                               - local build -   

Hit '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.
Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown openHAB.

openhab> org.apache.karaf.features.internal.util.MultiException: Error:                                                                                                                                                                                                                                                                                                   
        Error downloading mvn:org.openhab.ui/org.openhab.ui.dashboard/2.5.0-SNAPSHOT
        at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$MavenDownloader.<init>(MavenDownloadManager.java:91)
        at org.apache.karaf.features.internal.download.impl.MavenDownloadManager.createDownloader(MavenDownloadManager.java:72)
        at org.apache.karaf.features.internal.region.Subsystem.downloadBundles(Subsystem.java:457)
        at org.apache.karaf.features.internal.region.Subsystem.downloadBundles(Subsystem.java:452)
        at org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:224)
        at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:388)
        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1025)
        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:964)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
        Suppressed: java.io.IOException: Error downloading mvn:org.openhab.ui/org.openhab.ui.dashboard/2.5.0-SNAPSHOT
                at org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:77)
                at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
                at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
                at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
                ... 3 more
        Caused by: java.io.IOException: Error resolving artifact org.openhab.ui:org.openhab.ui.dashboard:jar:2.5.0-SNAPSHOT: [Could not transfer artifact org.openhab.ui:org.openhab.ui.dashboard:jar:2.5.0-SNAPSHOT from/to openhab (https://openhab.jfrog.io/openhab/online-repo-snapshot/2.5/): RSA premaster secret error]
                at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:720)
                at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:659)
                at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:600)
                at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:567)
                at org.apache.karaf.features.internal.download.impl.MavenDownloadTask.download(MavenDownloadTask.java:47)
                at org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:60)
                ... 7 more
                Suppressed: shaded.org.eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact org.openhab.ui:org.openhab.ui.dashboard:jar:2.5.0-SNAPSHOT from/to openhab (https://openhab.jfrog.io/openhab/online-repo-snapshot/2.5/): RSA premaster secret error
                        at shaded.org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:43)
                        at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:355)
                        at shaded.org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:67)
                        at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:581)
                        at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:249)
                        at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:520)
                        at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:421)
                        at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:246)
                        at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:223)
                        at shaded.org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:294)
                        at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:705)
                        ... 12 more
                Caused by: shaded.org.apache.maven.wagon.TransferFailedException: RSA premaster secret error
                        at shaded.org.apache.maven.wagon.providers.http.AbstractHttpClientWagon.fillInputData(AbstractHttpClientWagon.java:1085)
                        at shaded.org.apache.maven.wagon.providers.http.AbstractHttpClientWagon.fillInputData(AbstractHttpClientWagon.java:977)
                        at shaded.org.apache.maven.wagon.StreamWagon.getInputStream(StreamWagon.java:116)
                        at shaded.org.apache.maven.wagon.StreamWagon.getIfNewer(StreamWagon.java:88)
                        at shaded.org.apache.maven.wagon.StreamWagon.get(StreamWagon.java:61)
                        at shaded.org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner.run(WagonTransporter.java:560)
                        at shaded.org.eclipse.aether.transport.wagon.WagonTransporter.execute(WagonTransporter.java:427)
                        at shaded.org.eclipse.aether.transport.wagon.WagonTransporter.get(WagonTransporter.java:404)
                        at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.runTask(BasicRepositoryConnector.java:447)
                        at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:350)
                        ... 21 more
                Caused by: javax.net.ssl.SSLKeyException: RSA premaster secret error
                        at sun.security.ssl.RSAClientKeyExchange.<init>(RSAClientKeyExchange.java:87)
                        at sun.security.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:972)
                        at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:369)
                        at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1037)
                        at sun.security.ssl.Handshaker.process_record(Handshaker.java:965)
                        at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1064)
                        at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1367)
                        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1395)
                        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1379)
                        at shaded.org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:290)
                        at shaded.org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:259)
                        at shaded.org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:125)
                        at shaded.org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:319)
                        at shaded.org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363)
                        at shaded.org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219)
                        at shaded.org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195)
                        at shaded.org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86)
                        at shaded.org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108)
                        at shaded.org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
                        at shaded.org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
                        at org.ops4j.pax.url.mvn.internal.wagon.ConfigurableHttpWagon.execute(ConfigurableHttpWagon.java:149)
                        at shaded.org.apache.maven.wagon.providers.http.AbstractHttpClientWagon.fillInputData(AbstractHttpClientWagon.java:1000)
                        ... 30 more
                Caused by: java.security.NoSuchAlgorithmException: SunTls12RsaPremasterSecret KeyGenerator not available
                        at javax.crypto.KeyGenerator.<init>(KeyGenerator.java:169)
                        at javax.crypto.KeyGenerator.getInstance(KeyGenerator.java:223)
                        at sun.security.ssl.JsseJce.getKeyGenerator(JsseJce.java:251)
                        at sun.security.ssl.RSAClientKeyExchange.<init>(RSAClientKeyExchange.java:78)
                        ... 51 more
        Caused by: shaded.org.eclipse.aether.resolution.ArtifactResolutionException: Error resolving artifact org.openhab.ui:org.openhab.ui.dashboard:jar:2.5.0-SNAPSHOT
                at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:444)
                at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:246)
                at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:223)
                at shaded.org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:294)
                at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:705)
                ... 12 more
martinvw commented 5 years ago

I used a kar, maybe that is a/the difference.

Ignoring the RSA error, the dependency seems to be there:

https://openhab.jfrog.io/openhab/online-repo-snapshot/2.5/org/openhab/ui/org.openhab.ui.dashboard/2.5.0-SNAPSHOT/

maggu2810 commented 5 years ago

Sure, it is present... But there seems to be something wrong with the Java security.

13:26:46.382 [WARN ] [org.apache.karaf.shell.ssh.SshUtils  ] - Configured keyexchange 'diffie-hellman-group-exchange-sha256' not available
13:26:46.395 [WARN ] [org.apache.karaf.shell.ssh.SshUtils  ] - Configured keyexchange 'ecdh-sha2-nistp521' not available                                                                                                                                                                                                                                                  
13:26:46.396 [WARN ] [org.apache.karaf.shell.ssh.SshUtils  ] - Configured keyexchange 'ecdh-sha2-nistp384' not available                                                                                                                                                                                                                                                  
13:26:46.396 [WARN ] [org.apache.karaf.shell.ssh.SshUtils  ] - Configured keyexchange 'ecdh-sha2-nistp256' not available                                                                                                                                                                                                                                                  
13:26:46.397 [WARN ] [org.apache.karaf.shell.ssh.SshUtils  ] - Configured keyexchange 'diffie-hellman-group-exchange-sha1' not available                                                                                                                                                                                                                                  
13:26:46.397 [WARN ] [org.apache.karaf.shell.ssh.SshUtils  ] - Configured keyexchange 'diffie-hellman-group1-sha1' not available                                                                                                                                                                                                                                          
13:26:46.461 [WARN ] [org.apache.karaf.shell.ssh.Activator ] - Error starting activator                                                                                                                                                                                                                                                                                   
java.lang.IllegalArgumentException: KeyExchangeFactories not set                                                                                                                                                                                                                                                                                                          
maggu2810 commented 5 years ago

I will test it in my own custom Karaf distribution as I don't know what openHAB distro changes in the default Karaf configuration.

maggu2810 commented 5 years ago

Any reason to depend on "openhab-runtime-base"? Is it the common approach for openHAB distro based features?

I wonder because it makes all the features unusable for other distributions.

I don't like to get bundles like ... injected just because I install an UI:

mvn:org.openhab.core.bundles/org.openhab.core.auth.oauth2client/2.5.0-SNAPSHOT
mvn:org.openhab.core.bundles/org.openhab.core.io.jetty.certificate/2.5.0-SNAPSHOT
mvn:org.openhab.core.bundles/org.openhab.core.karaf/2.5.0-SNAPSHOT
mvn:org.openhab.core.bundles/org.openhab.core.boot/2.5.0-SNAPSHOT
maggu2810 commented 5 years ago

IMHO the feature could depend on openhab-core-base. That should be a more or less minimum openHAB bundle collection.

The feature openhab-runtime-base should be installed by the distribution already and so there is no need to bloat other runtimes.

maggu2810 commented 5 years ago

I see, the dashboard needs org.openhab.core.boot ... So, I changed your features a little bit to use openhab-core-base (just for me). I installed openhab Core boot bundle in my Karaf dist. I was able to install the dashboard feature without anyone complaining anything.

martinvw commented 5 years ago

@maggu2810 my main errors came when installing openhab-ui-habot in my karaf env

I see, the dashboard needs org.openhab.core.boot ... So, I changed your features a little bit to use openhab-core-base (just for me). I installed openhab Core boot bundle in my Karaf dist. I was able to install the dashboard feature without anyone complaining anything.

Would be great if you could do a PR or post a small diff here :-)

maggu2810 commented 5 years ago

As I tried to import the existing projects of your branch in my Eclipse IDE I identified a misleading / wrong naming:

I would expect that ever project name starts with org.openhab.ui.

martinvw commented 5 years ago

@maggu2810 fixing that

I also think I'm close to the changes you did locally.


diff --git a/features/src/main/feature/feature.xml b/features/src/main/feature/feature.xml
index 89ed817..2f9617a 100644
--- a/features/src/main/feature/feature.xml
+++ b/features/src/main/feature/feature.xml
@@ -16,12 +16,11 @@
 <features name="${project.artifactId}-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.4.0">

     <feature name="openhab-ui-dashboard" description="Dashboard UI" version="${project.version}">
-        <feature>openhab-runtime-base</feature>
+        <feature>openhab-core-base</feature>
         <bundle>mvn:org.openhab.ui/org.openhab.ui.dashboard/${project.version}</bundle>
     </feature>

     <feature name="openhab-ui-basic" description="Basic UI" version="${project.version}">
-        <feature>openhab-runtime-base</feature>
         <feature>openhab-iconset-classic</feature>
         <feature>openhab-core-io-rest-sitemap</feature>
         <feature>openhab-ui-dashboard</feature>
@@ -32,7 +31,6 @@
     </feature>

     <feature name="openhab-ui-classic" description="Classic UI" version="${project.version}">
-        <feature>openhab-runtime-base</feature>
         <feature>openhab-iconset-classic</feature>
         <feature>openhab-ui-dashboard</feature>
         <bundle>mvn:org.openhab.ui/org.openhab.ui.classic/${project.version}</bundle>
@@ -42,14 +40,13 @@
     </feature>

     <feature name="openhab-ui-cometvisu" description="CometVisu Backend" version="${project.version}">
-        <feature>openhab-runtime-base</feature>
         <feature>openhab-core-model-item</feature>
         <feature>openhab-core-model-sitemap</feature>
         <feature>openhab-core-ui-icon</feature>
         <feature>openhab-core-ui</feature>
         <feature>openhab-ui-dashboard</feature>
         <bundle>mvn:org.openhab.ui/org.openhab.ui.cometvisu/${project.version}</bundle>
-        <bundle dependency="true">mvn:org.rrd4j/rrd4j/3.3.1</bundle>
+        <bundle dependency="true">mvn:org.rrd4j/rrd4j/3.4</bundle>
         <config name="org.openhab.cometvisu">
             webFolder=../../../CometVisu/src/
             webAlias=/cometvisu
@@ -75,21 +72,19 @@
     </feature>

     <feature name="openhab-ui-cometvisu-php" description="PHP support for CometVisu" version="${project.version}">
-        <feature>openhab-runtime-base</feature>
+        <feature>openhab-core-base</feature>
         <feature>openhab-ui-cometvisu</feature>
         <bundle>mvn:org.openhab.ui/org.openhab.ui.cometvisu.php/${project.version}</bundle>
         <bundle>mvn:org.openhab/com.caucho.quercus/4.0.45</bundle>
     </feature>

     <feature name="openhab-ui-habmin" description="HABmin" version="${project.version}">
-        <feature>openhab-runtime-base</feature>
         <feature>openhab-ui-dashboard</feature>
         <bundle>mvn:org.openhab.ui/org.openhab.ui.habmin/${project.version}</bundle>
         <bundle dependency="true">mvn:commons-codec/commons-codec/1.10</bundle>
     </feature>

     <feature name="openhab-ui-habot" description="HABot" version="${project.version}">
-        <feature>openhab-runtime-base</feature>
         <feature>openhab-ui-dashboard</feature>
         <feature>openhab-core-automation</feature>
         <bundle>mvn:org.openhab.ui/org.openhab.ui.habot/${project.version}</bundle>
@@ -101,19 +96,16 @@
     </feature>

     <feature name="openhab-ui-habpanel" description="HABPanel" version="${project.version}">
-        <feature>openhab-runtime-base</feature>
         <feature>openhab-ui-dashboard</feature>
         <bundle>mvn:org.openhab.ui/org.openhab.ui.habpanel/${project.version}</bundle>
     </feature>

     <feature name="openhab-ui-homebuilder" description="Home Builder" version="${project.version}">
-        <feature>openhab-runtime-base</feature>
         <feature>openhab-ui-dashboard</feature>
         <bundle>mvn:org.openhab.ui/org.openhab.ui.homebuilder/${project.version}</bundle>
     </feature>

     <feature name="openhab-ui-paper" description="Paper UI" version="${project.version}">
-        <feature>openhab-runtime-base</feature>
         <feature>openhab-io-javasound</feature>
         <feature>openhab-io-webaudio</feature>
         <feature>openhab-ui-dashboard</feature>
@@ -121,14 +113,12 @@
     </feature>

     <feature name="openhab-ui-restdocs" description="REST Documentation" version="${project.version}">
-        <feature>openhab-runtime-base</feature>
         <feature>openhab-ui-dashboard</feature>
         <feature>openhab.tp-swagger-jax-rs-provider</feature>
         <bundle>mvn:org.openhab.ui/org.openhab.ui.restdocs/${project.version}</bundle>
     </feature>

     <feature name="openhab-iconset-classic" version="${project.version}">
-        <feature>openhab-runtime-base</feature>
         <feature>openhab-core-ui-icon</feature>
         <bundle>mvn:org.openhab.ui.iconset/org.openhab.ui.iconset.classic/${project.version}</bundle>
     </feature>
maggu2810 commented 5 years ago

@wborn No, not really ;)

The feature itself missing the verification step and so it will crash at installation time (not compile time). Needs to be fixed but is not really a problem of your migration.

I would postpone the runtime-base dependency drop to another step if the migration is done.

Just a few information:

IIRC there has been some comments in another topic about unbundle the hard dependency to the dashboard. This is what I want to suggest "later".

There could a simple interface (I already did that for other UIs to publish its existence over different communnication paths like a WebUI that shows all the others, DNS-SD (mDNS) that publishes the UIs so it can be found by e.g. Apps, ...) that defines an advertisable website. It contains for the beginning the information that is necessary for the current dashboard implementation. That interface itself can be part of e.g. core.

The dashboard implementation itself should consume the instances of the advertisable website services and provide an entry. Other implementations could e.g. publish the Website using mDNS, ...

The "hard wire" between the specific openHAB dashboard and the UIs will be removed and it is possible to install UIs without installing the dashbaord, installing openHAB boot, ...

maggu2810 commented 5 years ago

For me it seems you kept the old .classpath files -- they contain references like:

./org.openhab.ui.cometvisu/.classpath:  <classpathentry exported="true" kind="lib" path="lib/rrd4j-3.3.1.jar"/>
./org.openhab.ui.cometvisu/.classpath:  <classpathentry exported="true" kind="lib" path="lib/sqlite-jdbc-3.8.7.jar"/>
./org.openhab.ui.habmin/.classpath:     <classpathentry kind="lib" path="lib/xstream-1.4.6.jar"/>
./org.openhab.ui.habmin/.classpath:     <classpathentry kind="lib" path="lib/commons-codec-1.10.jar" sourcepath="lib/commons-codec-1.10-sources.jar">
./org.openhab.ui.habmin/.classpath:                     <attribute name="javadoc_location" value="jar:file:/Users/chris/Development/HABmin2/openhab2/org.openhab.ui.habmin/lib/commons-codec-1.10-sources.jar!/"/>
./org.openhab.ui.habot/.classpath:      <classpathentry kind="lib" path="lib/opennlp-tools-1.8.3.jar" sourcepath="C:/Users/ys/.m2/repository/org/apache/opennlp/opennlp-tools/1.8.3/opennlp-tools-1.8.3-sources.jar"/>
./org.openhab.ui.habot/.classpath:      <classpathentry kind="lib" path="lib/bcprov-jdk15on-154.jar"/>
./org.openhab.ui.habot/.classpath:      <classpathentry kind="lib" path="lib/jose4j-0.6.3.jar"/>

that one should be removed.

I don't know what should be cleaned up, too.

I assume you should remove all the Eclipse IDE files (.project, .classpath) and directories (.settings) first and then import the projects using "existing Maven projects". After that you just need to remove the project specific JDT files.

It could be simpler without reading all the files' content what is no more relevant...

martinvw commented 5 years ago

It works :-)

The only thing is that some ui's deinstall automaticly with nothing in the log:

2019-03-01 12:46:33.618 [INFO ] [ashboard.internal.HABotDashboardTile] - Started HABot at /habot
2019-03-01 12:46:33.652 [INFO ] [internal.ModuleHandlerFactoryStarter] - WebPushNotificationModuleHandlerFactory started by ModuleHandlerFactoryStarter

2019-03-01 12:47:15.863 [INFO ] [ashboard.internal.HABotDashboardTile] - Stopped HABot
2019-03-01 12:47:15.981 [INFO ] [core.karaf.internal.FeatureInstaller] - Uninstalled 'openhab-ui-habot'
martinvw commented 5 years ago

I would expect that ever project name starts with org.openhab.ui.

It deduces it from the folder name, should I change the folder name or just hack the .project file?

martinvw commented 5 years ago

After that you just need to remove the project specific JDT files.

Should I just .gitignore the .settings?

martinvw commented 5 years ago

After that you just need to remove the project specific JDT files.

Should I just .gitignore the .settings?

@wborn I forgot to mention you for this one :-)

wborn commented 5 years ago

Usually you can just remove them so the projects use the default settings. Then if one day a project specific override is necessary it can still be easily added.

maggu2810 commented 5 years ago

It works :-)

@martinvw Okay, perhaps I have been wrong, but I assume it works because if you use the openHAB Distro openhab-runtime-base is installed. If you don't install openhab-runtime-base but use another Karaf distribution and install openhab-ui-dashboard (after you added the tp, core and ui feature repo) I assume it will not work.

martinvw commented 5 years ago

@wborn / @maggu2810 I think it should be ready now, only the launch configuration might need love but that might also have to be integrated with the Eclipse-setup. And I suppose that I (as an Intellij user) am not the most sensible person.

I think that it requires one final test (I might have time for that tomorrow, but of others can do it it would also be great) and then we should be good to go.

martinvw commented 5 years ago

Okay, perhaps I have been wrong, but I assume it works because if you use the openHAB Distro openhab-runtime-base is installed.

No I would expect you to be right on this matter :-D

So it works when starting from the openHAB distro, the rest should maybe be picked up seperatelly as I believe you already suggested.

Btw, I like the plan to be able to install ui-s without dashboard using some other way to find it!

And of course it would be great if the ui's would work purely using openhab-core stuff 👍

maggu2810 commented 5 years ago

Now it is up to the @openhab/webui-maintainers

@martinvw Thanks for your work!

martinvw commented 5 years ago

I found a little thing the homebuilder (again?) gained a lot of weight it went from 300 kb to 34MB, I had this before, just have to remember what I did to fix it :-D

maggu2810 commented 5 years ago

You should not place node_modules in web as you add web to the JAR.

martinvw commented 5 years ago

You should not place node_modules in web as you add web to the JAR.

Jups, I had a part of much in the exclussion paths, commit soon to come

maggu2810 commented 5 years ago

There is an xml generated in iconset/org.openhab.ui.iconset.classic/OSGI-INF/

martinvw commented 5 years ago

There is an xml generated in iconset/org.openhab.ui.iconset.classic/OSGI-INF/

:-( not here, generated by Maven or Eclipse? Is it regenerated if you remove it?

maggu2810 commented 5 years ago

Cannot test ATM. We will see the situation for the other ones.

martinvw commented 5 years ago

Final test looks okay, only relevant thing to mention is that habot and homebuilder tend to uninstall them self after some time? @wborn can you reproduce this?


2019-03-01 20:54:51.737 [INFO ] [ashboard.internal.HABotDashboardTile] - Started HABot at /habot
2019-03-01 20:54:51.787 [INFO ] [internal.ModuleHandlerFactoryStarter] - WebPushNotificationModuleHandlerFactory started by ModuleHandlerFactoryStarter

2019-03-01 20:55:34.443 [INFO ] [ashboard.internal.HABotDashboardTile] - Stopped HABot
2019-03-01 20:55:34.575 [INFO ] [core.karaf.internal.FeatureInstaller] - Uninstalled 'openhab-ui-habot'

==> distributions/openhab/target/openhab-2.5.0-SNAPSHOT/userdata/logs/events.log <==
2019-03-01 20:55:34.578 [thome.event.ExtensionEvent] - Extension 'ui-habot' has been uninstalled.
martinvw commented 5 years ago

Okay, nevermind about the uninstalling the ui's stay installed when I do it though the paper-ui. I used karaf to install them, so they were not in the addons.cfg and on every rescan they were removed 😭

So now I'm confident that it should work :-)

wborn commented 5 years ago

With an empty local Maven repo this PR doesn't build for me.

So Jenkins may also have issues with this PR:

[INFO] Scanning for projects...
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM for org.openhab.ui:org.openhab.ui.repo:[unknown-version]: Could not find artifact org.openhab:pom:pom:2.5.0-SNAPSHOT and 'parent.relativePath' points at wrong local POM @ line 6, column 11
[WARNING] 'build.plugins.plugin.version' for org.apache.karaf.tooling:karaf-maven-plugin is missing. @ org.openhab.ui:openhab-webui:[unknown-version], /home/wouter/git/openhab/openhab-webui/features/pom.xml, line 20, column 15
 @ 
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]   
[ERROR]   The project org.openhab.ui:org.openhab.ui.repo:[unknown-version] (/home/wouter/git/openhab/openhab-webui/repo/pom.xml) has 1 error
[ERROR]     Non-resolvable parent POM for org.openhab.ui:org.openhab.ui.repo:[unknown-version]: Could not find artifact org.openhab:pom:pom:2.5.0-SNAPSHOT and 'parent.relativePath' points at wrong local POM @ line 6, 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
martinvw commented 5 years ago

This has not been changed as part of this PR, I don't know about the how why?

But let me fix it.

martinvw commented 5 years ago

@wborn done

martinvw commented 5 years ago

@wborn squashed and edit the closes #20 I kept two commits, maybe it makes sense to merge it with those two commits as is, but feel free not to.

cc: @kaikreuzer

kaikreuzer commented 5 years ago

Thanks guys, great work! One question: As this PR removed 200.000 lines of code in the repo, would it make sense to actually change the repos history and squash some commits so that we get rid off all the rubbish in it? Although we just started with an empty history, cloning the repo isn't fun (with >25MB) already now. Wdyt?

martinvw commented 5 years ago

One question: As this PR removed 200.000 lines of code in the repo, would it make sense to actually change the repos history and squash some commits so that we get rid off all the rubbish in it? Although we just started with an empty history, cloning the repo isn't fun (with >25MB) already now. Wdyt?

@kaikreuzer it could make sense indeed.

If we merge this and you give me access to push to master I can rewrite history to get rid of them even without squashing everything, so the little bit of history will remain, I could also just squash it to a single commit, that is up to you.

kaikreuzer commented 5 years ago

We only have 14 commits so far and it probably does not make sense to keep the "old" tycho build details here - so I'll just go ahead and squash it all...

martinvw commented 5 years ago

@kaikreuzer could you give me the power then :-)

martinvw commented 5 years ago

@kaikreuzer never mind you already did it :-D

I misread your sentence