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