/* Ċ Ġ* Ġ@ copyright @ Ċ Ġ*/ Ċ Ċ import Ġz ak ad ab ar . gradle . is Publishing Ċ import Ġz ak ad ab ar . gradle . manifest And D ok ka Ċ import Ġz ak ad ab ar . gradle . config Ċ import Ġjava . util .* Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġkotlin (" multi platform ") Ġversion Ġ" 1 . 5 . 3 0 " ĊĠĠĠ Ġkotlin (" plugin . serialization ") Ġversion Ġ" 1 . 5 . 3 0 " ĊĠĠĠ Ġid (" org . jetbrains . kotlin . plugin . no arg ") Ġversion Ġ" 1 . 5 . 3 0 " ĊĊĠĠĠ Ġid (" org . jetbrains . dok ka ") Ġversion Ġ" 1 . 4 . 3 2 " ĊĊĠĠĠ Ġid (" com . github . john ren gel man . shadow ") Ġversion Ġ" 7 . 0 . 0 " ĊĠĠĠ Ġapplication ĊĊĠĠĠ Ġid (" com . pal ant ir . docker ") Ġversion Ġ" 0 . 2 5 . 0 " ĊĊĠĠĠ Ġsigning ĊĠĠĠ Ġ` maven - publish ` ĊĊĠĠĠ Ġid (" zk - build - tasks ") Ġapply Ġfalse Ċ } Ċ Ċ // Ġ---- ĠZ K - CUSTOM IZE - START Ġ------------------------------------------------ ----- Ċ Ċ // ĠĠĠ ĠâĨ ĵ ĠâĨ ĵ ĠâĨ ĵ ĠâĨ ĵ ĠĠ ĠREAD ĠCOMMENT S Ġ ĠâĨ ĵ ĠâĨ ĵ ĠâĨ ĵ ĠâĨ ĵ Ċ Ċ // Ġ----------------------------------------------------------------------------- Ċ // ĠYou Ġdon 't Ġhave Ġto Ġmodify Ġanything Ġabove Ġthis Ċ // Ġ----------------------------------------------------------------------------- Ċ Ċ group Ġ= Ġ" my . application . group " Ċ version Ġ= Ġ" 2 0 2 1 . 9 . 2 8 " Ċ Ċ tasks . register < z ak ad ab ar . gradle . Custom ize Task >(" zk Custom ize ") Ġ{ ĊĊĠĠĠ ĠpackageName Ġ= Ġ" my . pkg . name " Ġ// Ġthe Ġpackage Ġyour Ġcode Ġres ides Ġin ĊĊĠĠĠ Ġproject Path Ġ= Ġ"" Ġ// Ġ" sp xb hu hb / z ak ad ab ar - application - template " ĊĠĠĠ Ġproject Url Ġ= Ġ"" Ġ// Ġ" https :// github . com /$ project Path " ĊĊĠĠĠ Ġlicense Ġ= Ġ"" Ġ// Ġ" Apache Ġ 2 . 0 " ĊĠĠĠ Ġlicense Url Ġ= Ġ"" Ġ// Ġ" https :// www . apache . org / licenses / LICENSE - 2 . 0 . txt " ĊĊĠĠĠ Ġorganization Name Ġ= Ġ"" Ġ// Ġ" Simp lex ion ĠK ft ." ĊĊĠĠĠ Ġcopyright Ġ= Ġ" Copyright ĠÂ© Ġ 2 0 2 0 - 2 0 2 1 , ĠSimp lex ion , ĠH ung ary Ġand Ġcontributors . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense ." ĊĊĠĠĠ Ġ// Ġthe Ġtitle Ġof Ġyour Ġapplication , Ġthis Ġis Ġthe Ġtitle Ġof Ġthe Ġweb Ġp ace ĊĠĠĠ Ġ// Ġalso , Ġif Ġyou Ġpublish Ġto Ġmaven Ġthis Ġis Ġthe Ġdescription Ġof Ġyour Ġpackage ĊĊĠĠĠ Ġapplication Title Ġ= Ġ" My ĠApplication " ĊĊĠĠĠ Ġdefault Locale Ġ= Ġ" en " ĊĊĠĠĠ Ġsql Driver Ġ= Ġ" org . h 2 . Driver " ĊĠĠĠ Ġsql Database Ġ= Ġproject . name ĊĠĠĠ Ġsql Url Ġ= Ġ" jdbc : h 2 : ./ app / var /$ sql Database " ĊĠĠĠ Ġsql User Ġ= Ġ" local " ĊĠĠĠ Ġsql Password Ġ= ĠUUID . randomUUID (). toString () ĊĊĠĠĠ Ġdocker Image Name Ġ= Ġproject . name ĊĊĠĠĠ Ġdocker Sql Driver Ġ= Ġ" org . postgresql . Driver " ĊĠĠĠ Ġdocker Sql Database Ġ= Ġproject . name ĊĠĠĠ Ġdocker Sql Url Ġ= Ġ" jdbc : postgresql :// localhost /$ sql Database " ĊĠĠĠ Ġdocker Sql User Ġ= Ġ" postgres " ĊĠĠĠ Ġdocker Sql Password Ġ= Ġsql Password Ċ Ċ } Ċ Ċ // Ġ----------------------------------------------------------------------------- Ċ // ĠYou Ġdon 't Ġhave Ġto Ġmodify Ġanything Ġbelow Ġthis Ċ // Ġ----------------------------------------------------------------------------- Ċ Ċ // Ġ---- ĠZ K - CUSTOM IZE - END Ġ------------------------------------------------ ------- Ċ Ċ val Ġis Snapshot Ġ= Ġversion . toString (). contains (" SNAPSHOT ") Ċ Ċ val Ġstack Version Ġby Ġextra Ġ{ Ġ" 2 0 2 1 . 9 . 1 5 " Ġ} Ċ val Ġdatetime Version Ġ= Ġ" 0 . 2 . 1 " Ċ Ċ // Ġin ĠTeam City Ġwe Ġcan Ġuse Ġthe Ġbuild Ġnumber Ġto Ġfind Ġthe Ġgenerated Ġdocker Ġimage Ċ println (" ## team city [ build Number Ġ'${ project . version }'] ") Ċ Ċ repositories Ġ{ ĊĠĠĠ Ġmaven Central () ĊĠĠĠ Ġif Ġ( stack Version . contains (" SNAPSHOT ")) Ġ{ ĊĠĠĠĠĠĠĠ Ġmaven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġproject . uri (" https :// s 0 1 . oss . son atype . org / content / repositories / snapshots /") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġmaven Local () ĊĠĠĠ Ġ} Ċ } Ċ Ċ application Ġ{ ĊĠĠĠ Ġmain Class . set (" z ak ad ab ar . core . server . Server Kt ") Ċ } Ċ Ċ no Arg Ġ{ ĊĠĠĠ Ġannotation (" kotlin x . serialization . Serializable ") Ċ } Ċ Ċ kotlin Ġ{ ĊĊĠĠĠ Ġj vm Ġ{ ĊĠĠĠĠĠĠĠ Ġwith Java () ĊĠĠĠĠĠĠĠ Ġcompil ations . all Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin Options . jvm Target Ġ= Ġ" 1 . 8 " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġjs Ġ{ ĊĠĠĠĠĠĠĠ Ġbrowser () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsource Sets [" common Main "]. dependencies Ġ{ ĊĠĠĠĠĠĠĠ Ġimplementation (" hu . simp lex ion . z ak ad ab ar : core :$ stack Version ") ĊĠĠĠĠĠĠĠ Ġimplementation (" hu . simp lex ion . z ak ad ab ar : accounts :$ stack Version ") ĊĠĠĠĠĠĠĠ Ġimplementation (" hu . simp lex ion . z ak ad ab ar : blobs :$ stack Version ") ĊĠĠĠĠĠĠĠ Ġimplementation (" hu . simp lex ion . z ak ad ab ar : i 1 8 n :$ stack Version ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsource Sets [" jvm Main "]. dependencies Ġ{ ĊĠĠĠĠĠĠĠ Ġimplementation (" com . h 2 database : h 2 : 1 . 4 . 2 0 0 ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ // Ġ----------------------------------------------------------------------------- Ċ // ĠBuilt Ġa Ġfat ĠJ AR Ġand Ġserver Ġdistribution Ġpackage Ċ // Ġ----------------------------------------------------------------------------- Ċ Ċ tasks . named < com . github . jen gel man . gradle . plugins . shadow . tasks . Shadow Jar >(" shadow Jar ") Ġ{ ĊĠĠĠ Ġ// Ġseems Ġlike Ġthis Ġdoes Ġnot Ġwork Ġ- Ġminimize () Ċ } Ċ Ċ apply ( plugin Ġ= Ġ" zk - build - tasks ") Ċ Ċ // Ġ----------------------------------------------------------------------------- Ċ // ĠBuild Ġa Ġdocker Ġimage Ċ // Ġ----------------------------------------------------------------------------- Ċ Ċ docker Ġ{ ĊĊĠĠĠ Ġdepends On ( tasks [" zk Build "], Ġtasks [" zk Docker Prepare "], Ġtasks [" zk Docker Copy "]) ĊĊĠĠĠ Ġname Ġ= Ġ"${ project . name }:${ project . version }" ĊĊĠĠĠ Ġpull ( true ) ĊĠĠĠ Ġset Dockerfile ( file (" Dockerfile ")) ĊĊĠĠĠ Ġbuild Args ( map Of ( ĊĠĠĠĠĠĠĠ Ġ" BUILD _ NUMBER " Ġto ĠDate (). toString (), ĊĠĠĠĠĠĠĠ Ġ" STACK _ VERSION " Ġto Ġstack Version ĊĠĠĠ Ġ)) ĊĊ Ċ } Ċ Ċ // Ġ----------------------------------------------------------------------------- Ċ // ĠPublish Ġartifacts Ġto Ġa ĠMaven Ġrepository Ċ // Ġ----------------------------------------------------------------------------- Ċ Ċ if Ġ( project . is Publishing ) Ġ{ ĊĊĠĠĠ Ġmanifest And D ok ka ( tasks ) ĊĊĠĠĠ Ġsigning Ġ{ Ġconfig ( publishing . publications ) Ġ} ĊĊĠĠĠ Ġpublishing Ġ{ ĊĠĠĠĠĠĠĠ Ġconfig ( project ) ĊĊĠĠĠĠĠĠĠ Ġpublications . with Type < Maven Publication >(). all Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfig ( tasks [" javadoc Jar "], Ġ"@ application Title @ ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }