Как мне сгенерировать QClass в весенней загрузке kotlin? - PullRequest
0 голосов
/ 17 мая 2019

Я хочу использовать querydsl в среде весенней загрузки kotlin.Но я не знаю, как настроить kotlin gradle.

Существует много информации о том, как настроить groovy dsl, но настройка kotlin dsl не детализирована.

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    kotlin("plugin.jpa") version "1.2.71"
    id("org.springframework.boot") version "2.1.5.RELEASE"
    id("io.spring.dependency-management") version "0.6.0.RELEASE"
    kotlin("jvm") version "1.2.71"
    kotlin("plugin.spring") version "1.2.71"

//    kotlin("kapt") version "1.3.31"
}


group = "com.example"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_1_8

repositories {
    mavenCentral()
    maven { url = uri("https://plugins.gradle.org/m2/") }
}

dependencies {
    implementation("org.springframework.boot:spring-boot-starter-data-jpa")
    implementation("org.springframework.boot:spring-boot-starter-jdbc")
    implementation("org.springframework.boot:spring-boot-starter-web")
    implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
    implementation("org.jetbrains.kotlin:kotlin-reflect")
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
    runtimeOnly("mysql:mysql-connector-java")
    testImplementation("org.springframework.boot:spring-boot-starter-test")
    compile("com.querydsl", "querydsl-jpa", "3.6.3")
    kapt("com.mysema.querydslquerydsl-apt:3.6.3:jpa") 
}


group = "com.acme"
tasks.withType<KotlinCompile> {
    kotlinOptions {
        freeCompilerArgs = listOf("-Xjsr305=strict")
        jvmTarget = "1.8"
    }
}



1 Ответ

0 голосов
/ 17 мая 2019

В этом репозитории github есть пример создания сущностей QueryDSL из источников kotlin в проекте с Spring Boot.

Это не тривиально, потому что по умолчанию querydsl генерирует классы из исходного кода и анализирует Java, а не Kotlin. Все же возможно

...