Karaf - OSGi - cannot costumize Valo theme

Dear community,

i am trying to costumize the default valo theme running on a Karaf OSGi container.
My basic setup is like this:
https://github.com/Maurice-Betzel/Dynamic-Vaadin-OSGi

Now i created a bundle according the documentation but my theme does not get picked up on runtime:

My scss:

@import “…/valo/valo”; @mixin abeel { @include valo; .v-button { color: blue; } }

Maven build output:

[INFO]
— vaadin-maven-plugin:8.1.6:compile-theme (default) @ theme —
[INFO]
Updating theme VAADIN\themes\abeel
[INFO]
Theme “VAADIN\themes\abeel” compiled

Karaf deploy:

2017-11-12T17:00:16,017 | INFO | fileinstall-C:\Users\betzm\Development\karaf\platform-1.0.0/deploy | fileinstall | 8 - org.apache.felix.fileinstall - 3.6.0 | Installing bundle eu.abeel.platform.ria.theme / 1.0.0.201711121557
2017-11-12T17:00:16,048 | DEBUG | fileinstall-C:\Users\betzm\Development\karaf\platform-1.0.0/deploy | theme | 529 - eu.abeel.platform.ria.theme - 1.0.0.201711121557 | BundleEvent INSTALLED - eu.abeel.platform.ria.theme
2017-11-12T17:00:16,095 | DEBUG | fileinstall-C:\Users\betzm\Development\karaf\platform-1.0.0/deploy | theme | 529 - eu.abeel.platform.ria.theme - 1.0.0.201711121557 | BundleEvent RESOLVED - eu.abeel.platform.ria.theme
2017-11-12T17:00:16,095 | DEBUG | fileinstall-C:\Users\betzm\Development\karaf\platform-1.0.0/deploy | theme | 529 - eu.abeel.platform.ria.theme - 1.0.0.201711121557 | BundleEvent STARTING - eu.abeel.platform.ria.theme
2017-11-12T17:00:16,095 | INFO | fileinstall-C:\Users\betzm\Development\karaf\platform-1.0.0/deploy | HttpServiceFactoryImpl | 93 - org.ops4j.pax.web.pax-web-runtime - 6.0.7.1 | Binding bundle: [eu.abeel.platform.ria.theme [529]
] to http service
2017-11-12T17:00:16,095 | INFO | fileinstall-C:\Users\betzm\Development\karaf\platform-1.0.0/deploy | AbeelTheme | 529 - eu.abeel.platform.ria.theme - 1.0.0.201711121557 | Publishing theme abeel
2017-11-12T17:00:16,095 | INFO | fileinstall-C:\Users\betzm\Development\karaf\platform-1.0.0/deploy | ServletContainerInitializerScanner | 91 - org.ops4j.pax.web.pax-web-api - 6.0.7.1 | will add org.apache.jasper.servlet.JasperInitializer to ServletContainerInitializers
2017-11-12T17:00:16,095 | INFO | fileinstall-C:\Users\betzm\Development\karaf\platform-1.0.0/deploy | ServletContainerInitializerScanner | 91 - org.ops4j.pax.web.pax-web-api - 6.0.7.1 | Skipt org.apache.jasper.servlet.JasperInitializer, because specialized handler will be present
2017-11-12T17:00:16,095 | INFO | fileinstall-C:\Users\betzm\Development\karaf\platform-1.0.0/deploy | ServletContainerInitializerScanner | 91 - org.ops4j.pax.web.pax-web-api - 6.0.7.1 | will add org.eclipse.jetty.websocket.server.NativeWebSocketServletContainerInitializer to ServletContainerInitializers
2017-11-12T17:00:16,095 | INFO | fileinstall-C:\Users\betzm\Development\karaf\platform-1.0.0/deploy | ServletContainerInitializerScanner | 91 - org.ops4j.pax.web.pax-web-api - 6.0.7.1 | added ServletContainerInitializer: org.eclipse.jetty.websocket.server.NativeWebSocketServletContainerInitializer
2017-11-12T17:00:16,095 | INFO | fileinstall-C:\Users\betzm\Development\karaf\platform-1.0.0/deploy | ServletContainerInitializerScanner | 91 - org.ops4j.pax.web.pax-web-api - 6.0.7.1 | will add org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer to ServletContainerInitializers
2017-11-12T17:00:16,111 | INFO | fileinstall-C:\Users\betzm\Development\karaf\platform-1.0.0/deploy | ServletContainerInitializerScanner | 91 - org.ops4j.pax.web.pax-web-api - 6.0.7.1 | added ServletContainerInitializer: org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer
2017-11-12T17:00:16,126 | INFO | fileinstall-C:\Users\betzm\Development\karaf\platform-1.0.0/deploy | HttpServiceContext | 92 - org.ops4j.pax.web.pax-web-jetty - 6.0.7.1 | registering context DefaultHttpContext [bundle=eu.abeel.platform.ria.theme [529]
, contextID=default], with context-name:
2017-11-12T17:00:16,126 | INFO | fileinstall-C:\Users\betzm\Development\karaf\platform-1.0.0/deploy | HttpServiceContext | 92 - org.ops4j.pax.web.pax-web-jetty - 6.0.7.1 | registering JasperInitializer
2017-11-12T17:00:16,126 | DEBUG | fileinstall-C:\Users\betzm\Development\karaf\platform-1.0.0/deploy | theme | 529 - eu.abeel.platform.ria.theme - 1.0.0.201711121557 | ServiceEvent REGISTERED - [javax.servlet.ServletContext]

  • eu.abeel.platform.ria.theme
    2017-11-12T17:00:16,126 | INFO | fileinstall-C:\Users\betzm\Development\karaf\platform-1.0.0/deploy | ContextHandler | 82 - org.eclipse.jetty.util - 9.3.21.v20170918 | Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=eu.abeel.platform.ria.theme [529]
    , contextID=default]}
    2017-11-12T17:00:16,126 | DEBUG | fileinstall-C:\Users\betzm\Development\karaf\platform-1.0.0/deploy | theme | 529 - eu.abeel.platform.ria.theme - 1.0.0.201711121557 | BundleEvent STARTED - eu.abeel.platform.ria.theme
    2017-11-12T17:00:16,126 | INFO | fileinstall-C:\Users\betzm\Development\karaf\platform-1.0.0/deploy | fileinstall | 8 - org.apache.felix.fileinstall - 3.6.0 | Started bundle: file:/C:/Users/betzm/Development/karaf/platform-1.0.0/deploy/theme-1.0.0-SNAPSHOT.jar

So far so good, but when i call the SPA with the abeel theme set on debug:

103msAssuming CSS loading is not complete, postponing render phase. (.v-loading-indicator height == 0)
106msCould not determine ApplicationConnection for Overlay. Overlay will be attached directly to the root panel
6056msCSS files may have not loaded properly.

For testing purposes i copied the Valo theme from github into my theme bundle und removed the Themes bundle from my container so the scss file paths internaly match up and i publish both themes to the http service. My abeel theme still has the same error result, but the valo theme from within my theme bundle works perfectly.Any ideas where to look, mine just ran out.

Hi Maurice, do you still have this issue? I am using a working custom theme for my Vaadin 8 apps in Karaf.

I am using the OSGi httpservice to publish themes so Vaadin shared pickes them up. If on Servlet bundle deploy some servlets get undeployed i do a programatic restart of the Vaadin shared bundle to make sure everything is registered in the Vaadin framework.