vaadin / archetypes Goto Github PK
View Code? Open in Web Editor NEWArchetypes for Vaadin platform
Home Page: https://vaadin.com
Archetypes for Vaadin platform
Home Page: https://vaadin.com
Originally by @samie
Currently vaadin-archetype-liferay-portlet generates a custom portlet to serve resources from the portlet context. However, the PORTLET_CONTEXT value should be used instead in portlet.xml
The generated portlet.xml should include the following:
<portlet-class>com.vaadin.server.VaadinPortlet</portlet-class>
<init-param>
<name>vaadin.resources.path</name>
<value>PORTLET_CONTEXT</value>
</init-param>
In addition the file CustomVaadinPortlet template should be removed and all references to it.
Imported from https://dev.vaadin.com/ issue #14782
Originally by @Artur-
We need a Maven "vaadin-application" archetype that creates a project which supports add-ons. The archetype needs to be much better documented than the current archetypes.
Documentation should describe at least
At the same time the workflow should be optimized so the required documentation required is minimal and the workflow is sensible.
Imported from https://dev.vaadin.com/ issue #7456
Originally by @Artur-
The artifact id can very well contain dashes or other special characters. This will cause compile errors in the generated projects because of code which looks like
// Initialize our new UI component
final TestComponent test-widget-7.0.7 = new TestComponent();
Imported from https://dev.vaadin.com/ issue #12024
Originally by @mhosio
When you create a widget project using maven (vaadin-archetype-widget) from command line, you end up having folder structure that is a bit difficult to import in Eclipse.
The problem is that the root folder for the project has exactly same name than the folder for the widget module. When importing these as maven projects in Eclipse, the project names for the root project and widget project conflict.
FIX: The root folder must not have same name than the demo or widget module.
Imported from https://dev.vaadin.com/ issue #13584
Originally by @macprzepiora
Currently there is only Maven archetype for custom widget. If one wants to create maven-based project for Extension (or JavaScriptExtension) he needs to first use the widget archetype and then remove the widget class and alter the component and connector classes.
There should be at least two more archetypes: one for regular, GWT-based extensions and another one for JS-based extensions.
Imported from https://dev.vaadin.com/ issue #13363
Originally by @hesara
The file icon.png is present in the Liferay archetype projects but not packaged correctly in them.
Imported from https://dev.vaadin.com/ issue #13962
Originally by @hesara
The default Jetty used in the archetypes (org.mortbay.jetty) is no longer supported and is not fully Java 8 compatible. Update to Jetty 9 - see #14734 for details.
Imported from https://dev.vaadin.com/ issue #15150
Originally by @Artur-
Update archetypes to use Vaadin 6.3 / GWT 2.0 and test.
Imported from https://dev.vaadin.com/ issue #3973
Originally by @hesara
The comments in the generated widgetset file should be less verbose and should list the currently available permutations.
The DOCTYPE should also refer to a current GWT version.
See also the corresponding tickets for Vaadin (#12053) and Eclipse plugin (#12055).
Originally by @hesara
Maven archetypes should be automatically integration tested before being published. This would mean:
TestBench could be executed as an Ant task, taking all the required directories as parameters from the POM triggering the Ant task. The Ant test.xml can be based on the Vaadin test.xml, with some simplifications and more parametrization of the HTML test directory etc.
Imported from https://dev.vaadin.com/ issue #5644
Originally by @jojule
vaadin-archetype-widget is not compatible with Vaadin 7. At the moment there are no ways of easily creating widgets add-ons for Vaadin 7.
Imported from https://dev.vaadin.com/ issue #11225
Originally by @Artur-
The application archetype (#7456) and add-on archetype (#7457) should replace the old Maven archetypes (clean, widget, sample). Documentation about the archetypes must be updated to reflect this.
Imported from https://dev.vaadin.com/ issue #7458
Originally by @mstahv
6.7.0 is one of our worst releases ever and currently all new maven projects start using that version by default. The should quickly be updated to 6.7.1.
Imported from https://dev.vaadin.com/ issue #7851
Originally by @macprzepiora
The new maven archetypes for Liferay don't have by default dependency on javax.servlet API jar. While it's possible to write a portlet that doesn't require this dependency, it's rather not practical
Imported from https://dev.vaadin.com/ issue #13805
Originally by @Artur-
GWT 2.3 requires additional jars (validation-*.jar) to be available at compile time and in development mode. These should be added as dependencies to all our archetypes.
Additionally we should define the GWT version explicitly for the GWT Maven plugin so no version conflicts occur (see http://mojo.codehaus.org/gwt-maven-plugin/user-guide/using-different-gwt-sdk-version.html)
Originally by @Artur-
The default Jetty used in the archetypes (org.mortbay.jetty) is no longer supported and is not fully Java 8 compatible. Update to e.g.
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.2.3.v20140905</version>
Imported from https://dev.vaadin.com/ issue #14734
Originally by @hesara
The widgetset (GWT module) file generated by the vaadin application archetype should contain a line to enable SuperDevMode (commented out by default) and a short description on how to use it (see #9866).
It should also contain the a similar entry for compiling only a single permutation.
Imported from https://dev.vaadin.com/ issue #9867
Originally by @hesara
In addition to the vaadin-archetype-sample archetype (which contains the color picker example), there should be additional ones for
Imported from https://dev.vaadin.com/ issue #3252
Originally by @hesara
The application archetype should automatically update and compile the theme when running the package goal.
Originally by @jojule
when someone tries out the framework, one of the the first things he does is to create a new hello world application. Unfortunately with vaadin it seems that the compilation takes ages.
Imported from https://dev.vaadin.com/ issue #9629
Originally by @Wnt
Widget archetype's default README.md instructs to run a non existing Maven target vaadin:install in the "Debugging server-side" section. It should propably be install.
Imported from https://dev.vaadin.com/ issue #12857
Originally by @jojule
Archetype generates protected void init(WrappedRequest request) {
But is should generate protected void init(VaadinRequest request) {
Imported from https://dev.vaadin.com/ issue #9759
Originally by @hesara
In vaadin-archetype-widget the property ComponentClassName should have some default value, like "MyComponent" or similar. Currently null value easily generates errors with different Maven wizards, if mistakenly left empty.
Originally by @macprzepiora
The old maven archetype for portlet (vaadin-archetype-portlet) hasn't been updated to Vaadin 7.1.x. Also, it could be split to at least two archetypes - generic (not vendor specific in regard to portal server) and Liferay-specific (that would add files specific for recent version of Liferay - 6.2)
Imported from https://dev.vaadin.com/ issue #12969
Originally by @hesara
The application archetype should use a separate release profile to make it possible to compile without modifications.
Imported from https://dev.vaadin.com/ issue #11621
Originally by @jojule
Names of the Vaadin Maven archetypes should be thought out to form a complete set of add-ons.
Some of the challenges with the current "vaadin-application-archetype" name:
Proposal:
Imported from https://dev.vaadin.com/ issue #9519
Originally by @manolo
When creating a vaadin maven project using the application-archetype, it should add the appropriate entries to the maven-eclipse-plugin so as when the user runs 'mvn eclipse:eclipse' everything would setup to import and run the project from eclipse.
Imported from https://dev.vaadin.com/ issue #13428
Originally by @hesara
Vaadin Maven plug-in should have such default values for most parameters that most of the configuration currently in the archetypes would be unnecessary.
The default values need to be clearly documented as they will differ from the defaults of the GWT plug-in. This probably requires our own page like http://mojo.codehaus.org/gwt-maven-plugin/plugin-info.html .
This ticket was split off from #12653 which was modified to only cover the archetypes.
Imported from https://dev.vaadin.com/ issue #13404
Originally by @Artur-
Update archetypes to use Vaadin 6.4.3 and GWT 2.0.4
Imported from https://dev.vaadin.com/ issue #5512
Originally by @Artur-
Similarly as #10204. Ensure project generated by the archetype compiles.
Imported from https://dev.vaadin.com/ issue #10205
Originally by @hesara
The application archetype should create an empty theme and refer to it from the UI class.
Imported from https://dev.vaadin.com/ issue #11771
Originally by @Artur-
The Maven archetype should generate Valo based themes with pre-added variables and comments so you know directly how to customize it. The template should be the same as in #14369
Imported from https://dev.vaadin.com/ issue #14370
Originally by @Artur-
We need a Maven "vaadin-addon" archetype that creates a project for add-ons. The archetype needs to be much better documented than the current archetypes.
Documentation should describe at least
At the same time the workflow should be optimized so the required documentation required is minimal and the workflow is sensible.
Imported from https://dev.vaadin.com/ issue #7457
Originally by @hesara
The widget archetype should use a separate release profile to make it possible to compile without modifications.
Imported from https://dev.vaadin.com/ issue #11619
Originally by @tehapo
Vaadin Maven archetypes should also include the add-on repository.
<repository>
<id>vaadin-addons</id>
<url>http://maven.vaadin.com/vaadin-addons</url>
</repository>
Imported from https://dev.vaadin.com/ issue #5511
Originally by @jojule
Yeong Sheng Tan wrote "Maven archetype for Vaadin Liferay Portlet generation source skeleton is a critical feature that we are all looking forward to now.". I fully agree.
Imported from https://dev.vaadin.com/ issue #5559
Originally by @Artur-
To avoid the problem with a (sometimes long) delay before our releases reach the central Maven repository we could add our Sonatype "release" repository to all archetypes, ivysettings files etc. The "release" repository (http://oss.sonatype.org/content/repositories/vaadin-releases/com/vaadin/vaadin/) contains the latest release immediately when the "release" button has been pushed and this is also what is then ultimately synced to Maven central
Imported from https://dev.vaadin.com/ issue #9801
Originally by @Artur-
There should be a portlet archetype for Vaadin 7. Similar to the portlet archetype for Vaadin 6.
Imported from https://dev.vaadin.com/ issue #11249
Originally by @manolo
Since font icons has been moved to vaadin core, the archetype does not compiles.
Imported from https://dev.vaadin.com/ issue #13920
Originally by @mstahv
PortletRequest is a commonly used object that is needed in portlet development. The app stub generated by the archetype should contain a usage example. Should use the newly introduced shorthand (#13806)
Imported from https://dev.vaadin.com/ issue #13832
Originally by brunojcm
I tried to create a project with vaadin-archetype-application, version 7.1.6, and I got a project with some basic stuff like web.xml missing. Here is what I got:
.
├── pom.xml
├── src
│ └── main
│ ├── java
│ │ └── com
│ │ └── example
│ │ └── vaadin_example
│ │ ├── AppWidgetSet.gwt.xml
│ │ └── MyVaadinUI.java
│ └── webapp
│ ├── META-INF
│ │ ├── context.xml
│ │ └── MANIFEST.MF
│ └── VAADIN
│ └── themes
│ └── mytheme
│ ├── addons.scss
│ ├── favicon.ico
│ ├── mytheme.scss
│ └── styles.scss
└── target
As you can see, there is no WEB-INF folder, thus no web.xml file.
Using vaadin-archetype-clean does work fine, but it doesn't use the latest version of Vaadin.
Imported from https://dev.vaadin.com/ issue #12806
Originally by @Artur-
Split from #3252:
Create a portlet archetype for creating Vaadin portlets using Maven.
Could this be a generic archetype or does it have to be portal specific e.g. liferay-portlet, gatein-portlet etc?
How well does Maven overall work together with Liferay/GateIn/other portals?
Imported from https://dev.vaadin.com/ issue #4260
Originally by JensV
Maven Build Problem: NPE@getJarAndDependencies(AbstractGwtMojo.java:295) (Archetype for Vaadin Touchkit)
Then the build fails with the NPE:
Caused by: java.lang.NullPointerException
at org.codehaus.mojo.gwt.AbstractGwtMojo.getJarAndDependencies(AbstractGwtMojo.java:295)
Full stacktrace:
[ERROR] Failed to execute goal com.vaadin:vaadin-maven-plugin:7.3.2:resources (default) on project myproject: Execution default of goal com.vaadin:vaadin-maven-plugin:7.3.2:resources failed. NullPointerException -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.vaadin:vaadin-maven-plugin:7.3.2:resources (default) on project myproject: Execution default of goal com.vaadin:vaadin-maven-plugin:7.3.2:resources failed.
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default of goal com.vaadin:vaadin-maven-plugin:7.3.2:resources failed.
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:110)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
... 25 more
Caused by: java.lang.NullPointerException
at org.codehaus.mojo.gwt.AbstractGwtMojo.getJarAndDependencies(AbstractGwtMojo.java:295)
at org.codehaus.mojo.gwt.AbstractGwtMojo.getGwtUserJar(AbstractGwtMojo.java:274)
at org.codehaus.mojo.gwt.AbstractGwtModuleMojo.readModule(AbstractGwtModuleMojo.java:186)
at org.codehaus.mojo.gwt.GwtResourcesBaseMojo.getAllResourceFiles(GwtResourcesBaseMojo.java:79)
at org.codehaus.mojo.gwt.GwtResourcesMojo.execute(GwtResourcesMojo.java:57)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
... 26 more
pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.company.myproject</groupId>
<artifactId>myproject</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>project - Vaadin TouchKit Web Application</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<vaadin.version>7.3.2</vaadin.version>
<touchkit.version>4.0.0</touchkit.version>
</properties>
<repositories>
<repository>
<id>vaadin-addons</id>
<url>http://maven.vaadin.com/vaadin-addons</url>
</repository>
<repository>
<id>vaadin-snapshots</id>
<url>http://oss.sonatype.org/content/repositories/vaadin-snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>vaadin-snapshots</id>
<url>http://oss.sonatype.org/content/repositories/vaadin-snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
<dependencies>
<dependency>
<groupId>com.vaadin.addon</groupId>
<artifactId>vaadin-touchkit-agpl</artifactId>
<version>${touchkit.version}</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-server</artifactId>
<version>${vaadin.version}</version>
</dependency>
<dependency>
<!-- Needed for possible offline mode -->
<groupId>com.vaadin</groupId>
<artifactId>vaadin-client</artifactId>
<version>${vaadin.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<!-- Needed in eclipse for compiling widgetset -->
<groupId>com.vaadin</groupId>
<artifactId>vaadin-client-compiler</artifactId>
<version>${vaadin.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<!-- Desktop fallback uses reindeer theme -->
<groupId>com.vaadin</groupId>
<artifactId>vaadin-themes</artifactId>
<version>${vaadin.version}</version>
</dependency>
<dependency>
<!-- Desktop fallback uses default widgetset -->
<groupId>com.vaadin</groupId>
<artifactId>vaadin-client-compiled</artifactId>
<version>${vaadin.version}</version>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-maven-plugin</artifactId>
<version>${vaadin.version}</version>
<configuration>
<webappDirectory>${basedir}/src/main/webapp/VAADIN/widgetsets
</webappDirectory>
<hostedWebapp>${basedir}/src/main/webapp/VAADIN/widgetsets
</hostedWebapp>
<extraJvmArgs>-Xmx1g -Xss4024k</extraJvmArgs>
<noServer>true</noServer>
<!-- Remove draftCompile when project is ready -->
<draftCompile>false</draftCompile>
<compileReport>false</compileReport>
<style>OBF</style>
<persistentunitcachedir>${project.build.directory}</persistentunitcachedir>
<deploy>${project.build.directory}/gwt-deploy</deploy>
<runTarget>http://localhost:8080/</runTarget>
<extraJvmArgs>-Xmx1024M -Xss4024k -XX:MaxPermSize=128m</extraJvmArgs>
<modules>
<module>com.company.gwt.projectWidgetSet</module>
</modules>
</configuration>
<executions>
<execution>
<goals>
<goal>resources</goal>
<goal>update-widgetset</goal>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- As we are doing "inplace" GWT compilation, ensure the widgetset -->
<!-- directory is cleaned properly -->
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
<configuration>
<filesets>
<fileset>
<directory>src/main/webapp/VAADIN/widgetsets</directory>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.15.v20140411</version>
</plugin>
</plugins>
</build>
</project>
Imported from https://dev.vaadin.com/ issue #14788
Originally by @hesara
When performing "mvn clean" in a project generated with the application archetype, also vaadin:clean should be executed automatically.
Imported from https://dev.vaadin.com/ issue #12081
Originally by @jojule
Example application uses Button.addListener(), while it should be used Button.addClickListener()
Imported from https://dev.vaadin.com/ issue #9520
Originally by jockeberg
When following the Maven instructions at https://vaadin.com/download, the pom.xml file generated is missing the update-theme and compile-theme goals in the org.eclipse.m2e.lifecycle-mapping plugin configuration section. This results in two errors when importing the project in Eclipse unless you add the goals manually first.
Imported from https://dev.vaadin.com/ issue #12300
Originally by @Artur-
Update all the Maven archetypes to use 6.3.0 and GWT 2.0
Imported from https://dev.vaadin.com/ issue #4555
Originally by @hesara
The configuration parameters section of the GWT maven plugin should be directly under the plugin reference, not within the execution section for it.
See http://vaadin.com/forum/-/message_boards/message/208711 for more information.
Imported from https://dev.vaadin.com/ issue #5513
Originally by @Artur-
See issue http://code.google.com/p/google-web-toolkit/issues/detail?id=5290 and forum post http://vaadin.com/forum/-/message_boards/view_message/443609
GWT includes a version of JdtCompiler and the conflict occurs if another jar with JdtCompiler (different version) is on the classpath. Workaround for the GWT Maven plugin is to add
<gwtSdkFirstInClasspath>true</gwtSdkFirstInClasspath>
to the tag, ensuring that GWT uses its own version.
Imported from https://dev.vaadin.com/ issue #7291
Originally by @hesara
When building a widgetset with maven, you will get cache folders within your project structure with the default archetypes. These cache folders will easily add tens of Mb of size to the final war. These cache folders are VAADIN/gwt-unitCache and VAADIN/widgetsets/WEB-INF.
These can be moved with these commands in the pom.xml vaadin-maven-plugin configuration:
<persistentunitcachedir>${project.build.directory}</persistentunitcachedir>
<deploy>${project.build.directory}/gwt-deploy</deploy>
These should be predefined in vaadin archetypes to save every project from figuring this stuff out.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.