Как построить проект Vaadin с Gradle? - PullRequest
4 голосов
/ 23 января 2012

У меня есть проект gradle (бэкэнд), и я хочу добавить интерфейс на основе Vaadin.Но я не нашел никаких плагинов для Vaadin.

Ответы [ 4 ]

5 голосов
/ 29 июня 2014

Хотя, как уже упоминалось выше, приложение Vaadin представляет собой простое веб-приложение и не требует никаких дополнительных плагинов, кроме «java» и «war» (и, возможно, «jetty» для запуска приложения), в настоящее время, похоже, существует первый доступный для vaadin плагин Gradle:

https://github.com/johndevs/gradle-vaadin-plugin

Это поможет вам с конкретной задачей Vaadin, такой как создание наборов виджетов, создание скелетов компонентов и т. Д.

3 голосов
/ 27 января 2012

Вам не нужен плагин Vaadin.Приложение Vaadin - это просто веб-приложение. Подойдет плагин войны.Однако, если вам нужна поддержка для автоматического создания макета папки, которая нужна Vaadin, вы можете воспользоваться плагином vaadin eclipse, найденным здесь:

http://vaadin.com/eclipse

Если вы ищетеПоддержка развертывания, вы можете просто использовать плагин Jetty, который поставляется с Gradle, или плагин tomcat, найденный здесь

https://github.com/bmuschko/gradle-tomcat-plugin

Если вам нужно создать собственные виджеты и скомпилировать их в набор виджетов, который являетсяGWT compile

https://vaadin.com/book/vaadin6/-/page/gwt.development.html#gwt.development.compiler

Примечание: в книге Vaadin7 больше нет раздела по разработке виджетов Gwt.

Для GWT существует плагин gradle, который может помочь с этим,Однако мне пока не нужен пользовательский виджет, поэтому я на самом деле не пробовал его.

https://github.com/markuskobler/gwt-gradle-plugin

3 голосов
/ 23 января 2012

Я думаю, что нет никакого плагина Vaadin для Gradle, но я использовал Gradle в одном из моих дополнительных проектов Vaadin: SplitButton .Это проект с подпроектами, компиляцией набора виджетов, и он записывает необходимые записи манифеста jar, необходимые для Vaadin Directory.

EDIT На самом деле теперь есть плагин Gradle Vaadin - он позволяет легко создавать Vaadinпроекты с Gradle.Он помогает выполнять самые утомительные задачи при создании проекта Vaadin, такие как создание набора виджетов и запуск режима разработки.Это также поможет вам быстро начать работу, предоставив задачи для создания проекта, компонента и темы:

https://github.com/johndevs/gradle-vaadin-plugin

2 голосов
/ 05 марта 2012

Этот post :

Использование Gradle с Vaadin

выглядит очень всеобъемлющим с точки зрения настройки Gradle + Vaadin.Я также включаю ссылку на другой Vaadin 'build.gradle' файл, который я нашел в своих путешествиях, используя очень полезный для Google поиск "filetype" (см. Также связанный gradle.properties file).

JFYI, что поиск файлов Google:

filetype:<extension> <your search phrases>

Gradle также можно использовать для настройки файлов проекта Eclipse и IntelliJ с использованием следующего фрагмента (можно найти «свойства Eclipse»с помощью приведенного выше поиска файлов Google для расширения "project", поиска "natures" и т. д.):

//Template plugin - Great for project-layout setup - See http://tellurianring.com/wiki/gradle/templates
apply from: 'http://launchpad.net/gradle-templates/trunk/latest/+download/apply.groovy'

apply plugin: 'eclipse'
apply plugin: 'idea'

// if you want to distribute the gradle with your code
task('wrapper', type: Wrapper).configure {
    gradleVersion = '1.0-milestone-8a'
}

def versionCompatibility = 1.6

//configurations.providedDependencies.extendsFrom configurations.gwt

eclipse {
    project {
        comment = ""

        buildCommand "org.eclipse.jdt.core.javabuilder"
        buildCommand "org.eclipse.wst.jsdt.core.javascriptValidator"
        buildCommand "org.eclipse.wst.common.project.facet.core.builder"
        buildCommand "org.eclipse.wst.validation.validationbuilder"
        buildCommand "com.vaadin.integration.eclipse.widgetsetBuilder"
        //buildCommand "org.eclipse.m2e.core.maven2Builder"
        //buildCommand "org.maven.ide.eclipse.maven2Builder"
        //buildCommand "com.google.gdt.eclipse.core.webAppProjectValidator"
        //buildCommand "com.google.gwt.eclipse.core.gwtProjectValidator"
        //buildCommand "com.google.gdt.eclipse.designer.GWTBuilder"


            //Don't forget commas - no trailing
            natures "org.eclipse.jdt.core.javanature",
            "com.vaadin.integration.eclipse.widgetsetNature",
            "org.eclipse.wst.jsdt.core.jsNature",
            "org.eclipse.wst.common.project.facet.core.nature",
            "org.eclipse.wst.common.modulecore.ModuleCoreNature",
            "org.eclipse.jem.workbench.JavaEMFNature"
            //"org.eclipse.m2e.core.maven2Nature",
            //"org.maven.ide.eclipse.maven2Nature",
            //"com.google.gwt.eclipse.core.gwtNature"
            //"com.google.gdt.eclipse.designer.GWTNature",
            //"ch.epfl.lamp.sdt.core.scalanature",
            //"com.springsource.sts.grails.core.nature",
            //"org.eclipse.jdt.groovy.core.groovyNature"
    }

    classpath {
            containers "com.google.gwt.eclipse.core.GWT_CONTAINER"
            //"com.springsource.sts.gradle.classpathcontainer"

            //minusConfigurations=[configurations.gwt]
    }
}

idea {
    project {
            jdkName = versionCompatibility

        ipr {
                withXml { provider ->
                    def node = provider.asNode()

                    // Set Gradle home
                    def gradleSettings = node.appendNode('component', [name: 'GradleSettings'])
                    gradleSettings.appendNode('option', [name: 'SDK_HOME', value: gradle.gradleHomeDir])
                }
        }
    }
}

Cheers

Rich

...