Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Apply hibernate-gradle-plugin using plugins dsl syntax?

I want to use org.hibernate:hibernate-gradle-plugin in my project with plugins dsl style. This is my build.gradle.kts plugin section:

plugins {
    kotlin("jvm") version "1.3.31"
    id("io.spring.dependency-management") version "1.0.6.RELEASE"
    id("org.springframework.boot") version "2.1.5.RELEASE"
    id("org.jetbrains.kotlin.plugin.spring") version "1.3.31"
    id("org.jetbrains.kotlin.plugin.jpa") version "1.3.31"
}

Does anybody knows how to do this?

All of the documentation and posts are using the legacy plugin application. Like this: How to setup Hibernate Gradle plugin for bytecode enhancement?

like image 726
eszik.k Avatar asked Jun 04 '19 10:06

eszik.k


2 Answers

It looks like they haven't registered this plugin in the Gradle Plugins Repository which rules out using the newer DSL without using a custom plugin resolution strategy.

For your case in build.gradle.kts

plugins {
    id("org.hibernate.orm") version "5.4.3.Final"
}

And in settings.gradle.kts

pluginManagement {
    resolutionStrategy {
        eachPlugin { 
            if (requested.id.id == "org.hibernate.orm") { 
                useModule("org.hibernate:hibernate-gradle-plugin:${requested.version}") 
            } 
        } 
    }
}
like image 150
MarkRobbo Avatar answered Sep 28 '22 00:09

MarkRobbo


In addition to the perfectly working solution of @MarkRobbo you can use the following snippet to configure the options of the hibernate-gradle-plugin in build.gradle.kts

tasks.withType<org.hibernate.orm.tooling.gradle.EnhanceTask>().configureEach {
     options.enableLazyInitialization = true
}
like image 20
Bernhard Kern Avatar answered Sep 27 '22 23:09

Bernhard Kern