import Ġcom . jfrog . bin tray . gradle . Bin tray Extension Ċ import Ġcom . jfrog . bin tray . gradle . tasks . Bin tray Upload Task Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . Kotlin Source Set Ċ import Ġorg . jetbrains . kotlin . gradle . tasks . Kotlin Compile Ċ Ċ description Ġ= Ġ" A ĠGradle Ġcustom Ġtask Ġfor Ġvalidating Ġa ĠJSON Ġdocument Ġusing ĠJSON ĠSchema ." Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġ` maven - publish ` ĊĠĠĠ Ġkotlin (" jvm ") Ġversion Ġ" 1 . 3 . 3 1 " ĊĠĠĠ Ġid (" com . github . ben - man es . versions ") Ġversion Ġ(" 0 . 2 1 . 0 ") ĊĠĠĠ Ġid (" com . jfrog . bin tray ") Ġversion Ġ(" 1 . 8 . 4 ") ĊĠĠĠ Ġid (" net . research gate . release ") Ġversion Ġ(" 2 . 8 . 0 ") Ċ } Ċ Ċ repositories Ġ{ ĊĠĠĠ Ġj center () ĊĠĠĠ Ġmaven Central () ĊĠĠĠ Ġmaven ( url Ġ= Ġ" https :// jit pack . io ") Ċ } Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation ( gradle Api ()) ĊĠĠĠ Ġimplementation ( kotlin (" stdlib - jdk 8 ")) ĊĠĠĠ Ġapi (" com . fasterxml . jackson . datatype : jackson - datatype - json - org : 2 . 9 . 9 ") ĊĠĠĠ Ġapi (" com . github . ever it - org . json - schema : org . ever it . json . schema : 1 . 1 1 . 1 ") Ċ } Ċ Ċ tasks . with Type < Kotlin Compile > Ġ{ ĊĠĠĠ Ġkotlin Options . jvm Target Ġ= Ġ" 1 . 8 " Ċ } Ċ Ċ val ĠSource Set . kotlin : ĠSource Directory Set ĊĠĠĠ Ġget () Ġ= Ġwith Convention ( Kotlin Source Set :: class ) Ġ{ Ġkotlin Ġ} Ċ Ċ fun ĠB intr ay Extension . pkg ( configure : ĠB intr ay Extension . Package Config . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġpkg ( delegate Closure Of ( configure )) Ċ } Ċ Ċ val Ġsources Jar Ġby Ġtasks . register ing ( Jar :: class ) Ġ{ ĊĠĠĠ Ġgroup Ġ= ĠLifecycle Base Plugin . BUILD _ GROUP ĊĠĠĠ Ġdescription Ġ= Ġ" As semb les Ġa Ġjar Ġarchive Ġcontaining Ġthe Ġmain Ġclasses Ġwith Ġsources ." ĊĠĠĠ Ġarchive Classifier . set (" sources ") ĊĠĠĠ Ġfrom ( source Sets [" main "]. all Source ) Ċ } Ċ Ċ publishing Ġ{ ĊĠĠĠ Ġpublications Ġ{ ĊĠĠĠĠĠĠĠ Ġregister (" maven Java ", ĠMaven Publication :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( components [" java "]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ( sources Jar . get ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ val Ġbin tray User : ĠString ? Ġby Ġproject Ċ val Ġbin tray Key : ĠString ? Ġby Ġproject Ċ Ċ bin tray Ġ{ ĊĠĠĠ Ġuser Ġ= Ġbin tray User ĊĠĠĠ Ġkey Ġ= Ġbin tray Key ĊĠĠĠ Ġset Public ations (" maven Java ") ĊĊĠĠĠ Ġpkg Ġ{ ĊĠĠĠĠĠĠĠ Ġrepo Ġ= Ġ" maven " ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġproject . name ĊĠĠĠĠĠĠĠ Ġdesc Ġ= Ġproject . description ĊĠĠĠĠĠĠĠ Ġwebsite Url Ġ= Ġ" https :// github . com / m ichael bull / gradle - json - schema " ĊĠĠĠĠĠĠĠ Ġissue Tracker Url Ġ= Ġ" https :// github . com / m ichael bull / gradle - json - schema / issues " ĊĠĠĠĠĠĠĠ Ġv cs Url Ġ= Ġ" git @ github . com : m ichael bull / gradle - json - schema . git " ĊĠĠĠĠĠĠĠ Ġgithub Repo Ġ= Ġ" m ichael bull / gradle - json - schema " ĊĠĠĠĠĠĠĠ Ġset License s (" ISC ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ val Ġbin tray Upload Ġby Ġtasks . existing ( Bin tray Upload Task :: class ) Ġ{ ĊĠĠĠ Ġdepends On (" build ") ĊĠĠĠ Ġdepends On (" generate P om File For Maven Java Publication ") ĊĠĠĠ Ġdepends On ( sources Jar ) Ċ } Ċ Ċ tasks . named (" after Release Build ") Ġ{ ĊĠĠĠ Ġdepends On ( bin tray Upload ) Ċ } Ċ