devsoap/ds-gradle-vaadin

vaadinClientDependencies

Closed this issue · 3 comments

Can you explain how use vaadinClientDependencies

vaadinClientDependencies {
    bower 'PolymerElements/paper-slider'
    bower 'PolymerElements/paper-spinner'
    bower 'PolymerElements/paper-icon-button'
    bower 'PolymerElements/iron-icons'
    bower 'PolymerElements/app-layout'
}
@Data
@Tag("graphs")
@HtmlImport("frontend://bower_components/iron-icons/iron-icons.html")
@HtmlImport("frontend://bower_components/paper-icon-button/paper-icon-button.html")
@HtmlImport("frontend://styles/shared-styles.html")
@HtmlImport("frontend://templates/components/graphs.html")
public class OwnComponent extends PolymerTemplate<OwnComponent.Model> implements HasComponents {}

I have error

Caused by: java.lang.IllegalStateException: Can't find resource 'frontend://bower_components/iron-icons/iron-icons.html' via the servlet context
	at com.vaadin.flow.component.polymertemplate.DefaultTemplateParser.getTemplateContent(DefaultTemplateParser.java:105)
	at com.vaadin.flow.component.polymertemplate.TemplateDataAnalyzer.parseTemplate(TemplateDataAnalyzer.java:187)
	at com.vaadin.flow.component.polymertemplate.TemplateInitializer.<init>(TemplateInitializer.java:94)
	at com.vaadin.flow.component.polymertemplate.PolymerTemplate.<init>(PolymerTemplate.java:107)
	at com.vaadin.flow.component.polymertemplate.PolymerTemplate.<init>(PolymerTemplate.java:122)

By defining

vaadinClientDependencies {
    bower 'PolymerElements/paper-slider'
    ...
}

You are saying that you want the latest version of paper slider downloaded via Bower. It downloads the latest version if you do not specify a version.

Caused by: java.lang.IllegalStateException: Can't find resource 'frontend://bower_components/iron-icons/iron-icons.html' via the servlet context
	at com.vaadin.flow.component.polymertemplate.DefaultTemplateParser.getTemplateContent(DefaultTemplateParser.java:105)
	at com.vaadin.flow.component.polymertemplate.TemplateDataAnalyzer.parseTemplate(TemplateDataAnalyzer.java:187)
	at com.vaadin.flow.component.polymertemplate.TemplateInitializer.<init>(TemplateInitializer.java:94)
	at com.vaadin.flow.component.polymertemplate.PolymerTemplate.<init>(PolymerTemplate.java:107)
	at com.vaadin.flow.component.polymertemplate.PolymerTemplate.<init>(PolymerTemplate.java:122)

You get this error message because the latest paper-slider (and all its dependencies) are based on Polymer 3 which does not have a HTML files.

The plugin only supports Polymer 2 at this time.

So what you need to do is download a version of those dependencies which are Polymer 2 elements.

You can find out the Polymer 2 versions by going to the Vaadin directory (https://vaadin.com/directory):

Selection_022

And then copy & paste the given dependency notation:

Selection_023

So it looks like this in your build.gradle:

vaadinClientDependencies {
    bower 'PolymerElements/paper-slider#2.0.9'
    ...
}

Then do it for all other dependencies you have.

Thank you for your advice

Seems vaadinClientDependencies don't work in debug mode
Error not found templates