Применение Gradle / Grails

Я пытался настроить Gradle для управления проектом Grails в течение нескольких часов, но безуспешно. Предложения, которые я нашел здесь, о переполнении стека и других местах в Интернете, не сработали для меня.

Не могли бы вы дать мне последние инструкции о том, как настроить проект Gradle+Grails? В идеале это должно относиться к текущим версиям Grails (2.1.0) и Gradle (1.1).

1 ответ

Решение

BuildScript

import org.grails.gradle.plugin.GrailsTask

buildscript {
        repositories {
            mavenCentral()
            mavenRepo name: "grails", url: 'http://repo.grails.org/grails/repo' 
        }
        dependencies {
            classpath "org.grails:grails-gradle-plugin:1.1.1-SNAPSHOT"
        }
}
repositories {
    mavenCentral()
    mavenRepo name: "grails", url: 'http://repo.grails.org/grails/repo' 
}
version = "1.0"
grailsVersion = "2.1.0"
apply plugin: "grails"
dependencies {
    ['dependencies', 'resources', 'core', 'hibernate', 'plugin-datasource', 'plugin-domain-class', 'plugin-tomcat', 'plugin-services'].each { plugin ->
        compile "org.grails:grails-$plugin:2.1.0"
    }
    bootstrap "org.codehaus.groovy:groovy-all:1.8.6"
}

GRAILS_TASK_PREFIX = "grails-"
if (name.startsWith(GRAILS_TASK_PREFIX)) {
    project.task(name, type: GrailsTask) {
        command "${name - GRAILS_TASK_PREFIX}"
    }
}

инициализировать

Тогда вы можете сделать gradle init инициализировать структуру проекта

команды

использование gradle grails-[grails script] выполнить ваши команды Grails. Например: gradle grails-run-app эквивалентно grails run-app

Надеюсь это поможет!

Обновить

Кажется, это работает для Grails 2.3.2:

buildscript {
        repositories {
            mavenCentral()
            maven { url 'http://repo.grails.org/grails/repo' }
        }
        dependencies {
            classpath "org.grails:grails-gradle-plugin:2.0.0-SNAPSHOT"
        }
}
repositories {
    mavenCentral()
    maven { url 'http://repo.grails.org/grails/repo'  }
}
version = "1.0"
apply plugin: "grails"
apply plugin: 'idea'
grails {
  grailsVersion = "2.3.2"
}
dependencies {
    ['dependencies', 'core', 'spring', 'web', 'plugin-datasource', 'plugin-domain-class', 'plugin-controllers', 'plugin-services'].each { plugin ->
        compile "org.grails:grails-$plugin:2.3.2"
    }
    compile 'org.grails.plugins:tomcat:7.0.42'
    compile 'org.grails.plugins:hibernate:3.6.10.3'
    compile 'com.h2database:h2:1.3.173'
    bootstrap "org.codehaus.groovy:groovy-all:2.1.9"
}

Примечание, выдает исключение при генерации оболочки Grails, но gradle init похоже, правильно инициализирует структуру проекта. А также, gradle grails-run-app Кажется, тоже работает нормально.

Другие вопросы по тегам