Exemplo de build.gradle:
buildscript {
ext {
springBootVersion = "1.3.0.BUILD-SNAPSHOT"
springLoadedVersion = "1.2.0.RELEASE"
queryDSLVersion = "3.6.3"
hsqldbVersion = "2.3.2"
}
repositories {
mavenLocal()
mavenCentral()
maven { url "http://repo.spring.io/release" }
maven { url "http://repo.spring.io/milestone" }
maven { url "http://repo.spring.io/snapshot" }
maven { url "https://plugins.gradle.org/m2/" }
}
dependencies {
classpath "org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}"
}
}
apply plugin: "java"
apply plugin: "spring-boot"
sourceCompatibility = 1.8
repositories {
mavenCentral()
maven { url "http://repo.spring.io/snapshot" }
}
sourceSets {
generated {
java {
srcDirs = ["src/main/generated"]
}
}
}
configurations {
querydslapt
}
dependencies {
compile "org.springframework.boot:spring-boot-starter-data-jpa"
compile "org.springframework.boot:spring-boot-starter-web"
compile "com.mysema.querydsl:querydsl-jpa:${queryDSLVersion}"
querydslapt "com.mysema.querydsl:querydsl-apt:${queryDSLVersion}"
runtime "org.hsqldb:hsqldb:${hsqldbVersion}"
}
task generateQueryDSL(type: JavaCompile, group: "build", description: "Gera o codigo das classes do QueryDSL") {
source = sourceSets.main.java
classpath = configurations.compile + configurations.querydslapt
options.compilerArgs = [
"-proc:only",
"-processor", "com.mysema.query.apt.jpa.JPAAnnotationProcessor"
]
destinationDir = sourceSets.generated.java.srcDirs.iterator().next()
}
compileJava {
dependsOn generateQueryDSL
source generateQueryDSL.destinationDir
}
compileGeneratedJava {
dependsOn generateQueryDSL
classpath += sourceSets.main.runtimeClasspath
}
clean {
delete sourceSets.generated.java.srcDirs
}
Por natureza o Gradle segue um sintaxe enxuta para o build. O Spring Boot atua como um wrapper para as dependências de Web e persistência. Precisamos indicar ao Gradle para carregar o driver HSQLDB em memória. O volume maior de configurações é por conta da task (generatedQueryDSL) para geração de código das entidades QueryDSL e das configurações de plugin. Compartilhei no Github esse arquivo build.gradle, junto com o projeto demonstração.
Para fazer o build e executar o projeto use a instrução:
$ gradle bootRun
@edermag
No comments:
Post a Comment