Coder Social home page Coder Social logo

archetypes's People

Contributors

ahie avatar alvarezguille avatar artur- avatar asashour avatar caalador avatar dependabot[bot] avatar diegocardoso avatar hesara avatar johannest avatar jojule avatar juhopiirainen avatar legioth avatar makoivis avatar manolo avatar mmerruko avatar mstahv avatar peholmst avatar pleku avatar tarekoraby avatar thevaadinman avatar tsuoanttila avatar zch avatar zhesun88 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

archetypes's Issues

Vaadin vaadin-archetype-liferay-portlet should use PORTLET_CONTEXT as default for vaadin.resources.path

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

Create a Maven archetype for application projects

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

  • What the archetype should be used for (Vaadin application projects)
  • How to run the project using Jetty
  • How to get a WAR file that can be deployed to an external server
  • How to add an add-on to the project (and create and compile a widget set)

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

Maven archetype vaadin-archetype-widget should use different folder naming

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

Maven archetypes for Extension and JavaScriptExtension

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

Update widgetset template (Maven archetypes)

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).

Create automated integration tests on Maven archetypes

Originally by @hesara


Maven archetypes should be automatically integration tested before being published. This would mean:

  • creating a project based on the archetype (using the undocumented goal archetype:integration-test? see its source code)
  • compiling the generated project (including its widgetset, if any) using Maven
  • starting Jetty in the generated project with a custom port, stopKey (phase pre-integration-test?)
  • performing TestBench integration tests against the running Jetty instance
  • stopping jetty (phase post-integration-test) with jetty:stop
  • cleaning up the compiled tests

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

Archetype names should be designed to be consistent

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:

  • There is no Application class. This could be quite confusing.
  • Does not indicate on whether it is on client or server-side

Proposal:

  • vaadin-archetype - complete with client-side UI, widgetset and client-side module and navigator
  • vaadin-server-ui-archetype - only server-side UI, no widgetset, navigator
  • vaadin-client-module-archetype - only client-side module
  • vaadin-addon-widget-archetype - widget add-on where the widget can be used both on server and client-side
  • vaadin-addon-javascript-archetype - add-on with javascript based widget
  • vaadin-addon-server-component-archetype - add-on with server-side composite and theme
  • vaadin-portlet-archetype
  • vaadin-jee-soa-archetype - complete Java EE 6 stack example with server-side and client-side UI:s, JPA persistence, JAX-RS, service oriented architecture with stateless services, testbench tests and JPAContainer
  • vaadin-jee-ddd-archetype - complete Java EE 6 stack example with server-side and client-side UI:s, JPA persistence, domain driven architecture with stateful entities, testbench tests and JPAContainer
  • vaadin-touchkit-archetype - application with both touchkit UI and non-touchkit UIs. Both using navigator.

Imported from https://dev.vaadin.com/ issue #9519

Move relevant default parameter values from Vaadin archetypes to plug-in defaults

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

Create a Maven archetype for add-on projects

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

  • What the archetype should be used for (Vaadin add-on projects)
  • How to run the project using Jetty
  • How to get a WAR file that can be deployed to an external server
  • How to debug using GWT dev mode (in Eclipse and in general)
  • How to export the add-on for Vaadin Directory

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

Add the Vaadin Sonatype "release" repository to all Maven archetypes

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

vaadin-archetype-application generates a project without WEB-INF folder

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

Create a Vaadin portlet Maven archetype

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

Maven Build Problem: NPE@getJarAndDependencies(AbstractGwtMojo.java:295) (Archetype for Vaadin Touchkit)

Originally by JensV


Maven Build Problem: NPE@getJarAndDependencies(AbstractGwtMojo.java:295) (Archetype for Vaadin Touchkit)

  1. Create a new maven project from archetype of Vaadin Touchkit (although I guess this problem not specific to Touchkit)
  2. Update the involved version numbers to the most recent stable (production) ones (see pom.xml below).
  3. Run: mvn clean install

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

Missing goals for Eclipse lifecycle-mapping plugin when generating Maven archetype vaading-archetype-application.

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

Check if gwtSdkFirstInClasspath should be used in archetypes

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

Have predefined cache folders in Vaadin Maven archetypes

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.