/* Ċ Ġ* ĠLicensed Ġto Ġthe ĠApache ĠSoftware ĠFoundation Ġ( ASF ) Ġunder Ġone Ċ Ġ* Ġor Ġmore Ġcontributor Ġlicense Ġagreements . Ġ ĠSee Ġthe ĠNOTICE Ġfile Ċ Ġ* Ġdistributed Ġwith Ġthis Ġwork Ġfor Ġadditional Ġinformation Ċ Ġ* Ġregarding Ġcopyright Ġownership . Ġ ĠThe ĠASF Ġlicenses Ġthis Ġfile Ċ Ġ* Ġto Ġyou Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ċ Ġ* Ġ" License "); Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ċ Ġ* Ġwith Ġthe ĠLicense . Ġ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ċ Ġ* Ġsoftware Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ċ Ġ* Ġ" AS ĠIS " ĠBASIS , ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY Ċ Ġ* ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ġ ĠSee Ġthe ĠLicense Ġfor Ġthe Ċ Ġ* Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ġlimitations Ċ Ġ* Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġio . github . div ines pear . plugin Ċ Ċ import Ġorg . gradle . api . Plugin Ċ import Ġorg . gradle . api . Project Ċ import Ġorg . gradle . api . plugins . Java Library Plugin Ċ import Ġorg . gradle . kotlin . dsl . create Ċ import Ġorg . gradle . kotlin . dsl . dependencies Ċ import Ġorg . gradle . kotlin . dsl . invoke Ċ import Ġorg . gradle . kotlin . dsl . register Ċ Ċ class ĠJ pa Schema Generation Plugin Ġ: ĠPlugin < Project > Ġ{ ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġprivate Ġconst Ġval ĠSPR ING _ VERSION Ġ= Ġ"[ 5 . 0 , 6 . 0 )" ĊĠĠĠ Ġprivate Ġval ĠSPR ING _ DEPEND ENCI ES Ġ= ĠlistOf ( ĊĠĠĠĠĠ Ġ" org . springframework : spring - orm :${ SPR ING _ VERSION }", ĊĠĠĠĠĠ Ġ" org . springframework : spring - context :${ SPR ING _ VERSION }", ĊĠĠĠĠĠ Ġ" org . springframework : spring - aspect s :${ SPR ING _ VERSION }" ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġapply ( project : ĠProject ) Ġ{ ĊĠĠĠ Ġproject . run Ġ{ ĊĠĠĠĠĠ Ġplugins . apply ( Java Library Plugin :: class . java ) ĊĊĠĠĠĠĠ Ġconfigurations Ġ{ ĊĠĠĠĠĠĠĠ Ġregister ( CONFIGURATION _ NAME ) ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠ ĠSPR ING _ DEPEND ENCI ES . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠ ĠCONFIG URATION _ NAME ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġextensions . create < Jpa Schema Generation Extension >( EXTENSION _ NAME ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġdefault Output Directory Ġ= Ġproject . build Dir . resolve (" generated - schema ") ĊĠĠĠĠĠĠĠ Ġtargets Ġ= Ġproject . container ( Jpa Schema Generation Properties :: class . java ) ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġtasks Ġ{ ĊĠĠĠĠĠĠĠ Ġregister ( PLUGIN _ NAME , ĠJ pa Schema Generation Task :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġgroup Ġ= Ġ" help " ĊĠĠĠĠĠĠĠĠĠ Ġdepends On ( project . tasks . getBy Path (" classes ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ